diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index 41fb6a467b0f..e7768ce69993 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -9382,14 +9382,30 @@ ir.cpp: # 1054| getRightOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 1054| Type = [IntType] int # 1054| ValueCategory = prvalue(load) +# 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) +# 1059| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const vector & # 1059| [CopyAssignmentOperator] vector& vector::operator=(vector const&) # 1059| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const vector & -# 1059| [MoveAssignmentOperator] vector& vector::operator=(vector&&) +# 1059| [CopyConstructor] void vector::vector(vector const&) # 1059| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] vector && +#-----| Type = [LValueReferenceType] const vector & +# 1059| [CopyConstructor] void vector::vector(vector const&) +# 1059| : +#-----| 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) @@ -9398,14 +9414,22 @@ ir.cpp: # 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| : +# 1063| [ConstMemberFunction] ClassWithDestructor& 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 @@ -9414,1208 +9438,1186 @@ ir.cpp: # 1065| : # 1065| getParameter(0): [Parameter] right # 1065| Type = [NestedStruct] iterator -# 1068| [ConstMemberFunction] vector::iterator vector::begin() const +# 1068| [Constructor] void vector::vector(ClassWithDestructor) # 1068| : -# 1068| [ConstMemberFunction] vector::iterator vector::begin() const +# 1068| getParameter(0): [Parameter] (unnamed parameter 0) +# 1068| Type = [Class] ClassWithDestructor +# 1068| [Constructor] void vector::vector(T) # 1068| : -# 1069| [ConstMemberFunction] vector::iterator vector::end() const -# 1069| : -# 1069| [ConstMemberFunction] vector::iterator vector::end() const +# 1068| getParameter(0): [Parameter] (unnamed parameter 0) +# 1068| Type = [TemplateParameter] T +# 1069| [Destructor] void vector::~vector() # 1069| : -# 1073| [Operator,TemplateFunction,TopLevelFunction] bool operator==(iterator, iterator) -# 1073| : -# 1073| getParameter(0): [Parameter] left -# 1073| Type = [TemplateParameter] iterator -# 1073| getParameter(1): [Parameter] right -# 1073| Type = [TemplateParameter] iterator -# 1075| [Operator,TemplateFunction,TopLevelFunction] bool operator!=(iterator, iterator) +# 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| : +# 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| [TopLevelFunction] void RangeBasedFor(vector const&) +# 1077| [Operator,TemplateFunction,TopLevelFunction] bool operator!=(iterator, iterator) # 1077| : -# 1077| getParameter(0): [Parameter] v -# 1077| Type = [LValueReferenceType] const vector & -# 1077| getEntryPoint(): [BlockStmt] { ... } -# 1078| getStmt(0): [RangeBasedForStmt] for(...:...) ... -# 1078| getChild(0): [DeclStmt] declaration -# 1078| getBeginEndDeclaration(): [DeclStmt] declaration -# 1078| getCondition(): [FunctionCall] call to operator!= -# 1078| Type = [BoolType] bool -# 1078| ValueCategory = prvalue -# 1078| getQualifier(): [VariableAccess] (__begin) -# 1078| Type = [NestedStruct] iterator -# 1078| ValueCategory = lvalue -# 1078| getArgument(0): [VariableAccess] (__end) -# 1078| Type = [NestedStruct] iterator -# 1078| ValueCategory = prvalue(load) +# 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(0): [DeclStmt] declaration +# 1080| getBeginEndDeclaration(): [DeclStmt] declaration +# 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 -# 1078| getUpdate(): [FunctionCall] call to operator++ -# 1078| Type = [LValueReferenceType] iterator & -# 1078| ValueCategory = prvalue -# 1078| getQualifier(): [VariableAccess] (__begin) -# 1078| Type = [NestedStruct] iterator -# 1078| ValueCategory = lvalue -# 1078| getChild(4): [DeclStmt] declaration -# 1078| getStmt(): [BlockStmt] { ... } -# 1079| getStmt(0): [IfStmt] if (...) ... -# 1079| getCondition(): [GTExpr] ... > ... -# 1079| Type = [BoolType] bool -# 1079| ValueCategory = prvalue -# 1079| getGreaterOperand(): [VariableAccess] e -# 1079| Type = [IntType] int -# 1079| ValueCategory = prvalue(load) -# 1079| getLesserOperand(): [Literal] 0 -# 1079| Type = [IntType] int -# 1079| Value = [Literal] 0 -# 1079| ValueCategory = prvalue -# 1079| getThen(): [BlockStmt] { ... } -# 1080| getStmt(0): [ContinueStmt] continue; -# 1078| getStmt(1): [LabelStmt] label ...: -# 1078| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1078| Type = [NestedStruct] iterator -# 1078| ValueCategory = lvalue -# 1084| getStmt(1): [RangeBasedForStmt] for(...:...) ... -# 1084| getChild(0): [DeclStmt] declaration -# 1084| getBeginEndDeclaration(): [DeclStmt] declaration -# 1084| getCondition(): [FunctionCall] call to operator!= -# 1084| Type = [BoolType] bool -# 1084| ValueCategory = prvalue -# 1084| getQualifier(): [VariableAccess] (__begin) -# 1084| Type = [NestedStruct] iterator -# 1084| ValueCategory = lvalue -# 1084| getArgument(0): [VariableAccess] (__end) -# 1084| Type = [NestedStruct] iterator -# 1084| ValueCategory = prvalue(load) +# 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(4): [DeclStmt] declaration +# 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(0): [DeclStmt] declaration +# 1086| getBeginEndDeclaration(): [DeclStmt] declaration +# 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 -# 1084| getUpdate(): [FunctionCall] call to operator++ -# 1084| Type = [LValueReferenceType] iterator & -# 1084| ValueCategory = prvalue -# 1084| getQualifier(): [VariableAccess] (__begin) -# 1084| Type = [NestedStruct] iterator -# 1084| ValueCategory = lvalue -# 1084| getChild(4): [DeclStmt] declaration -# 1084| getStmt(): [BlockStmt] { ... } -# 1085| getStmt(0): [IfStmt] if (...) ... -# 1085| getCondition(): [LTExpr] ... < ... -# 1085| Type = [BoolType] bool -# 1085| ValueCategory = prvalue -# 1085| getLesserOperand(): [VariableAccess] e -# 1085| Type = [LValueReferenceType] const int & -# 1085| ValueCategory = prvalue(load) -# 1085| getGreaterOperand(): [Literal] 5 -# 1085| Type = [IntType] int -# 1085| Value = [Literal] 5 -# 1085| ValueCategory = prvalue -# 1085| getLesserOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1085| Type = [IntType] int -# 1085| ValueCategory = prvalue(load) -# 1085| getThen(): [BlockStmt] { ... } -# 1086| getStmt(0): [BreakStmt] break; -# 1084| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1084| Type = [NestedStruct] iterator -# 1084| ValueCategory = lvalue -# 1088| getStmt(2): [LabelStmt] label ...: -# 1089| getStmt(3): [ReturnStmt] return ... -# 1108| [TopLevelFunction] int AsmStmt(int) -# 1108| : -# 1108| getParameter(0): [Parameter] x -# 1108| Type = [IntType] int -# 1108| getEntryPoint(): [BlockStmt] { ... } -# 1109| getStmt(0): [AsmStmt] asm statement -# 1110| getStmt(1): [ReturnStmt] return ... -# 1110| getExpr(): [VariableAccess] x -# 1110| Type = [IntType] int -# 1110| ValueCategory = prvalue(load) -# 1113| [TopLevelFunction] void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1113| : -# 1113| getParameter(0): [Parameter] a -# 1113| Type = [LValueReferenceType] unsigned int & -# 1113| getParameter(1): [Parameter] b -# 1113| Type = [IntType] unsigned int -# 1113| getParameter(2): [Parameter] c -# 1113| Type = [LValueReferenceType] unsigned int & -# 1113| getParameter(3): [Parameter] d -# 1113| Type = [IntType] unsigned int -# 1114| getEntryPoint(): [BlockStmt] { ... } -# 1115| getStmt(0): [AsmStmt] asm statement -# 1118| getChild(0): [VariableAccess] a -# 1118| Type = [LValueReferenceType] unsigned int & -# 1118| ValueCategory = prvalue(load) -# 1118| getChild(1): [VariableAccess] b -# 1118| Type = [IntType] unsigned int -# 1118| ValueCategory = lvalue -# 1118| getChild(2): [VariableAccess] c -# 1118| Type = [LValueReferenceType] unsigned int & -# 1118| ValueCategory = prvalue(load) -# 1118| getChild(3): [VariableAccess] d -# 1118| Type = [IntType] unsigned int -# 1118| ValueCategory = prvalue(load) -# 1118| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1118| Type = [IntType] unsigned int -# 1118| ValueCategory = lvalue -# 1118| getChild(2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1118| Type = [IntType] unsigned int -# 1118| ValueCategory = prvalue(load) -# 1120| getStmt(1): [ReturnStmt] return ... -# 1122| [TopLevelFunction] void ExternDeclarations() -# 1122| : -# 1123| getEntryPoint(): [BlockStmt] { ... } -# 1124| getStmt(0): [DeclStmt] declaration -# 1124| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1124| Type = [IntType] int -# 1125| getStmt(1): [DeclStmt] declaration -# 1125| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1125| Type = [IntType] int -# 1126| getStmt(2): [DeclStmt] declaration -# 1126| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 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(4): [DeclStmt] declaration +# 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) +# 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) +# 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 -# 1126| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of f -# 1126| Type = [IntType] int -# 1127| getStmt(3): [DeclStmt] declaration -# 1127| getDeclarationEntry(0): [FunctionDeclarationEntry] declaration of z -# 1127| Type = [IntType] int -# 1127| getDeclarationEntry(1): [FunctionDeclarationEntry] declaration of w +# 1127| getStmt(1): [DeclStmt] declaration +# 1127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x # 1127| Type = [IntType] int -# 1127| getDeclarationEntry(2): [VariableDeclarationEntry] definition of h -# 1127| Type = [IntType] int -# 1128| getStmt(4): [DeclStmt] declaration -# 1128| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of d -# 1128| Type = [CTypedefType,LocalTypedefType] d -# 1129| getStmt(5): [ReturnStmt] return ... -# 1126| [TopLevelFunction] int f(float) -# 1126| : -# 1126| getParameter(0): [Parameter] (unnamed parameter 0) -# 1126| Type = [FloatType] float -# 1127| [TopLevelFunction] int z(float) -# 1127| : -# 1127| getParameter(0): [Parameter] (unnamed parameter 0) -# 1127| Type = [FloatType] float -# 1127| [TopLevelFunction] int w(float) -# 1127| : -# 1127| getParameter(0): [Parameter] (unnamed parameter 0) -# 1127| Type = [FloatType] float -# 1137| [TopLevelFunction] void ExternDeclarationsInMacro() -# 1137| : -# 1138| getEntryPoint(): [BlockStmt] { ... } -# 1139| getStmt(0): [DeclStmt] declaration -# 1139| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1139| Type = [IntType] int -# 1139| getStmt(1): [ForStmt] for(...;...;...) ... -# 1139| getInitialization(): [DeclStmt] declaration -# 1139| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1139| Type = [IntType] int -# 1139| getVariable().getInitializer(): [Initializer] initializer for i -# 1139| getExpr(): [Literal] 0 -# 1139| Type = [IntType] int -# 1139| Value = [Literal] 0 -# 1139| ValueCategory = prvalue -# 1139| getCondition(): [LTExpr] ... < ... -# 1139| Type = [BoolType] bool -# 1139| ValueCategory = prvalue -# 1139| getLesserOperand(): [VariableAccess] i -# 1139| Type = [IntType] int -# 1139| ValueCategory = prvalue(load) -# 1139| getGreaterOperand(): [Literal] 10 -# 1139| Type = [IntType] int -# 1139| Value = [Literal] 10 -# 1139| ValueCategory = prvalue -# 1139| getUpdate(): [PrefixIncrExpr] ++ ... -# 1139| Type = [IntType] int -# 1139| ValueCategory = lvalue -# 1139| getOperand(): [VariableAccess] i -# 1139| Type = [IntType] int -# 1139| ValueCategory = lvalue -# 1139| getStmt(): [BlockStmt] { ... } -# 1139| getStmt(0): [DeclStmt] declaration -# 1139| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g -# 1139| Type = [IntType] int -# 1139| getStmt(2): [EmptyStmt] ; -# 1140| getStmt(3): [ReturnStmt] return ... -# 1142| [TopLevelFunction] void TryCatchNoCatchAny(bool) -# 1142| : -# 1142| getParameter(0): [Parameter] b -# 1142| Type = [BoolType] bool -# 1142| getEntryPoint(): [BlockStmt] { ... } -# 1143| getStmt(0): [TryStmt] try { ... } -# 1143| getStmt(): [BlockStmt] { ... } -# 1144| getStmt(0): [DeclStmt] declaration -# 1144| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1144| Type = [IntType] int -# 1144| getVariable().getInitializer(): [Initializer] initializer for x -# 1144| getExpr(): [Literal] 5 -# 1144| Type = [IntType] int -# 1144| Value = [Literal] 5 -# 1144| ValueCategory = prvalue -# 1145| getStmt(1): [IfStmt] if (...) ... -# 1145| getCondition(): [VariableAccess] b -# 1145| Type = [BoolType] bool -# 1145| ValueCategory = prvalue(load) -# 1145| getThen(): [BlockStmt] { ... } -# 1146| getStmt(0): [ExprStmt] ExprStmt -# 1146| getExpr(): [ThrowExpr] throw ... -# 1146| Type = [PointerType] const char * +# 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 -# 1146| getExpr(): string literal -# 1146| Type = [ArrayType] const char[15] -# 1146| Value = [StringLiteral] "string literal" -# 1146| ValueCategory = lvalue -# 1146| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1146| Type = [PointerType] const char * -# 1146| ValueCategory = prvalue -# 1148| getElse(): [IfStmt] if (...) ... -# 1148| getCondition(): [LTExpr] ... < ... -# 1148| Type = [BoolType] bool -# 1148| ValueCategory = prvalue -# 1148| getLesserOperand(): [VariableAccess] x -# 1148| Type = [IntType] int -# 1148| ValueCategory = prvalue(load) -# 1148| getGreaterOperand(): [Literal] 2 -# 1148| Type = [IntType] int -# 1148| Value = [Literal] 2 +# 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| getThen(): [BlockStmt] { ... } -# 1149| getStmt(0): [ExprStmt] ExprStmt -# 1149| getExpr(): [AssignExpr] ... = ... -# 1149| Type = [IntType] int -# 1149| ValueCategory = lvalue -# 1149| getLValue(): [VariableAccess] x -# 1149| Type = [IntType] int -# 1149| ValueCategory = lvalue -# 1149| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1149| Type = [IntType] int -# 1149| ValueCategory = prvalue -# 1149| getCondition(): [VariableAccess] b -# 1149| Type = [BoolType] bool -# 1149| ValueCategory = prvalue(load) -# 1149| getThen(): [Literal] 7 -# 1149| Type = [IntType] int -# 1149| Value = [Literal] 7 -# 1149| ValueCategory = prvalue -# 1149| getElse(): [ThrowExpr] throw ... -# 1149| Type = [Struct] String -# 1149| ValueCategory = prvalue -# 1149| getExpr(): [ConstructorCall] call to String -# 1149| Type = [VoidType] void -# 1149| ValueCategory = prvalue -# 1149| getArgument(0): String object -# 1149| Type = [ArrayType] const char[14] -# 1149| Value = [StringLiteral] "String object" -# 1149| ValueCategory = lvalue -# 1149| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1149| Type = [PointerType] const char * -# 1149| ValueCategory = prvalue -# 1151| getStmt(2): [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(): [Literal] 7 -# 1151| Type = [IntType] int -# 1151| Value = [Literal] 7 -# 1151| ValueCategory = prvalue -# 1153| getChild(1): [Handler] -# 1153| getBlock(): [CatchBlock] { ... } -# 1154| getStmt(0): [ExprStmt] ExprStmt -# 1154| getExpr(): [ThrowExpr] throw ... -# 1154| Type = [Struct] String -# 1154| ValueCategory = prvalue -# 1154| getExpr(): [ConstructorCall] call to String -# 1154| Type = [VoidType] void -# 1154| ValueCategory = prvalue -# 1154| getArgument(0): [VariableAccess] s -# 1154| Type = [PointerType] const char * -# 1154| ValueCategory = prvalue(load) -# 1156| getChild(2): [Handler] -# 1156| getBlock(): [CatchBlock] { ... } -# 1158| getStmt(1): [ReturnStmt] return ... -# 1162| [TopLevelFunction] void VectorTypes(int) -# 1162| : -# 1162| getParameter(0): [Parameter] i -# 1162| Type = [IntType] int -# 1162| getEntryPoint(): [BlockStmt] { ... } -# 1163| getStmt(0): [DeclStmt] declaration -# 1163| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4 -# 1163| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1163| getVariable().getInitializer(): [Initializer] initializer for vi4 -# 1163| getExpr(): [VectorAggregateLiteral] {...} -# 1163| Type = [GNUVectorType] __attribute((vector_size(16UL))) int -# 1163| ValueCategory = prvalue -# 1163| getAnElementExpr(0): [Literal] 0 -# 1163| Type = [IntType] int -# 1163| Value = [Literal] 0 -# 1163| ValueCategory = prvalue -# 1163| getAnElementExpr(1): [Literal] 1 -# 1163| Type = [IntType] int -# 1163| Value = [Literal] 1 -# 1163| ValueCategory = prvalue -# 1163| getAnElementExpr(2): [Literal] 2 -# 1163| Type = [IntType] int -# 1163| Value = [Literal] 2 -# 1163| ValueCategory = prvalue -# 1163| getAnElementExpr(3): [Literal] 3 -# 1163| Type = [IntType] int -# 1163| Value = [Literal] 3 -# 1163| ValueCategory = prvalue -# 1164| getStmt(1): [DeclStmt] declaration -# 1164| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1164| Type = [IntType] int -# 1164| getVariable().getInitializer(): [Initializer] initializer for x -# 1164| getExpr(): [ArrayExpr] access to array -# 1164| Type = [IntType] int -# 1164| ValueCategory = prvalue(load) -# 1164| getArrayBase(): [VariableAccess] vi4 -# 1164| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1164| ValueCategory = lvalue -# 1164| getArrayOffset(): [VariableAccess] i -# 1164| Type = [IntType] int -# 1164| ValueCategory = prvalue(load) -# 1165| getStmt(2): [ExprStmt] ExprStmt -# 1165| getExpr(): [AssignExpr] ... = ... -# 1165| Type = [IntType] int -# 1165| ValueCategory = lvalue -# 1165| getLValue(): [ArrayExpr] access to array -# 1165| Type = [IntType] int -# 1165| ValueCategory = lvalue -# 1165| getArrayBase(): [VariableAccess] vi4 -# 1165| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1165| ValueCategory = lvalue -# 1165| getArrayOffset(): [VariableAccess] i -# 1165| Type = [IntType] int -# 1165| ValueCategory = prvalue(load) -# 1165| getRValue(): [VariableAccess] x -# 1165| Type = [IntType] int -# 1165| ValueCategory = prvalue(load) -# 1166| getStmt(3): [DeclStmt] declaration -# 1166| getDeclarationEntry(0): [VariableDeclarationEntry] definition of vi4_shuffle -# 1166| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1166| getVariable().getInitializer(): [Initializer] initializer for vi4_shuffle -# 1166| getExpr(): [BuiltInOperationBuiltInShuffleVector] __builtin_shufflevector -# 1166| Type = [GNUVectorType] __attribute((vector_size(16))) int -# 1166| ValueCategory = prvalue -# 1166| getChild(0): [VariableAccess] vi4 -# 1166| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1166| ValueCategory = prvalue(load) -# 1166| getChild(1): [VariableAccess] vi4 +# 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 = prvalue(load) -# 1166| getChild(2): [AddExpr] ... + ... -# 1166| Type = [IntType] int -# 1166| Value = [AddExpr] 3 -# 1166| ValueCategory = prvalue -# 1166| getLeftOperand(): [Literal] 3 -# 1166| Type = [IntType] int -# 1166| Value = [Literal] 3 -# 1166| ValueCategory = prvalue -# 1166| getRightOperand(): [Literal] 0 -# 1166| Type = [IntType] int -# 1166| Value = [Literal] 0 -# 1166| ValueCategory = prvalue -# 1166| getChild(3): [Literal] 2 +# 1166| ValueCategory = lvalue +# 1166| getArrayOffset(): [VariableAccess] i # 1166| Type = [IntType] int -# 1166| Value = [Literal] 2 -# 1166| ValueCategory = prvalue -# 1166| getChild(4): [Literal] 1 -# 1166| Type = [IntType] int -# 1166| Value = [Literal] 1 -# 1166| ValueCategory = prvalue -# 1166| getChild(5): [Literal] 0 -# 1166| Type = [IntType] int -# 1166| Value = [Literal] 0 -# 1166| ValueCategory = prvalue -# 1167| getStmt(4): [ExprStmt] ExprStmt +# 1166| ValueCategory = prvalue(load) +# 1167| getStmt(2): [ExprStmt] ExprStmt # 1167| getExpr(): [AssignExpr] ... = ... -# 1167| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1167| Type = [IntType] int # 1167| ValueCategory = lvalue -# 1167| getLValue(): [VariableAccess] vi4 -# 1167| Type = [SpecifiedType] __attribute((vector_size(16UL))) int +# 1167| getLValue(): [ArrayExpr] access to array +# 1167| Type = [IntType] int # 1167| ValueCategory = lvalue -# 1167| getRValue(): [AddExpr] ... + ... -# 1167| Type = [GNUVectorType] __attribute((vector_size(16UL))) int -# 1167| ValueCategory = prvalue -# 1167| getLeftOperand(): [VariableAccess] vi4 -# 1167| Type = [SpecifiedType] __attribute((vector_size(16UL))) int -# 1167| ValueCategory = prvalue(load) -# 1167| getRightOperand(): [VariableAccess] vi4_shuffle +# 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) -# 1168| getStmt(5): [ReturnStmt] return ... -# 1170| [TopLevelFunction] void* memcpy(void*, void*, int) -# 1170| : -# 1170| getParameter(0): [Parameter] dst -# 1170| Type = [VoidPointerType] void * -# 1170| getParameter(1): [Parameter] src -# 1170| Type = [VoidPointerType] void * -# 1170| getParameter(2): [Parameter] size -# 1170| Type = [IntType] int -# 1172| [TopLevelFunction] int ModeledCallTarget(int) +# 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] x +# 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 -# 1172| getEntryPoint(): [BlockStmt] { ... } -# 1173| getStmt(0): [DeclStmt] declaration -# 1173| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1173| Type = [IntType] int -# 1174| getStmt(1): [ExprStmt] ExprStmt -# 1174| getExpr(): [FunctionCall] call to memcpy -# 1174| Type = [VoidPointerType] void * -# 1174| ValueCategory = prvalue -# 1174| getArgument(0): [AddressOfExpr] & ... -# 1174| Type = [IntPointerType] int * -# 1174| ValueCategory = prvalue -# 1174| getOperand(): [VariableAccess] y -# 1174| Type = [IntType] int -# 1174| ValueCategory = lvalue -# 1174| getArgument(1): [AddressOfExpr] & ... -# 1174| Type = [IntPointerType] int * -# 1174| ValueCategory = prvalue -# 1174| getOperand(): [VariableAccess] x -# 1174| Type = [IntType] int -# 1174| ValueCategory = lvalue -# 1174| getArgument(2): [SizeofTypeOperator] sizeof(int) -# 1174| Type = [LongType] unsigned long -# 1174| Value = [SizeofTypeOperator] 4 -# 1174| ValueCategory = prvalue -# 1174| getArgument(0).getFullyConverted(): [CStyleCast] (void *)... -# 1174| Conversion = [PointerConversion] pointer conversion -# 1174| Type = [VoidPointerType] void * -# 1174| ValueCategory = prvalue -# 1174| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... -# 1174| Conversion = [PointerConversion] pointer conversion -# 1174| Type = [VoidPointerType] void * -# 1174| ValueCategory = prvalue -# 1174| getArgument(2).getFullyConverted(): [CStyleCast] (int)... -# 1174| Conversion = [IntegralConversion] integral conversion -# 1174| Type = [IntType] int -# 1174| Value = [CStyleCast] 4 -# 1174| ValueCategory = prvalue -# 1175| getStmt(2): [ReturnStmt] return ... -# 1175| getExpr(): [VariableAccess] y +# 1174| [TopLevelFunction] int ModeledCallTarget(int) +# 1174| : +# 1174| getParameter(0): [Parameter] x +# 1174| Type = [IntType] int +# 1174| getEntryPoint(): [BlockStmt] { ... } +# 1175| getStmt(0): [DeclStmt] declaration +# 1175| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y # 1175| Type = [IntType] int -# 1175| ValueCategory = prvalue(load) -# 1178| [TopLevelFunction] String ReturnObjectImpl() -# 1178| : -# 1178| getEntryPoint(): [BlockStmt] { ... } -# 1179| getStmt(0): [ReturnStmt] return ... -# 1179| getExpr(): [ConstructorCall] call to String -# 1179| Type = [VoidType] void -# 1179| ValueCategory = prvalue -# 1179| getArgument(0): foo -# 1179| Type = [ArrayType] const char[4] -# 1179| Value = [StringLiteral] "foo" -# 1179| ValueCategory = lvalue -# 1179| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1179| Type = [PointerType] const char * -# 1179| ValueCategory = prvalue -# 1182| [TopLevelFunction] void switch1Case(int) -# 1182| : -# 1182| getParameter(0): [Parameter] x -# 1182| Type = [IntType] int -# 1182| getEntryPoint(): [BlockStmt] { ... } -# 1183| getStmt(0): [DeclStmt] declaration -# 1183| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1183| Type = [IntType] int -# 1183| getVariable().getInitializer(): [Initializer] initializer for y -# 1183| getExpr(): [Literal] 0 -# 1183| Type = [IntType] int -# 1183| Value = [Literal] 0 -# 1183| ValueCategory = prvalue -# 1184| getStmt(1): [SwitchStmt] switch (...) ... -# 1184| getExpr(): [VariableAccess] x -# 1184| Type = [IntType] int -# 1184| ValueCategory = prvalue(load) -# 1184| getStmt(): [BlockStmt] { ... } -# 1185| getStmt(0): [SwitchCase] case ...: -# 1185| getExpr(): [Literal] 1 +# 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] 1 +# 1185| Value = [Literal] 0 # 1185| ValueCategory = prvalue -# 1186| getStmt(1): [ExprStmt] ExprStmt -# 1186| getExpr(): [AssignExpr] ... = ... -# 1186| Type = [IntType] int -# 1186| ValueCategory = lvalue -# 1186| getLValue(): [VariableAccess] y -# 1186| Type = [IntType] int -# 1186| ValueCategory = lvalue -# 1186| getRValue(): [Literal] 2 -# 1186| Type = [IntType] int -# 1186| Value = [Literal] 2 -# 1186| ValueCategory = prvalue -# 1188| getStmt(2): [DeclStmt] declaration -# 1188| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1188| Type = [IntType] int -# 1188| getVariable().getInitializer(): [Initializer] initializer for z -# 1188| getExpr(): [VariableAccess] y +# 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 = prvalue(load) -# 1189| getStmt(3): [ReturnStmt] return ... -# 1191| [TopLevelFunction] void switch2Case_fallthrough(int) -# 1191| : -# 1191| getParameter(0): [Parameter] x -# 1191| Type = [IntType] int -# 1191| getEntryPoint(): [BlockStmt] { ... } -# 1192| getStmt(0): [DeclStmt] declaration -# 1192| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1192| Type = [IntType] int -# 1192| getVariable().getInitializer(): [Initializer] initializer for y -# 1192| getExpr(): [Literal] 0 -# 1192| Type = [IntType] int -# 1192| Value = [Literal] 0 -# 1192| ValueCategory = prvalue -# 1193| getStmt(1): [SwitchStmt] switch (...) ... -# 1193| getExpr(): [VariableAccess] x -# 1193| Type = [IntType] int -# 1193| ValueCategory = prvalue(load) -# 1193| getStmt(): [BlockStmt] { ... } -# 1194| getStmt(0): [SwitchCase] case ...: -# 1194| getExpr(): [Literal] 1 +# 1188| ValueCategory = lvalue +# 1188| getLValue(): [VariableAccess] y +# 1188| Type = [IntType] int +# 1188| ValueCategory = lvalue +# 1188| getRValue(): [Literal] 2 +# 1188| Type = [IntType] int +# 1188| Value = [Literal] 2 +# 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] 1 +# 1194| Value = [Literal] 0 # 1194| ValueCategory = prvalue -# 1195| getStmt(1): [ExprStmt] ExprStmt -# 1195| getExpr(): [AssignExpr] ... = ... -# 1195| Type = [IntType] int -# 1195| ValueCategory = lvalue -# 1195| getLValue(): [VariableAccess] y -# 1195| Type = [IntType] int -# 1195| ValueCategory = lvalue -# 1195| getRValue(): [Literal] 2 -# 1195| Type = [IntType] int -# 1195| Value = [Literal] 2 -# 1195| ValueCategory = prvalue -# 1196| getStmt(2): [SwitchCase] case ...: -# 1196| getExpr(): [Literal] 2 +# 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] 2 +# 1196| Value = [Literal] 1 # 1196| ValueCategory = prvalue -# 1197| getStmt(3): [ExprStmt] ExprStmt +# 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] 3 +# 1197| getRValue(): [Literal] 2 # 1197| Type = [IntType] int -# 1197| Value = [Literal] 3 +# 1197| Value = [Literal] 2 # 1197| ValueCategory = prvalue -# 1199| getStmt(2): [DeclStmt] declaration -# 1199| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1199| Type = [IntType] int -# 1199| getVariable().getInitializer(): [Initializer] initializer for z -# 1199| getExpr(): [VariableAccess] y +# 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 = prvalue(load) -# 1200| getStmt(3): [ReturnStmt] return ... -# 1202| [TopLevelFunction] void switch2Case(int) -# 1202| : -# 1202| getParameter(0): [Parameter] x -# 1202| Type = [IntType] int -# 1202| getEntryPoint(): [BlockStmt] { ... } -# 1203| getStmt(0): [DeclStmt] declaration -# 1203| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1203| Type = [IntType] int -# 1203| getVariable().getInitializer(): [Initializer] initializer for y -# 1203| getExpr(): [Literal] 0 -# 1203| Type = [IntType] int -# 1203| Value = [Literal] 0 -# 1203| ValueCategory = prvalue -# 1204| getStmt(1): [SwitchStmt] switch (...) ... -# 1204| getExpr(): [VariableAccess] x -# 1204| Type = [IntType] int -# 1204| ValueCategory = prvalue(load) -# 1204| getStmt(): [BlockStmt] { ... } -# 1205| getStmt(0): [SwitchCase] case ...: -# 1205| getExpr(): [Literal] 1 +# 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] 1 +# 1205| Value = [Literal] 0 # 1205| ValueCategory = prvalue -# 1206| getStmt(1): [ExprStmt] ExprStmt -# 1206| getExpr(): [AssignExpr] ... = ... -# 1206| Type = [IntType] int -# 1206| ValueCategory = lvalue -# 1206| getLValue(): [VariableAccess] y -# 1206| Type = [IntType] int -# 1206| ValueCategory = lvalue -# 1206| getRValue(): [Literal] 2 -# 1206| Type = [IntType] int -# 1206| Value = [Literal] 2 -# 1206| ValueCategory = prvalue -# 1207| getStmt(2): [BreakStmt] break; -# 1208| getStmt(3): [SwitchCase] case ...: -# 1208| getExpr(): [Literal] 2 +# 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| Value = [Literal] 2 -# 1208| ValueCategory = prvalue -# 1209| getStmt(4): [ExprStmt] ExprStmt -# 1209| getExpr(): [AssignExpr] ... = ... -# 1209| Type = [IntType] int -# 1209| ValueCategory = lvalue -# 1209| getLValue(): [VariableAccess] y -# 1209| Type = [IntType] int -# 1209| ValueCategory = lvalue -# 1209| getRValue(): [Literal] 3 -# 1209| Type = [IntType] int -# 1209| Value = [Literal] 3 -# 1209| ValueCategory = prvalue -# 1210| getStmt(2): [LabelStmt] label ...: -# 1211| getStmt(3): [DeclStmt] declaration -# 1211| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1211| Type = [IntType] int -# 1211| getVariable().getInitializer(): [Initializer] initializer for z -# 1211| getExpr(): [VariableAccess] y +# 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 = prvalue(load) -# 1212| getStmt(4): [ReturnStmt] return ... -# 1214| [TopLevelFunction] void switch2Case_default(int) -# 1214| : -# 1214| getParameter(0): [Parameter] x -# 1214| Type = [IntType] int -# 1214| getEntryPoint(): [BlockStmt] { ... } -# 1215| getStmt(0): [DeclStmt] declaration -# 1215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1215| Type = [IntType] int -# 1215| getVariable().getInitializer(): [Initializer] initializer for y -# 1215| getExpr(): [Literal] 0 -# 1215| Type = [IntType] int -# 1215| Value = [Literal] 0 -# 1215| ValueCategory = prvalue -# 1216| getStmt(1): [SwitchStmt] switch (...) ... -# 1216| getExpr(): [VariableAccess] x -# 1216| Type = [IntType] int -# 1216| ValueCategory = prvalue(load) -# 1216| getStmt(): [BlockStmt] { ... } -# 1217| getStmt(0): [SwitchCase] case ...: -# 1217| getExpr(): [Literal] 1 +# 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 +# 1213| Type = [IntType] int +# 1213| getVariable().getInitializer(): [Initializer] initializer for z +# 1213| getExpr(): [VariableAccess] y +# 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] 1 +# 1217| Value = [Literal] 0 # 1217| ValueCategory = prvalue -# 1218| getStmt(1): [ExprStmt] ExprStmt -# 1218| getExpr(): [AssignExpr] ... = ... -# 1218| Type = [IntType] int -# 1218| ValueCategory = lvalue -# 1218| getLValue(): [VariableAccess] y -# 1218| Type = [IntType] int -# 1218| ValueCategory = lvalue -# 1218| getRValue(): [Literal] 2 -# 1218| Type = [IntType] int -# 1218| Value = [Literal] 2 -# 1218| ValueCategory = prvalue -# 1219| getStmt(2): [BreakStmt] break; -# 1221| getStmt(3): [SwitchCase] case ...: -# 1221| getExpr(): [Literal] 2 -# 1221| Type = [IntType] int -# 1221| Value = [Literal] 2 -# 1221| ValueCategory = prvalue -# 1222| getStmt(4): [ExprStmt] ExprStmt -# 1222| getExpr(): [AssignExpr] ... = ... -# 1222| Type = [IntType] int -# 1222| ValueCategory = lvalue -# 1222| getLValue(): [VariableAccess] y -# 1222| Type = [IntType] int -# 1222| ValueCategory = lvalue -# 1222| getRValue(): [Literal] 3 -# 1222| Type = [IntType] int -# 1222| Value = [Literal] 3 -# 1222| ValueCategory = prvalue -# 1223| getStmt(5): [BreakStmt] break; -# 1225| getStmt(6): [SwitchCase] default: -# 1226| getStmt(7): [ExprStmt] ExprStmt -# 1226| getExpr(): [AssignExpr] ... = ... -# 1226| Type = [IntType] int -# 1226| ValueCategory = lvalue -# 1226| getLValue(): [VariableAccess] y -# 1226| Type = [IntType] int -# 1226| ValueCategory = lvalue -# 1226| getRValue(): [Literal] 4 -# 1226| Type = [IntType] int -# 1226| Value = [Literal] 4 -# 1226| ValueCategory = prvalue -# 1227| getStmt(2): [LabelStmt] label ...: -# 1228| getStmt(3): [DeclStmt] declaration -# 1228| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1228| Type = [IntType] int -# 1228| getVariable().getInitializer(): [Initializer] initializer for z -# 1228| getExpr(): [VariableAccess] y +# 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 +# 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 = prvalue(load) -# 1229| getStmt(4): [ReturnStmt] return ... -# 1231| [TopLevelFunction] int staticLocalInit(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 a -# 1232| Type = [IntType] int -# 1232| getVariable().getInitializer(): [Initializer] initializer for a -# 1232| getExpr(): [Literal] 0 -# 1232| Type = [IntType] int -# 1232| Value = [Literal] 0 -# 1232| ValueCategory = prvalue -# 1233| getStmt(1): [DeclStmt] declaration -# 1233| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1233| Type = [IntType] int -# 1233| getVariable().getInitializer(): [Initializer] initializer for b -# 1233| getExpr(): [SizeofExprOperator] sizeof() -# 1233| Type = [LongType] unsigned long -# 1233| Value = [SizeofExprOperator] 4 -# 1233| ValueCategory = prvalue -# 1233| getExprOperand(): [VariableAccess] x -# 1233| Type = [IntType] int -# 1233| ValueCategory = lvalue -# 1233| getExprOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 1233| Type = [IntType] int -# 1233| ValueCategory = lvalue -# 1233| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 1233| Conversion = [IntegralConversion] integral conversion -# 1233| Type = [IntType] int -# 1233| Value = [CStyleCast] 4 -# 1233| ValueCategory = prvalue -# 1234| getStmt(2): [DeclStmt] declaration -# 1234| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 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 c -# 1234| getExpr(): [VariableAccess] x +# 1234| getVariable().getInitializer(): [Initializer] initializer for a +# 1234| getExpr(): [Literal] 0 # 1234| Type = [IntType] int -# 1234| ValueCategory = prvalue(load) -# 1235| getStmt(3): [DeclStmt] declaration -# 1235| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 1234| Value = [Literal] 0 +# 1234| ValueCategory = prvalue +# 1235| getStmt(1): [DeclStmt] declaration +# 1235| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b # 1235| Type = [IntType] int -# 1237| getStmt(4): [ReturnStmt] return ... -# 1237| getExpr(): [AddExpr] ... + ... +# 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| 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 # 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue -# 1237| getLeftOperand(): [AddExpr] ... + ... -# 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue -# 1237| getLeftOperand(): [AddExpr] ... + ... -# 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue -# 1237| getLeftOperand(): [VariableAccess] a -# 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue(load) -# 1237| getRightOperand(): [VariableAccess] b -# 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue(load) -# 1237| getRightOperand(): [VariableAccess] c -# 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue(load) -# 1237| getRightOperand(): [VariableAccess] d -# 1237| Type = [IntType] int -# 1237| ValueCategory = prvalue(load) -# 1240| [TopLevelFunction] void staticLocalWithConstructor(char const*) -# 1240| : -# 1240| getParameter(0): [Parameter] dynamic -# 1240| Type = [PointerType] const char * -# 1240| getEntryPoint(): [BlockStmt] { ... } -# 1241| getStmt(0): [DeclStmt] declaration -# 1241| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1241| Type = [Struct] String +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for a #-----| getExpr(): [ConstructorCall] call to String #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 1242| getStmt(1): [DeclStmt] declaration -# 1242| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1242| Type = [Struct] String -# 1242| getVariable().getInitializer(): [Initializer] initializer for b -# 1242| getExpr(): [ConstructorCall] call to String -# 1242| Type = [VoidType] void -# 1242| ValueCategory = prvalue -# 1242| getArgument(0): static -# 1242| Type = [ArrayType] const char[7] -# 1242| Value = [StringLiteral] "static" -# 1242| ValueCategory = lvalue -# 1242| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1242| Type = [PointerType] const char * -# 1242| ValueCategory = prvalue -# 1243| getStmt(2): [DeclStmt] declaration -# 1243| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1243| Type = [Struct] String -# 1243| getVariable().getInitializer(): [Initializer] initializer for c -# 1243| getExpr(): [ConstructorCall] call to String -# 1243| Type = [VoidType] void -# 1243| ValueCategory = prvalue -# 1243| getArgument(0): [VariableAccess] dynamic -# 1243| Type = [PointerType] const char * -# 1243| ValueCategory = prvalue(load) -# 1244| getStmt(3): [ReturnStmt] return ... -# 1244| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 1244| Type = [VoidType] void -# 1244| ValueCategory = prvalue -# 1244| getQualifier(): [VariableAccess] c -# 1244| Type = [Struct] String -# 1244| ValueCategory = lvalue -# 1244| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 1244| Type = [VoidType] void -# 1244| ValueCategory = prvalue -# 1244| getQualifier(): [VariableAccess] b -# 1244| Type = [Struct] String -# 1244| ValueCategory = lvalue -# 1244| getImplicitDestructorCall(2): [DestructorCall] call to ~String -# 1244| Type = [VoidType] void -# 1244| ValueCategory = prvalue -# 1244| getQualifier(): [VariableAccess] a -# 1244| Type = [Struct] String -# 1244| ValueCategory = lvalue -# 1248| [TopLevelFunction] char* strcpy(char*, char const*) -# 1248| : -# 1248| getParameter(0): [Parameter] destination -# 1248| Type = [CharPointerType] char * -# 1248| getParameter(1): [Parameter] source -# 1248| Type = [PointerType] const char * -# 1249| [TopLevelFunction] char* strcat(char*, char const*) -# 1249| : -# 1249| getParameter(0): [Parameter] destination -# 1249| Type = [CharPointerType] char * -# 1249| getParameter(1): [Parameter] source -# 1249| Type = [PointerType] const char * -# 1251| [TopLevelFunction] void test_strings(char*, char*) +# 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 ... +# 1246| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 1246| Type = [VoidType] void +# 1246| ValueCategory = prvalue +# 1246| getQualifier(): [VariableAccess] c +# 1246| Type = [Struct] String +# 1246| ValueCategory = lvalue +# 1246| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 1246| Type = [VoidType] void +# 1246| ValueCategory = prvalue +# 1246| getQualifier(): [VariableAccess] b +# 1246| Type = [Struct] String +# 1246| ValueCategory = lvalue +# 1246| getImplicitDestructorCall(2): [DestructorCall] call to ~String +# 1246| Type = [VoidType] void +# 1246| ValueCategory = prvalue +# 1246| getQualifier(): [VariableAccess] a +# 1246| Type = [Struct] String +# 1246| ValueCategory = lvalue +# 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] s1 +# 1251| getParameter(0): [Parameter] destination # 1251| Type = [CharPointerType] char * -# 1251| getParameter(1): [Parameter] s2 -# 1251| Type = [CharPointerType] char * -# 1251| getEntryPoint(): [BlockStmt] { ... } -# 1252| getStmt(0): [DeclStmt] declaration -# 1252| getDeclarationEntry(0): [VariableDeclarationEntry] definition of buffer -# 1252| Type = [ArrayType] char[1024] -# 1252| getVariable().getInitializer(): [Initializer] initializer for buffer -# 1252| getExpr(): [ArrayAggregateLiteral] {...} -# 1252| Type = [ArrayType] char[1024] -# 1252| ValueCategory = prvalue -# 1252| getAnElementExpr(0): [Literal] 0 -# 1252| Type = [IntType] int -# 1252| Value = [Literal] 0 -# 1252| ValueCategory = prvalue -# 1252| getAnElementExpr(0).getFullyConverted(): [CStyleCast] (char)... -# 1252| Conversion = [IntegralConversion] integral conversion -# 1252| Type = [PlainCharType] char -# 1252| Value = [CStyleCast] 0 -# 1252| ValueCategory = prvalue -# 1254| getStmt(1): [ExprStmt] ExprStmt -# 1254| getExpr(): [FunctionCall] call to strcpy -# 1254| Type = [CharPointerType] char * -# 1254| ValueCategory = prvalue -# 1254| getArgument(0): [VariableAccess] buffer -# 1254| Type = [ArrayType] char[1024] -# 1254| ValueCategory = lvalue -# 1254| getArgument(1): [VariableAccess] s1 -# 1254| Type = [CharPointerType] char * -# 1254| ValueCategory = prvalue(load) -# 1254| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1254| Type = [CharPointerType] char * -# 1254| ValueCategory = prvalue -# 1254| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... -# 1254| Conversion = [PointerConversion] pointer conversion -# 1254| Type = [PointerType] const char * -# 1254| ValueCategory = prvalue -# 1255| getStmt(2): [ExprStmt] ExprStmt -# 1255| getExpr(): [FunctionCall] call to strcat -# 1255| Type = [CharPointerType] char * -# 1255| ValueCategory = prvalue -# 1255| getArgument(0): [VariableAccess] buffer -# 1255| Type = [ArrayType] char[1024] -# 1255| ValueCategory = lvalue -# 1255| getArgument(1): [VariableAccess] s2 -# 1255| Type = [CharPointerType] char * -# 1255| ValueCategory = prvalue(load) -# 1255| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1255| Type = [CharPointerType] char * -# 1255| ValueCategory = prvalue -# 1255| getArgument(1).getFullyConverted(): [CStyleCast] (const char *)... -# 1255| Conversion = [PointerConversion] pointer conversion -# 1255| Type = [PointerType] const char * -# 1255| ValueCategory = prvalue -# 1256| getStmt(3): [ReturnStmt] return ... -# 1258| [CopyAssignmentOperator] A& A::operator=(A const&) -# 1258| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1258| [MoveAssignmentOperator] A& A::operator=(A&&) -# 1258| : +# 1260| [MoveAssignmentOperator] A& A::operator=(A&&) +# 1260| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && -# 1261| [MemberFunction] void A::static_member(A*, int) -# 1261| : -# 1261| getParameter(0): [Parameter] a -# 1261| Type = [PointerType] A * -# 1261| getParameter(1): [Parameter] x -# 1261| Type = [IntType] int -# 1261| getEntryPoint(): [BlockStmt] { ... } -# 1262| getStmt(0): [ExprStmt] ExprStmt -# 1262| getExpr(): [AssignExpr] ... = ... -# 1262| Type = [IntType] int -# 1262| ValueCategory = lvalue -# 1262| getLValue(): [PointerFieldAccess] member -# 1262| Type = [IntType] int -# 1262| ValueCategory = lvalue -# 1262| getQualifier(): [VariableAccess] a -# 1262| Type = [PointerType] A * -# 1262| ValueCategory = prvalue(load) -# 1262| getRValue(): [VariableAccess] x -# 1262| Type = [IntType] int -# 1262| ValueCategory = prvalue(load) -# 1263| getStmt(1): [ReturnStmt] return ... -# 1265| [MemberFunction] void A::static_member_without_def() -# 1265| : -# 1268| [TopLevelFunction] A* getAnInstanceOfA() -# 1268| : -# 1270| [TopLevelFunction] void test_static_member_functions(int, 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| : -# 1270| getParameter(0): [Parameter] int_arg -# 1270| Type = [IntType] int -# 1270| getParameter(1): [Parameter] a_arg -# 1270| Type = [PointerType] A * -# 1270| getEntryPoint(): [BlockStmt] { ... } -# 1271| getStmt(0): [DeclStmt] declaration -# 1271| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1271| Type = [Class] C -# 1271| getVariable().getInitializer(): [Initializer] initializer for c -# 1271| getExpr(): [ConstructorCall] call to C -# 1271| Type = [VoidType] void -# 1271| ValueCategory = prvalue -# 1272| getStmt(1): [ExprStmt] ExprStmt -# 1272| getExpr(): [FunctionCall] call to StaticMemberFunction -# 1272| Type = [IntType] int -# 1272| ValueCategory = prvalue -# 1272| getQualifier(): [VariableAccess] c -# 1272| Type = [Class] C -# 1272| ValueCategory = lvalue -# 1272| getArgument(0): [Literal] 10 -# 1272| Type = [IntType] int -# 1272| Value = [Literal] 10 -# 1272| ValueCategory = prvalue -# 1273| getStmt(2): [ExprStmt] ExprStmt -# 1273| getExpr(): [FunctionCall] call to StaticMemberFunction -# 1273| Type = [IntType] int -# 1273| ValueCategory = prvalue -# 1273| getArgument(0): [Literal] 10 -# 1273| Type = [IntType] int -# 1273| Value = [Literal] 10 -# 1273| ValueCategory = prvalue -# 1275| getStmt(3): [DeclStmt] declaration -# 1275| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 1275| Type = [Struct] A -# 1276| getStmt(4): [ExprStmt] ExprStmt -# 1276| getExpr(): [FunctionCall] call to static_member -# 1276| Type = [VoidType] void -# 1276| ValueCategory = prvalue -# 1276| getQualifier(): [VariableAccess] a -# 1276| Type = [Struct] A -# 1276| ValueCategory = lvalue -# 1276| getArgument(0): [AddressOfExpr] & ... -# 1276| Type = [PointerType] A * -# 1276| ValueCategory = prvalue -# 1276| getOperand(): [VariableAccess] a -# 1276| Type = [Struct] A -# 1276| ValueCategory = lvalue -# 1276| getArgument(1): [VariableAccess] int_arg -# 1276| Type = [IntType] int -# 1276| ValueCategory = prvalue(load) -# 1277| getStmt(5): [ExprStmt] ExprStmt -# 1277| getExpr(): [FunctionCall] call to static_member -# 1277| Type = [VoidType] void -# 1277| ValueCategory = prvalue -# 1277| getArgument(0): [AddressOfExpr] & ... -# 1277| Type = [PointerType] A * -# 1277| ValueCategory = prvalue -# 1277| getOperand(): [VariableAccess] a -# 1277| Type = [Struct] A -# 1277| ValueCategory = lvalue -# 1277| getArgument(1): [VariableAccess] int_arg -# 1277| Type = [IntType] int -# 1277| ValueCategory = prvalue(load) -# 1279| getStmt(6): [ExprStmt] ExprStmt +# 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| getQualifier(): [AddressOfExpr] & ... +# 1279| getArgument(0): [AddressOfExpr] & ... # 1279| Type = [PointerType] A * # 1279| ValueCategory = prvalue # 1279| getOperand(): [VariableAccess] a # 1279| Type = [Struct] A # 1279| ValueCategory = lvalue -# 1279| getArgument(0): [VariableAccess] a_arg -# 1279| Type = [PointerType] A * -# 1279| ValueCategory = prvalue(load) -# 1279| getArgument(1): [AddExpr] ... + ... +# 1279| getArgument(1): [VariableAccess] int_arg # 1279| Type = [IntType] int -# 1279| ValueCategory = prvalue -# 1279| getLeftOperand(): [VariableAccess] int_arg -# 1279| Type = [IntType] int -# 1279| ValueCategory = prvalue(load) -# 1279| getRightOperand(): [Literal] 2 -# 1279| Type = [IntType] int -# 1279| Value = [Literal] 2 -# 1279| ValueCategory = prvalue -# 1279| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 1279| Type = [PointerType] A * -# 1279| ValueCategory = prvalue -# 1280| getStmt(7): [ExprStmt] ExprStmt -# 1280| getExpr(): [FunctionCall] call to static_member -# 1280| Type = [VoidType] void -# 1280| ValueCategory = prvalue -# 1280| getQualifier(): [PointerDereferenceExpr] * ... -# 1280| Type = [Struct] A -# 1280| ValueCategory = lvalue -# 1280| getOperand(): [VariableAccess] a_arg -# 1280| Type = [PointerType] A * -# 1280| ValueCategory = prvalue(load) -# 1280| getArgument(0): [AddressOfExpr] & ... -# 1280| Type = [PointerType] A * -# 1280| ValueCategory = prvalue -# 1280| getOperand(): [VariableAccess] a -# 1280| Type = [Struct] A -# 1280| ValueCategory = lvalue -# 1280| getArgument(1): [Literal] 99 -# 1280| Type = [IntType] int -# 1280| Value = [Literal] 99 -# 1280| ValueCategory = prvalue -# 1280| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 1280| Type = [Struct] A -# 1280| ValueCategory = lvalue -# 1281| getStmt(8): [ExprStmt] ExprStmt +# 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(): [VariableAccess] a_arg +# 1281| getQualifier(): [AddressOfExpr] & ... # 1281| Type = [PointerType] A * -# 1281| ValueCategory = prvalue(load) +# 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): [UnaryMinusExpr] - ... +# 1281| getArgument(1): [AddExpr] ... + ... # 1281| Type = [IntType] int -# 1281| Value = [UnaryMinusExpr] -1 # 1281| ValueCategory = prvalue -# 1281| getOperand(): [Literal] 1 +# 1281| getLeftOperand(): [VariableAccess] int_arg # 1281| Type = [IntType] int -# 1281| Value = [Literal] 1 +# 1281| ValueCategory = prvalue(load) +# 1281| getRightOperand(): [Literal] 2 +# 1281| Type = [IntType] int +# 1281| Value = [Literal] 2 # 1281| ValueCategory = prvalue -# 1283| getStmt(9): [ExprStmt] ExprStmt -# 1283| getExpr(): [FunctionCall] call to static_member_without_def +# 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 -# 1283| Type = [Struct] A -# 1283| ValueCategory = lvalue -# 1284| getStmt(10): [ExprStmt] ExprStmt -# 1284| getExpr(): [FunctionCall] call to static_member_without_def -# 1284| Type = [VoidType] void -# 1284| ValueCategory = prvalue -# 1286| getStmt(11): [ExprStmt] ExprStmt +# 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 -# 1286| getQualifier(): [FunctionCall] call to getAnInstanceOfA -# 1286| Type = [PointerType] A * -# 1286| ValueCategory = prvalue -# 1287| getStmt(12): [ReturnStmt] return ... -# 1287| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1287| Type = [VoidType] void -# 1287| ValueCategory = prvalue -# 1287| getQualifier(): [VariableAccess] c -# 1287| Type = [Class] C -# 1287| ValueCategory = lvalue -# 1289| [TopLevelFunction] int missingReturnValue(bool, int) -# 1289| : -# 1289| getParameter(0): [Parameter] b -# 1289| Type = [BoolType] bool -# 1289| getParameter(1): [Parameter] x -# 1289| Type = [IntType] int -# 1289| getEntryPoint(): [BlockStmt] { ... } -# 1290| getStmt(0): [IfStmt] if (...) ... -# 1290| getCondition(): [VariableAccess] b -# 1290| Type = [BoolType] bool -# 1290| ValueCategory = prvalue(load) -# 1290| getThen(): [BlockStmt] { ... } -# 1291| getStmt(0): [ReturnStmt] return ... -# 1291| getExpr(): [VariableAccess] x -# 1291| Type = [IntType] int -# 1291| ValueCategory = prvalue(load) -# 1293| getStmt(1): [ReturnStmt] return ... -# 1295| [TopLevelFunction] void returnVoid(int, int) -# 1295| : -# 1295| getParameter(0): [Parameter] x -# 1295| Type = [IntType] int -# 1295| getParameter(1): [Parameter] y -# 1295| Type = [IntType] int -# 1295| getEntryPoint(): [BlockStmt] { ... } -# 1296| getStmt(0): [ReturnStmt] return ... -# 1296| getExpr(): [FunctionCall] call to IntegerOps -# 1296| Type = [VoidType] void -# 1296| ValueCategory = prvalue -# 1296| getArgument(0): [VariableAccess] x -# 1296| Type = [IntType] int -# 1296| ValueCategory = prvalue(load) -# 1296| getArgument(1): [VariableAccess] y -# 1296| Type = [IntType] int -# 1296| ValueCategory = prvalue(load) -# 1299| [TopLevelFunction] void gccBinaryConditional(bool, int, long) -# 1299| : -# 1299| getParameter(0): [Parameter] b -# 1299| Type = [BoolType] bool -# 1299| getParameter(1): [Parameter] x -# 1299| Type = [IntType] int -# 1299| getParameter(2): [Parameter] y -# 1299| Type = [LongType] long -# 1299| getEntryPoint(): [BlockStmt] { ... } -# 1300| getStmt(0): [DeclStmt] declaration -# 1300| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1300| Type = [IntType] int -# 1300| getVariable().getInitializer(): [Initializer] initializer for z -# 1300| getExpr(): [VariableAccess] x -# 1300| Type = [IntType] int -# 1300| ValueCategory = prvalue(load) -# 1301| getStmt(1): [ExprStmt] ExprStmt -# 1301| getExpr(): [AssignExpr] ... = ... -# 1301| Type = [IntType] int -# 1301| ValueCategory = lvalue -# 1301| getLValue(): [VariableAccess] z -# 1301| Type = [IntType] int -# 1301| ValueCategory = lvalue -# 1301| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1301| Type = [IntType] int -# 1301| ValueCategory = prvalue(load) -# 1301| getCondition(): [VariableAccess] b -# 1301| Type = [BoolType] bool -# 1301| ValueCategory = prvalue(load) -# 1301| getElse(): [VariableAccess] x -# 1301| Type = [IntType] int -# 1301| ValueCategory = prvalue(load) -# 1302| getStmt(2): [ExprStmt] ExprStmt -# 1302| getExpr(): [AssignExpr] ... = ... +# 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| ValueCategory = lvalue -# 1302| getLValue(): [VariableAccess] z -# 1302| Type = [IntType] int -# 1302| ValueCategory = lvalue -# 1302| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1302| Type = [LongType] long -# 1302| ValueCategory = prvalue(load) -# 1302| getCondition(): [VariableAccess] b -# 1302| Type = [BoolType] bool -# 1302| ValueCategory = prvalue(load) -# 1302| getElse(): [VariableAccess] y -# 1302| Type = [LongType] long +# 1302| getVariable().getInitializer(): [Initializer] initializer for z +# 1302| getExpr(): [VariableAccess] x +# 1302| Type = [IntType] int # 1302| ValueCategory = prvalue(load) -# 1302| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1302| Conversion = [IntegralConversion] integral conversion -# 1302| Type = [IntType] int -# 1302| ValueCategory = prvalue -# 1303| getStmt(3): [ExprStmt] ExprStmt +# 1303| getStmt(1): [ExprStmt] ExprStmt # 1303| getExpr(): [AssignExpr] ... = ... # 1303| Type = [IntType] int # 1303| ValueCategory = lvalue @@ -10625,17 +10627,13 @@ ir.cpp: # 1303| getRValue(): [ConditionalExpr] ... ? ... : ... # 1303| Type = [IntType] int # 1303| ValueCategory = prvalue(load) -# 1303| getCondition(): [VariableAccess] x -# 1303| Type = [IntType] int +# 1303| getCondition(): [VariableAccess] b +# 1303| Type = [BoolType] bool # 1303| ValueCategory = prvalue(load) # 1303| getElse(): [VariableAccess] x # 1303| Type = [IntType] int # 1303| ValueCategory = prvalue(load) -# 1303| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1303| Conversion = [BoolConversion] conversion to bool -# 1303| Type = [BoolType] bool -# 1303| ValueCategory = prvalue -# 1304| getStmt(4): [ExprStmt] ExprStmt +# 1304| getStmt(2): [ExprStmt] ExprStmt # 1304| getExpr(): [AssignExpr] ... = ... # 1304| Type = [IntType] int # 1304| ValueCategory = lvalue @@ -10645,21 +10643,17 @@ ir.cpp: # 1304| getRValue(): [ConditionalExpr] ... ? ... : ... # 1304| Type = [LongType] long # 1304| ValueCategory = prvalue(load) -# 1304| getCondition(): [VariableAccess] x -# 1304| Type = [IntType] int +# 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| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1304| Conversion = [BoolConversion] conversion to bool -# 1304| Type = [BoolType] bool -# 1304| ValueCategory = prvalue # 1304| getRValue().getFullyConverted(): [CStyleCast] (int)... # 1304| Conversion = [IntegralConversion] integral conversion # 1304| Type = [IntType] int # 1304| ValueCategory = prvalue -# 1305| getStmt(5): [ExprStmt] ExprStmt +# 1305| getStmt(3): [ExprStmt] ExprStmt # 1305| getExpr(): [AssignExpr] ... = ... # 1305| Type = [IntType] int # 1305| ValueCategory = lvalue @@ -10667,10 +10661,10 @@ ir.cpp: # 1305| Type = [IntType] int # 1305| ValueCategory = lvalue # 1305| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1305| Type = [LongType] long +# 1305| Type = [IntType] int # 1305| ValueCategory = prvalue(load) -# 1305| getCondition(): [VariableAccess] y -# 1305| Type = [LongType] long +# 1305| getCondition(): [VariableAccess] x +# 1305| Type = [IntType] int # 1305| ValueCategory = prvalue(load) # 1305| getElse(): [VariableAccess] x # 1305| Type = [IntType] int @@ -10679,15 +10673,7 @@ ir.cpp: # 1305| Conversion = [BoolConversion] conversion to bool # 1305| Type = [BoolType] bool # 1305| ValueCategory = prvalue -# 1305| getElse().getFullyConverted(): [CStyleCast] (long)... -# 1305| Conversion = [IntegralConversion] integral conversion -# 1305| Type = [LongType] long -# 1305| ValueCategory = prvalue -# 1305| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 1305| Conversion = [IntegralConversion] integral conversion -# 1305| Type = [IntType] int -# 1305| ValueCategory = prvalue -# 1306| getStmt(6): [ExprStmt] ExprStmt +# 1306| getStmt(4): [ExprStmt] ExprStmt # 1306| getExpr(): [AssignExpr] ... = ... # 1306| Type = [IntType] int # 1306| ValueCategory = lvalue @@ -10697,8 +10683,8 @@ ir.cpp: # 1306| getRValue(): [ConditionalExpr] ... ? ... : ... # 1306| Type = [LongType] long # 1306| ValueCategory = prvalue(load) -# 1306| getCondition(): [VariableAccess] y -# 1306| Type = [LongType] long +# 1306| getCondition(): [VariableAccess] x +# 1306| Type = [IntType] int # 1306| ValueCategory = prvalue(load) # 1306| getElse(): [VariableAccess] y # 1306| Type = [LongType] long @@ -10711,7 +10697,35 @@ ir.cpp: # 1306| Conversion = [IntegralConversion] integral conversion # 1306| Type = [IntType] int # 1306| ValueCategory = prvalue -# 1308| getStmt(7): [ExprStmt] ExprStmt +# 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 @@ -10719,319 +10733,303 @@ ir.cpp: # 1308| Type = [IntType] int # 1308| ValueCategory = lvalue # 1308| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1308| Type = [IntType] int +# 1308| Type = [LongType] long # 1308| ValueCategory = prvalue(load) -# 1308| getCondition(): [LogicalOrExpr] ... || ... -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue -# 1308| getLeftOperand(): [LogicalAndExpr] ... && ... -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue -# 1308| getLeftOperand(): [VariableAccess] x -# 1308| Type = [IntType] int -# 1308| ValueCategory = prvalue(load) -# 1308| getRightOperand(): [VariableAccess] b -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue(load) -# 1308| getLeftOperand().getFullyConverted(): [CStyleCast] (bool)... -# 1308| Conversion = [BoolConversion] conversion to bool -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue -# 1308| getRightOperand(): [VariableAccess] y -# 1308| Type = [LongType] long -# 1308| ValueCategory = prvalue(load) -# 1308| getRightOperand().getFullyConverted(): [CStyleCast] (bool)... -# 1308| Conversion = [BoolConversion] conversion to bool -# 1308| Type = [BoolType] bool -# 1308| ValueCategory = prvalue -# 1308| getElse(): [VariableAccess] x -# 1308| Type = [IntType] int +# 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(): [ParenthesisExpr] (...) +# 1308| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 1308| Conversion = [BoolConversion] conversion to bool # 1308| Type = [BoolType] bool # 1308| ValueCategory = prvalue -# 1309| getStmt(8): [ReturnStmt] return ... -# 1311| [TopLevelFunction] bool predicateA() -# 1311| : -# 1312| [TopLevelFunction] bool predicateB() -# 1312| : -# 1314| [TopLevelFunction] int shortCircuitConditional(int, int) +# 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() # 1314| : -# 1314| getParameter(0): [Parameter] x -# 1314| Type = [IntType] int -# 1314| getParameter(1): [Parameter] y -# 1314| Type = [IntType] int -# 1314| getEntryPoint(): [BlockStmt] { ... } -# 1315| getStmt(0): [ReturnStmt] return ... -# 1315| getExpr(): [ConditionalExpr] ... ? ... : ... -# 1315| Type = [IntType] int -# 1315| ValueCategory = prvalue(load) -# 1315| getCondition(): [LogicalAndExpr] ... && ... -# 1315| Type = [BoolType] bool -# 1315| ValueCategory = prvalue -# 1315| getLeftOperand(): [FunctionCall] call to predicateA -# 1315| Type = [BoolType] bool -# 1315| ValueCategory = prvalue -# 1315| getRightOperand(): [FunctionCall] call to predicateB -# 1315| Type = [BoolType] bool -# 1315| ValueCategory = prvalue -# 1315| getThen(): [VariableAccess] x -# 1315| Type = [IntType] int -# 1315| ValueCategory = prvalue(load) -# 1315| getElse(): [VariableAccess] y -# 1315| Type = [IntType] int -# 1315| ValueCategory = prvalue(load) -# 1318| [Operator,TopLevelFunction] void* operator new(size_t, void*) -# 1318| : -# 1318| getParameter(0): [Parameter] (unnamed parameter 0) -# 1318| Type = [CTypedefType,Size_t] size_t -# 1318| getParameter(1): [Parameter] (unnamed parameter 1) -# 1318| Type = [VoidPointerType] void * -# 1320| [TopLevelFunction] void f(int*) +# 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] p -# 1320| Type = [IntPointerType] int * -# 1321| getEntryPoint(): [BlockStmt] { ... } -# 1322| getStmt(0): [ExprStmt] ExprStmt -# 1322| getExpr(): [NewExpr] new -# 1322| Type = [IntPointerType] int * -# 1322| ValueCategory = prvalue -# 1322| getAllocatorCall(): [FunctionCall] call to operator new -# 1322| Type = [VoidPointerType] void * -# 1322| ValueCategory = prvalue -# 1322| getArgument(0): [ErrorExpr] -# 1322| Type = [LongType] unsigned long -# 1322| ValueCategory = prvalue -# 1322| getArgument(1): [VariableAccess] p -# 1322| Type = [IntPointerType] int * -# 1322| ValueCategory = prvalue(load) -# 1322| getArgument(1).getFullyConverted(): [CStyleCast] (void *)... -# 1322| Conversion = [PointerConversion] pointer conversion -# 1322| Type = [VoidPointerType] void * -# 1322| ValueCategory = prvalue -# 1323| getStmt(1): [ReturnStmt] return ... -# 1326| [FunctionTemplateInstantiation,TopLevelFunction] Point defaultConstruct() -# 1326| : -# 1326| getEntryPoint(): [BlockStmt] { ... } -# 1327| getStmt(0): [ReturnStmt] return ... -# 1327| getExpr(): [Literal] 0 -# 1327| Type = [Struct] Point -# 1327| Value = [Literal] 0 -# 1327| ValueCategory = prvalue -# 1326| [FunctionTemplateInstantiation,TopLevelFunction] String defaultConstruct() -# 1326| : -# 1326| getEntryPoint(): [BlockStmt] { ... } -# 1327| getStmt(0): [ReturnStmt] return ... -# 1327| getExpr(): [ConstructorCall] call to String -# 1327| Type = [VoidType] void -# 1327| ValueCategory = prvalue -# 1326| [TemplateFunction,TopLevelFunction] T defaultConstruct() -# 1326| : -# 1326| getEntryPoint(): [BlockStmt] { ... } -# 1327| getStmt(0): [ReturnStmt] return ... -# 1327| getExpr(): [Literal] 0 -# 1327| Type = [TemplateParameter] T -# 1327| Value = [Literal] 0 -# 1327| ValueCategory = prvalue -# 1327| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1327| Type = [TemplateParameter] T -# 1327| ValueCategory = prvalue(load) -# 1326| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor defaultConstruct() -# 1326| : -# 1326| getEntryPoint(): [BlockStmt] { ... } -# 1327| getStmt(0): [ReturnStmt] return ... -# 1327| getExpr(): [ConstructorCall] call to copy_constructor -# 1327| Type = [VoidType] void -# 1327| ValueCategory = prvalue -# 1326| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only defaultConstruct() -# 1326| : -# 1326| getEntryPoint(): [BlockStmt] { ... } -# 1327| getStmt(0): [ReturnStmt] return ... -# 1327| getExpr(): [Literal] 0 -# 1327| Type = [Class] destructor_only -# 1327| Value = [Literal] 0 -# 1327| ValueCategory = prvalue -# 1330| [CopyAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only const&) -# 1330| : +# 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 +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const constructor_only & -# 1330| [MoveAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only&&) -# 1330| : +# 1332| [MoveAssignmentOperator] constructor_only& constructor_only::operator=(constructor_only&&) +# 1332| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] constructor_only && -# 1330| [CopyConstructor] void constructor_only::constructor_only(constructor_only const&) -# 1330| : +# 1332| [CopyConstructor] void constructor_only::constructor_only(constructor_only const&) +# 1332| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const constructor_only & -# 1330| [MoveConstructor] void constructor_only::constructor_only(constructor_only&&) -# 1330| : +# 1332| [MoveConstructor] void constructor_only::constructor_only(constructor_only&&) +# 1332| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] constructor_only && -# 1335| [Constructor] void constructor_only::constructor_only(int) -# 1335| : -# 1335| getParameter(0): [Parameter] x -# 1335| Type = [IntType] int -# 1338| [CopyAssignmentOperator] copy_constructor& copy_constructor::operator=(copy_constructor const&) -# 1338| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const copy_constructor & -# 1343| [Constructor] void copy_constructor::copy_constructor() -# 1343| : -# 1344| [CopyConstructor] void copy_constructor::copy_constructor(copy_constructor const&) -# 1344| : -# 1344| getParameter(0): [Parameter] (unnamed parameter 0) -# 1344| Type = [LValueReferenceType] const copy_constructor & -# 1346| [MemberFunction] void copy_constructor::method() +# 1345| [Constructor] void copy_constructor::copy_constructor() +# 1345| : +# 1346| [CopyConstructor] void copy_constructor::copy_constructor(copy_constructor const&) # 1346| : -# 1349| [CopyAssignmentOperator] destructor_only& destructor_only::operator=(destructor_only const&) -# 1349| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const destructor_only & -# 1349| [Constructor] void destructor_only::destructor_only() -# 1349| : -# 1351| [Destructor] void destructor_only::~destructor_only() +# 1351| [Constructor] void destructor_only::destructor_only() # 1351| : -# 1353| [MemberFunction] void destructor_only::method() +# 1353| [Destructor] void destructor_only::~destructor_only() # 1353| : -# 1357| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(Point const&) -# 1357| : -# 1357| getParameter(0): [Parameter] v -# 1357| Type = [LValueReferenceType] const Point & -# 1357| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(String const&) -# 1357| : -# 1357| getParameter(0): [Parameter] v -# 1357| Type = [LValueReferenceType] const String & -# 1357| [TemplateFunction,TopLevelFunction] void acceptRef(T const&) -# 1357| : -# 1357| getParameter(0): [Parameter] v -# 1357| Type = [LValueReferenceType] const T & -# 1357| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(copy_constructor const&) -# 1357| : -# 1357| getParameter(0): [Parameter] v -# 1357| Type = [LValueReferenceType] const copy_constructor & -# 1357| [FunctionTemplateInstantiation,TopLevelFunction] void acceptRef(destructor_only const&) -# 1357| : -# 1357| getParameter(0): [Parameter] v -# 1357| Type = [LValueReferenceType] const destructor_only & -# 1360| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(Point) -# 1360| : -# 1360| getParameter(0): [Parameter] v -# 1360| Type = [Struct] Point -# 1360| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(String) -# 1360| : -# 1360| getParameter(0): [Parameter] v -# 1360| Type = [Struct] String -# 1360| [TemplateFunction,TopLevelFunction] void acceptValue(T) -# 1360| : -# 1360| getParameter(0): [Parameter] v -# 1360| Type = [TemplateParameter] T -# 1360| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(copy_constructor) -# 1360| : -# 1360| getParameter(0): [Parameter] v -# 1360| Type = [Class] copy_constructor -# 1360| [FunctionTemplateInstantiation,TopLevelFunction] void acceptValue(destructor_only) -# 1360| : -# 1360| getParameter(0): [Parameter] v -# 1360| Type = [Class] destructor_only -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] POD_Derived returnValue() -# 1363| : -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] POD_Middle returnValue() -# 1363| : -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] Point returnValue() -# 1363| : -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] String returnValue() -# 1363| : -# 1363| [TemplateFunction,TopLevelFunction] T returnValue() -# 1363| : -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] UnusualFields returnValue() -# 1363| : -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] copy_constructor returnValue() -# 1363| : -# 1363| [FunctionTemplateInstantiation,TopLevelFunction] destructor_only returnValue() -# 1363| : -# 1365| [TopLevelFunction] void temporary_string() +# 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| getEntryPoint(): [BlockStmt] { ... } -# 1366| getStmt(0): [DeclStmt] declaration -# 1366| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 1366| Type = [Struct] String -# 1366| getVariable().getInitializer(): [Initializer] initializer for s -# 1366| getExpr(): [FunctionCall] call to returnValue -# 1366| Type = [Struct] String -# 1366| ValueCategory = prvalue -# 1367| getStmt(1): [DeclStmt] declaration -# 1367| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rs -# 1367| Type = [LValueReferenceType] const String & -# 1367| getVariable().getInitializer(): [Initializer] initializer for rs -# 1367| getExpr(): [FunctionCall] call to returnValue -# 1367| Type = [Struct] String -# 1367| ValueCategory = prvalue -# 1367| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1367| Type = [LValueReferenceType] const String & -# 1367| ValueCategory = prvalue -# 1367| getExpr(): [CStyleCast] (const String)... -# 1367| Conversion = [GlvalueConversion] glvalue conversion -# 1367| Type = [SpecifiedType] const String -# 1367| ValueCategory = lvalue -# 1367| getExpr(): [TemporaryObjectExpr] temporary object -# 1367| Type = [Struct] String -# 1367| ValueCategory = lvalue -# 1369| getStmt(2): [ExprStmt] ExprStmt -# 1369| getExpr(): [FunctionCall] call to acceptRef -# 1369| Type = [VoidType] void -# 1369| ValueCategory = prvalue -# 1369| getArgument(0): [VariableAccess] s -# 1369| Type = [Struct] String -# 1369| ValueCategory = lvalue -# 1369| getArgument(0).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 -# 1370| getStmt(3): [ExprStmt] ExprStmt -# 1370| getExpr(): [FunctionCall] call to acceptRef -# 1370| Type = [VoidType] void -# 1370| ValueCategory = prvalue -# 1370| getArgument(0): [ConstructorCall] call to String -# 1370| Type = [VoidType] void -# 1370| ValueCategory = prvalue -# 1370| getArgument(0): foo -# 1370| Type = [ArrayType] const char[4] -# 1370| Value = [StringLiteral] "foo" -# 1370| ValueCategory = lvalue -# 1370| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1370| Type = [PointerType] const char * -# 1370| ValueCategory = prvalue -# 1370| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1370| Type = [LValueReferenceType] const String & -# 1370| ValueCategory = prvalue -# 1370| getExpr(): [TemporaryObjectExpr] temporary object -# 1370| Type = [SpecifiedType] const String -# 1370| ValueCategory = lvalue -# 1371| getStmt(4): [ExprStmt] ExprStmt -# 1371| getExpr(): [FunctionCall] call to acceptValue +# 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): [ConstructorCall] call to String -# 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 -# 1371| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1371| getArgument(0): [VariableAccess] s # 1371| Type = [Struct] String # 1371| ValueCategory = lvalue -# 1372| getStmt(5): [ExprStmt] ExprStmt -# 1372| getExpr(): [FunctionCall] call to acceptValue +# 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 @@ -11044,468 +11042,508 @@ ir.cpp: # 1372| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion # 1372| Type = [PointerType] const char * # 1372| ValueCategory = prvalue -# 1372| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1372| Type = [Struct] String -# 1372| ValueCategory = lvalue -# 1373| getStmt(6): [ExprStmt] ExprStmt -# 1373| getExpr(): [FunctionCall] call to c_str -# 1373| Type = [PointerType] const char * +# 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| getQualifier(): [ConstructorCall] call to String +# 1373| getArgument(0): [ConstructorCall] call to String # 1373| Type = [VoidType] void # 1373| ValueCategory = prvalue -# 1373| getQualifier().getFullyConverted(): [CStyleCast] (const String)... -# 1373| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion -# 1373| Type = [SpecifiedType] const String -# 1373| ValueCategory = prvalue -# 1373| getExpr(): [TemporaryObjectExpr] temporary object +# 1373| getArgument(0): [VariableAccess] s # 1373| Type = [Struct] String -# 1373| ValueCategory = prvalue(load) -# 1374| getStmt(7): [ExprStmt] ExprStmt -# 1374| getExpr(): [FunctionCall] call to c_str -# 1374| Type = [PointerType] const char * +# 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| getQualifier(): [FunctionCall] call to returnValue -# 1374| Type = [Struct] String -# 1374| ValueCategory = prvalue -# 1374| getQualifier().getFullyConverted(): [CStyleCast] (const String)... -# 1374| Conversion = [PrvalueAdjustmentConversion] prvalue adjustment conversion -# 1374| Type = [SpecifiedType] const String +# 1374| getArgument(0): [ConstructorCall] call to String +# 1374| Type = [VoidType] void # 1374| ValueCategory = prvalue -# 1374| getExpr(): [TemporaryObjectExpr] temporary object -# 1374| Type = [Struct] String -# 1374| ValueCategory = prvalue(load) -# 1376| getStmt(8): [ExprStmt] ExprStmt -# 1376| getExpr(): [FunctionCall] call to defaultConstruct -# 1376| Type = [Struct] String -# 1376| ValueCategory = prvalue -# 1376| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1376| Type = [Struct] String +# 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 -# 1377| getStmt(9): [ReturnStmt] return ... -# 1377| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 1377| Type = [VoidType] void -# 1377| ValueCategory = prvalue -# 1377| getQualifier(): [VariableAccess] s -# 1377| Type = [Struct] String -# 1377| ValueCategory = lvalue -# 1379| [TopLevelFunction] void temporary_destructor_only() -# 1379| : -# 1379| getEntryPoint(): [BlockStmt] { ... } -# 1380| getStmt(0): [DeclStmt] declaration -# 1380| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1380| Type = [Class] destructor_only -# 1380| getVariable().getInitializer(): [Initializer] initializer for d -# 1380| getExpr(): [FunctionCall] call to returnValue -# 1380| Type = [Class] destructor_only -# 1380| ValueCategory = prvalue -# 1381| getStmt(1): [DeclStmt] declaration -# 1381| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1381| Type = [LValueReferenceType] const destructor_only & -# 1381| getVariable().getInitializer(): [Initializer] initializer for rd -# 1381| getExpr(): [FunctionCall] call to returnValue -# 1381| Type = [Class] destructor_only -# 1381| ValueCategory = prvalue -# 1381| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1381| Type = [LValueReferenceType] const destructor_only & -# 1381| ValueCategory = prvalue -# 1381| getExpr(): [CStyleCast] (const destructor_only)... -# 1381| Conversion = [GlvalueConversion] glvalue conversion -# 1381| Type = [SpecifiedType] const destructor_only -# 1381| ValueCategory = lvalue -# 1381| getExpr(): [TemporaryObjectExpr] temporary object -# 1381| Type = [Class] destructor_only -# 1381| ValueCategory = lvalue -# 1382| getStmt(2): [DeclStmt] declaration -# 1382| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 +# 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 -# 1383| getStmt(3): [ExprStmt] ExprStmt -# 1383| getExpr(): [FunctionCall] call to acceptRef -# 1383| Type = [VoidType] void -# 1383| ValueCategory = prvalue -# 1383| getArgument(0): [VariableAccess] d -# 1383| Type = [Class] destructor_only -# 1383| ValueCategory = lvalue -# 1383| getArgument(0).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 -# 1384| getStmt(4): [ExprStmt] ExprStmt -# 1384| getExpr(): [FunctionCall] call to acceptValue -# 1384| Type = [VoidType] void -# 1384| ValueCategory = prvalue -# 1384| getArgument(0): [VariableAccess] d -# 1384| Type = [Class] destructor_only -# 1384| ValueCategory = prvalue(load) -# 1384| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1384| Type = [Class] destructor_only -# 1384| ValueCategory = lvalue -# 1385| getStmt(5): [ExprStmt] ExprStmt -# 1385| getExpr(): [FunctionCall] call to method +# 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| getQualifier(): [Literal] 0 +# 1385| getArgument(0): [VariableAccess] d # 1385| Type = [Class] destructor_only -# 1385| Value = [Literal] 0 +# 1385| ValueCategory = lvalue +# 1385| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1385| Type = [LValueReferenceType] const destructor_only & # 1385| ValueCategory = prvalue -# 1385| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1385| Type = [Class] destructor_only -# 1385| ValueCategory = prvalue(load) -# 1386| getStmt(6): [ExprStmt] ExprStmt -# 1386| getExpr(): [FunctionCall] call to method +# 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| getQualifier(): [FunctionCall] call to returnValue -# 1386| Type = [Class] destructor_only -# 1386| ValueCategory = prvalue -# 1386| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1386| getArgument(0): [VariableAccess] d # 1386| Type = [Class] destructor_only # 1386| ValueCategory = prvalue(load) -# 1388| getStmt(7): [ExprStmt] ExprStmt -# 1388| getExpr(): [FunctionCall] call to defaultConstruct -# 1388| Type = [Class] destructor_only -# 1388| ValueCategory = prvalue -# 1388| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1388| Type = [Class] destructor_only +# 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 -# 1389| getStmt(8): [ReturnStmt] return ... -# 1389| getImplicitDestructorCall(0): [DestructorCall] call to ~destructor_only -# 1389| Type = [VoidType] void -# 1389| ValueCategory = prvalue -# 1389| getQualifier(): [VariableAccess] d2 -# 1389| Type = [Class] destructor_only -# 1389| ValueCategory = lvalue -# 1389| getImplicitDestructorCall(1): [DestructorCall] call to ~destructor_only -# 1389| Type = [VoidType] void -# 1389| ValueCategory = prvalue -# 1389| getQualifier(): [VariableAccess] d -# 1389| Type = [Class] destructor_only -# 1389| ValueCategory = lvalue -# 1391| [TopLevelFunction] void temporary_copy_constructor() -# 1391| : -# 1391| getEntryPoint(): [BlockStmt] { ... } -# 1392| getStmt(0): [DeclStmt] declaration -# 1392| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1392| Type = [Class] copy_constructor -# 1392| getVariable().getInitializer(): [Initializer] initializer for d -# 1392| getExpr(): [FunctionCall] call to returnValue -# 1392| Type = [Class] copy_constructor -# 1392| ValueCategory = prvalue -# 1393| getStmt(1): [DeclStmt] declaration -# 1393| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1393| Type = [LValueReferenceType] const copy_constructor & -# 1393| getVariable().getInitializer(): [Initializer] initializer for rd -# 1393| getExpr(): [FunctionCall] call to returnValue -# 1393| Type = [Class] copy_constructor -# 1393| ValueCategory = prvalue -# 1393| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1393| Type = [LValueReferenceType] const copy_constructor & -# 1393| ValueCategory = prvalue -# 1393| getExpr(): [CStyleCast] (const copy_constructor)... -# 1393| Conversion = [GlvalueConversion] glvalue conversion -# 1393| Type = [SpecifiedType] const copy_constructor -# 1393| ValueCategory = lvalue -# 1393| getExpr(): [TemporaryObjectExpr] temporary object -# 1393| Type = [Class] copy_constructor -# 1393| ValueCategory = lvalue -# 1394| getStmt(2): [DeclStmt] declaration -# 1394| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d2 +# 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 d2 -# 1394| getExpr(): [ConstructorCall] call to copy_constructor -# 1394| Type = [VoidType] void +# 1394| getVariable().getInitializer(): [Initializer] initializer for d +# 1394| getExpr(): [FunctionCall] call to returnValue +# 1394| Type = [Class] copy_constructor # 1394| ValueCategory = prvalue -# 1395| getStmt(3): [ExprStmt] ExprStmt -# 1395| getExpr(): [FunctionCall] call to acceptRef -# 1395| Type = [VoidType] void -# 1395| ValueCategory = prvalue -# 1395| getArgument(0): [VariableAccess] d -# 1395| Type = [Class] copy_constructor -# 1395| ValueCategory = lvalue -# 1395| getArgument(0).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 -# 1396| getStmt(4): [ExprStmt] ExprStmt -# 1396| getExpr(): [FunctionCall] call to acceptValue -# 1396| Type = [VoidType] void -# 1396| ValueCategory = prvalue -# 1396| getArgument(0): [ConstructorCall] call to copy_constructor -# 1396| Type = [VoidType] void -# 1396| ValueCategory = prvalue -# 1396| getArgument(0): [VariableAccess] d -# 1396| Type = [Class] copy_constructor -# 1396| ValueCategory = lvalue -# 1396| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1396| Type = [LValueReferenceType] const copy_constructor & +# 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 -# 1396| getExpr(): [CStyleCast] (const copy_constructor)... -# 1396| Conversion = [GlvalueConversion] glvalue conversion -# 1396| Type = [SpecifiedType] const copy_constructor -# 1396| ValueCategory = lvalue -# 1396| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1396| Type = [Class] copy_constructor -# 1396| ValueCategory = lvalue -# 1397| getStmt(5): [ExprStmt] ExprStmt -# 1397| getExpr(): [FunctionCall] call to method +# 1397| getStmt(3): [ExprStmt] ExprStmt +# 1397| getExpr(): [FunctionCall] call to acceptRef # 1397| Type = [VoidType] void # 1397| ValueCategory = prvalue -# 1397| getQualifier(): [ConstructorCall] call to copy_constructor -# 1397| Type = [VoidType] void -# 1397| ValueCategory = prvalue -# 1397| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1397| getArgument(0): [VariableAccess] d # 1397| Type = [Class] copy_constructor -# 1397| ValueCategory = prvalue(load) -# 1398| getStmt(6): [ExprStmt] ExprStmt -# 1398| getExpr(): [FunctionCall] call to method +# 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| getQualifier(): [FunctionCall] call to returnValue -# 1398| Type = [Class] copy_constructor +# 1398| getArgument(0): [ConstructorCall] call to copy_constructor +# 1398| Type = [VoidType] void # 1398| ValueCategory = prvalue -# 1398| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 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 = prvalue(load) -# 1399| getStmt(7): [ExprStmt] ExprStmt -# 1399| getExpr(): [FunctionCall] call to defaultConstruct -# 1399| Type = [Class] copy_constructor -# 1399| ValueCategory = prvalue -# 1399| getExpr().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1399| 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 -# 1401| getStmt(8): [DeclStmt] declaration -# 1401| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1401| Type = [IntType] int -# 1401| getVariable().getInitializer(): [Initializer] initializer for y -# 1401| getExpr(): [ValueFieldAccess] y -# 1401| Type = [IntType] int -# 1401| ValueCategory = prvalue -# 1401| getQualifier(): [FunctionCall] call to returnValue -# 1401| Type = [Class] copy_constructor -# 1401| ValueCategory = prvalue -# 1401| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1401| Type = [Class] copy_constructor -# 1401| ValueCategory = prvalue(load) -# 1402| getStmt(9): [ReturnStmt] return ... -# 1404| [TopLevelFunction] void temporary_point() -# 1404| : -# 1404| getEntryPoint(): [BlockStmt] { ... } -# 1405| getStmt(0): [DeclStmt] declaration -# 1405| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p -# 1405| Type = [Struct] Point -# 1405| getVariable().getInitializer(): [Initializer] initializer for p -# 1405| getExpr(): [FunctionCall] call to returnValue -# 1405| Type = [Struct] Point -# 1405| ValueCategory = prvalue -# 1406| getStmt(1): [DeclStmt] declaration -# 1406| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rp -# 1406| Type = [LValueReferenceType] const Point & -# 1406| getVariable().getInitializer(): [Initializer] initializer for rp -# 1406| getExpr(): [FunctionCall] call to returnValue -# 1406| Type = [Struct] Point -# 1406| ValueCategory = prvalue -# 1406| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1406| Type = [LValueReferenceType] const Point & -# 1406| ValueCategory = prvalue -# 1406| getExpr(): [CStyleCast] (const Point)... -# 1406| Conversion = [GlvalueConversion] glvalue conversion -# 1406| Type = [SpecifiedType] const Point -# 1406| ValueCategory = lvalue -# 1406| getExpr(): [TemporaryObjectExpr] temporary object -# 1406| Type = [Struct] Point -# 1406| ValueCategory = lvalue -# 1408| getStmt(2): [ExprStmt] ExprStmt -# 1408| getExpr(): [FunctionCall] call to acceptRef -# 1408| Type = [VoidType] void -# 1408| ValueCategory = prvalue -# 1408| getArgument(0): [VariableAccess] p -# 1408| Type = [Struct] Point -# 1408| ValueCategory = lvalue -# 1408| getArgument(0).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 -# 1409| getStmt(3): [ExprStmt] ExprStmt -# 1409| getExpr(): [FunctionCall] call to acceptValue -# 1409| Type = [VoidType] void -# 1409| ValueCategory = prvalue -# 1409| getArgument(0): [VariableAccess] p -# 1409| Type = [Struct] Point -# 1409| ValueCategory = prvalue(load) -# 1410| getStmt(4): [ExprStmt] ExprStmt -# 1410| getExpr(): [ValueFieldAccess] x -# 1410| Type = [IntType] int -# 1410| Value = [ValueFieldAccess] 0 +# 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() +# 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| getQualifier(): [Literal] 0 +# 1410| getArgument(0): [VariableAccess] p # 1410| Type = [Struct] Point -# 1410| Value = [Literal] 0 +# 1410| ValueCategory = lvalue +# 1410| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 1410| Type = [LValueReferenceType] const Point & # 1410| ValueCategory = prvalue -# 1410| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 1410| Type = [Struct] Point -# 1410| ValueCategory = prvalue(load) -# 1411| getStmt(5): [DeclStmt] declaration -# 1411| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1411| Type = [IntType] int -# 1411| getVariable().getInitializer(): [Initializer] initializer for y -# 1411| getExpr(): [ValueFieldAccess] y -# 1411| Type = [IntType] int -# 1411| ValueCategory = prvalue -# 1411| getQualifier(): [FunctionCall] call to returnValue -# 1411| Type = [Struct] Point -# 1411| ValueCategory = prvalue -# 1413| getStmt(6): [ExprStmt] ExprStmt -# 1413| getExpr(): [FunctionCall] call to defaultConstruct -# 1413| Type = [Struct] Point -# 1413| ValueCategory = prvalue -# 1414| getStmt(7): [ReturnStmt] return ... -# 1416| [CopyAssignmentOperator] UnusualFields& UnusualFields::operator=(UnusualFields const&) -# 1416| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const UnusualFields & -# 1416| [Constructor] void UnusualFields::UnusualFields() -# 1416| : -# 1416| [CopyConstructor] void UnusualFields::UnusualFields(UnusualFields const&) -# 1416| : +# 1418| [Constructor] void UnusualFields::UnusualFields() +# 1418| : +# 1418| [CopyConstructor] void UnusualFields::UnusualFields(UnusualFields const&) +# 1418| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const UnusualFields & -# 1416| [MoveConstructor] void UnusualFields::UnusualFields(UnusualFields&&) -# 1416| : +# 1418| [MoveConstructor] void UnusualFields::UnusualFields(UnusualFields&&) +# 1418| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] UnusualFields && -# 1421| [TopLevelFunction] void temporary_unusual_fields() -# 1421| : -# 1421| getEntryPoint(): [BlockStmt] { ... } -# 1422| getStmt(0): [DeclStmt] declaration -# 1422| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx -# 1422| Type = [LValueReferenceType] const int & -# 1422| getVariable().getInitializer(): [Initializer] initializer for rx -# 1422| getExpr(): [ValueFieldAccess] r -# 1422| Type = [LValueReferenceType] int & -# 1422| ValueCategory = prvalue -# 1422| getQualifier(): [FunctionCall] call to returnValue -# 1422| Type = [Struct] UnusualFields -# 1422| ValueCategory = prvalue -# 1422| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1422| Type = [LValueReferenceType] const int & -# 1422| ValueCategory = prvalue -# 1422| getExpr(): [CStyleCast] (const int)... -# 1422| Conversion = [GlvalueConversion] glvalue conversion -# 1422| Type = [SpecifiedType] const int -# 1422| ValueCategory = lvalue -# 1422| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1422| Type = [IntType] int -# 1422| ValueCategory = lvalue -# 1423| getStmt(1): [DeclStmt] declaration -# 1423| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1423| Type = [IntType] int -# 1423| getVariable().getInitializer(): [Initializer] initializer for x -# 1423| getExpr(): [ValueFieldAccess] r -# 1423| Type = [LValueReferenceType] int & -# 1423| ValueCategory = prvalue -# 1423| getQualifier(): [FunctionCall] call to returnValue -# 1423| Type = [Struct] UnusualFields -# 1423| ValueCategory = prvalue -# 1423| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1423| Type = [IntType] int -# 1423| ValueCategory = prvalue(load) -# 1425| getStmt(2): [DeclStmt] declaration -# 1425| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rf -# 1425| Type = [LValueReferenceType] const float & -# 1425| getVariable().getInitializer(): [Initializer] initializer for rf -# 1425| getExpr(): [ArrayExpr] access to array -# 1425| Type = [FloatType] float -# 1425| ValueCategory = lvalue -# 1425| getArrayBase(): [ValueFieldAccess] a -# 1425| Type = [ArrayType] float[10] -# 1425| ValueCategory = prvalue -# 1425| getQualifier(): [FunctionCall] call to returnValue -# 1425| Type = [Struct] UnusualFields -# 1425| ValueCategory = prvalue -# 1425| getArrayOffset(): [Literal] 3 -# 1425| Type = [IntType] int -# 1425| Value = [Literal] 3 -# 1425| ValueCategory = prvalue -# 1425| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1425| Type = [PointerType] float * -# 1425| ValueCategory = prvalue -# 1425| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1425| Type = [LValueReferenceType] const float & +# 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| getExpr(): [CStyleCast] (const float)... -# 1425| Conversion = [GlvalueConversion] glvalue conversion -# 1425| Type = [SpecifiedType] const float -# 1425| ValueCategory = lvalue -# 1426| getStmt(3): [DeclStmt] declaration -# 1426| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f -# 1426| Type = [FloatType] float -# 1426| getVariable().getInitializer(): [Initializer] initializer for f -# 1426| getExpr(): [ArrayExpr] access to array -# 1426| Type = [FloatType] float -# 1426| ValueCategory = prvalue(load) -# 1426| getArrayBase(): [ValueFieldAccess] a -# 1426| Type = [ArrayType] float[10] -# 1426| ValueCategory = prvalue -# 1426| getQualifier(): [FunctionCall] call to returnValue -# 1426| Type = [Struct] UnusualFields -# 1426| ValueCategory = prvalue -# 1426| getArrayOffset(): [Literal] 5 -# 1426| Type = [IntType] int -# 1426| Value = [Literal] 5 -# 1426| ValueCategory = prvalue -# 1426| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1426| Type = [PointerType] float * -# 1426| ValueCategory = prvalue -# 1427| getStmt(4): [ReturnStmt] return ... -# 1429| [CopyAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base const&) -# 1429| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Base & -# 1429| [MoveAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base&&) -# 1429| : +# 1431| [MoveAssignmentOperator] POD_Base& POD_Base::operator=(POD_Base&&) +# 1431| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Base && -# 1432| [ConstMemberFunction] float POD_Base::f() const -# 1432| : -# 1435| [CopyAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle const&) -# 1435| : +# 1434| [ConstMemberFunction] float POD_Base::f() const +# 1434| : +# 1437| [CopyAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle const&) +# 1437| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Middle & -# 1435| [MoveAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle&&) -# 1435| : +# 1437| [MoveAssignmentOperator] POD_Middle& POD_Middle::operator=(POD_Middle&&) +# 1437| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Middle && -# 1435| [Constructor] void POD_Middle::POD_Middle() -# 1435| : -# 1439| [CopyAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived const&) -# 1439| : +# 1437| [Constructor] void POD_Middle::POD_Middle() +# 1437| : +# 1441| [CopyAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived const&) +# 1441| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const POD_Derived & -# 1439| [MoveAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived&&) -# 1439| : +# 1441| [MoveAssignmentOperator] POD_Derived& POD_Derived::operator=(POD_Derived&&) +# 1441| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] POD_Derived && -# 1439| [Constructor] void POD_Derived::POD_Derived() -# 1439| : -# 1443| [TopLevelFunction] void temporary_hierarchy() -# 1443| : -# 1443| getEntryPoint(): [BlockStmt] { ... } -# 1444| getStmt(0): [DeclStmt] declaration -# 1444| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1444| Type = [Struct] POD_Base -# 1444| getVariable().getInitializer(): [Initializer] initializer for b -# 1444| getExpr(): [FunctionCall] call to returnValue -# 1444| Type = [Struct] POD_Middle -# 1444| ValueCategory = prvalue +# 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 #-----| getExpr().getFullyConverted(): [CStyleCast] (POD_Base)... #-----| Conversion = [BaseClassConversion] base class conversion #-----| Type = [Struct] POD_Base @@ -11513,40 +11551,40 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Middle #-----| ValueCategory = xvalue -# 1445| getStmt(1): [ExprStmt] ExprStmt -# 1445| getExpr(): [AssignExpr] ... = ... -# 1445| Type = [Struct] POD_Base -# 1445| ValueCategory = lvalue -# 1445| getLValue(): [VariableAccess] b -# 1445| Type = [Struct] POD_Base -# 1445| ValueCategory = lvalue -# 1445| getRValue(): [FunctionCall] call to returnValue -# 1445| Type = [Struct] POD_Derived -# 1445| ValueCategory = prvalue -# 1445| getRValue().getFullyConverted(): [CStyleCast] (POD_Base)... -# 1445| Conversion = [BaseClassConversion] base class conversion -# 1445| Type = [Struct] POD_Base -# 1445| ValueCategory = prvalue(load) -# 1445| getExpr(): [CStyleCast] (POD_Middle)... -# 1445| Conversion = [BaseClassConversion] base class conversion -# 1445| Type = [Struct] POD_Middle -# 1445| ValueCategory = lvalue -# 1445| getExpr(): [TemporaryObjectExpr] temporary object -# 1445| Type = [Struct] POD_Derived -# 1445| ValueCategory = lvalue -# 1445| getExpr(): [ParenthesisExpr] (...) -# 1445| Type = [Struct] POD_Derived -# 1445| ValueCategory = prvalue -# 1446| getStmt(2): [DeclStmt] declaration -# 1446| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1446| Type = [IntType] int -# 1446| getVariable().getInitializer(): [Initializer] initializer for x -# 1446| getExpr(): [ValueFieldAccess] x -# 1446| Type = [IntType] int -# 1446| ValueCategory = prvalue(load) -# 1446| getQualifier(): [FunctionCall] call to returnValue -# 1446| Type = [Struct] POD_Derived -# 1446| ValueCategory = prvalue +# 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 #-----| getQualifier().getFullyConverted(): [CStyleCast] (POD_Base)... #-----| Conversion = [BaseClassConversion] base class conversion #-----| Type = [Struct] POD_Base @@ -11558,16 +11596,16 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Derived #-----| ValueCategory = xvalue -# 1447| getStmt(3): [DeclStmt] declaration -# 1447| getDeclarationEntry(0): [VariableDeclarationEntry] definition of f -# 1447| Type = [FloatType] float -# 1447| getVariable().getInitializer(): [Initializer] initializer for f -# 1447| getExpr(): [FunctionCall] call to f -# 1447| Type = [FloatType] float -# 1447| ValueCategory = prvalue -# 1447| getQualifier(): [FunctionCall] call to returnValue -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = prvalue +# 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 #-----| getQualifier().getFullyConverted(): [CStyleCast] (const POD_Base)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const POD_Base @@ -11583,99 +11621,99 @@ ir.cpp: #-----| getExpr(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] POD_Derived #-----| ValueCategory = xvalue -# 1447| getExpr(): [ParenthesisExpr] (...) -# 1447| Type = [Struct] POD_Derived -# 1447| ValueCategory = prvalue -# 1448| getStmt(4): [ReturnStmt] return ... -# 1450| [CopyAssignmentOperator] Inheritance_Test_B& Inheritance_Test_B::operator=(Inheritance_Test_B const&) -# 1450| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_B & -# 1450| [Constructor] void Inheritance_Test_B::Inheritance_Test_B() -# 1450| : -# 1451| [Destructor] void Inheritance_Test_B::~Inheritance_Test_B() -# 1451| : -# 1451| getEntryPoint(): [BlockStmt] { ... } -# 1451| getStmt(0): [ReturnStmt] return ... -# 1451| : -# 1454| [CopyAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A const&) -# 1454| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_A & -# 1454| [MoveAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A&&) -# 1454| : +# 1456| [MoveAssignmentOperator] Inheritance_Test_A& Inheritance_Test_A::operator=(Inheritance_Test_A&&) +# 1456| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Inheritance_Test_A && -# 1454| [CopyConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A const&) -# 1454| : +# 1456| [CopyConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A const&) +# 1456| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Inheritance_Test_A & -# 1454| [MoveConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A&&) -# 1454| : +# 1456| [MoveConstructor] void Inheritance_Test_A::Inheritance_Test_A(Inheritance_Test_A&&) +# 1456| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Inheritance_Test_A && -# 1454| [Destructor] void Inheritance_Test_A::~Inheritance_Test_A() -# 1454| : -# 1457| [Constructor] void Inheritance_Test_A::Inheritance_Test_A() -# 1457| : -# 1457| : -# 1457| getInitializer(0): (no string representation) -# 1457| Type = [Struct] Inheritance_Test_B -# 1457| ValueCategory = prvalue -# 1457| getInitializer(1): [ConstructorFieldInit] constructor init of field x -# 1457| Type = [IntType] int -# 1457| ValueCategory = prvalue -# 1457| getExpr(): [Literal] 42 -# 1457| Type = [IntType] int -# 1457| Value = [Literal] 42 -# 1457| ValueCategory = prvalue -# 1457| getEntryPoint(): [BlockStmt] { ... } -# 1458| getStmt(0): [ExprStmt] ExprStmt -# 1458| getExpr(): [AssignExpr] ... = ... -# 1458| Type = [IntType] int -# 1458| ValueCategory = lvalue -# 1458| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] y -# 1458| Type = [IntType] int -# 1458| ValueCategory = lvalue -# 1458| getQualifier(): [ThisExpr] this -# 1458| Type = [PointerType] Inheritance_Test_A * -# 1458| ValueCategory = prvalue(load) -# 1458| getRValue(): [Literal] 3 -# 1458| Type = [IntType] int -# 1458| Value = [Literal] 3 -# 1458| ValueCategory = prvalue -# 1459| getStmt(1): [ReturnStmt] return ... -# 1462| [TopLevelFunction] void array_structured_binding() -# 1462| : -# 1462| getEntryPoint(): [BlockStmt] { ... } -# 1463| getStmt(0): [DeclStmt] declaration -# 1463| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs -# 1463| Type = [ArrayType] int[2] -# 1463| getVariable().getInitializer(): [Initializer] initializer for xs -# 1463| getExpr(): [ArrayAggregateLiteral] {...} -# 1463| Type = [ArrayType] int[2] -# 1463| ValueCategory = prvalue -# 1463| getAnElementExpr(0): [Literal] 1 -# 1463| Type = [IntType] int -# 1463| Value = [Literal] 1 -# 1463| ValueCategory = prvalue -# 1463| getAnElementExpr(1): [Literal] 2 -# 1463| Type = [IntType] int -# 1463| Value = [Literal] 2 -# 1463| ValueCategory = prvalue -# 1465| getStmt(1): [BlockStmt] { ... } -# 1466| getStmt(0): [DeclStmt] declaration -# 1466| getDeclarationEntry(0): (no string representation) -# 1466| Type = [LValueReferenceType] int(&)[2] -# 1466| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1466| getExpr(): [VariableAccess] xs -# 1466| Type = [ArrayType] int[2] -# 1466| ValueCategory = lvalue -# 1466| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1466| Type = [LValueReferenceType] int(&)[2] -# 1466| ValueCategory = prvalue -# 1466| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 -# 1466| Type = [IntType] int +# 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): (no string representation) +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for x0 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -11693,8 +11731,8 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ArrayType] int[2] #-----| ValueCategory = lvalue -# 1466| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 -# 1466| Type = [IntType] int +# 1468| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 +# 1468| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x1 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -11712,1345 +11750,1307 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ArrayType] int[2] #-----| ValueCategory = lvalue -# 1467| getStmt(1): [ExprStmt] ExprStmt -# 1467| getExpr(): [AssignExpr] ... = ... -# 1467| Type = [IntType] int -# 1467| ValueCategory = lvalue -# 1467| getLValue(): [VariableAccess] x1 -# 1467| Type = [IntType] int -# 1467| ValueCategory = lvalue -# 1467| getRValue(): [Literal] 3 -# 1467| Type = [IntType] int -# 1467| Value = [Literal] 3 -# 1467| ValueCategory = prvalue -# 1468| getStmt(2): [DeclStmt] declaration -# 1468| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 -# 1468| Type = [LValueReferenceType] int & -# 1468| getVariable().getInitializer(): [Initializer] initializer for rx1 -# 1468| getExpr(): [VariableAccess] x1 -# 1468| Type = [IntType] int -# 1468| ValueCategory = lvalue -# 1468| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1468| Type = [LValueReferenceType] int & -# 1468| ValueCategory = prvalue -# 1469| getStmt(3): [DeclStmt] declaration -# 1469| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1469| getStmt(1): [ExprStmt] ExprStmt +# 1469| getExpr(): [AssignExpr] ... = ... # 1469| Type = [IntType] int -# 1469| getVariable().getInitializer(): [Initializer] initializer for x -# 1469| getExpr(): [VariableAccess] x1 -# 1469| Type = [IntType] int -# 1469| ValueCategory = prvalue(load) -# 1472| getStmt(2): [BlockStmt] { ... } -# 1473| getStmt(0): [DeclStmt] declaration -# 1473| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1473| Type = [LValueReferenceType] int(&)[2] -# 1473| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1473| getExpr(): [VariableAccess] xs -# 1473| Type = [ArrayType] int[2] -# 1473| ValueCategory = lvalue -# 1473| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1473| Type = [LValueReferenceType] int(&)[2] -# 1473| ValueCategory = prvalue -# 1474| getStmt(1): [DeclStmt] declaration -# 1474| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x0 -# 1474| Type = [LValueReferenceType] int & -# 1474| getVariable().getInitializer(): [Initializer] initializer for x0 -# 1474| getExpr(): [ArrayExpr] access to array -# 1474| Type = [IntType] int -# 1474| ValueCategory = lvalue -# 1474| getArrayBase(): [VariableAccess] unnamed_local_variable -# 1474| Type = [LValueReferenceType] int(&)[2] -# 1474| ValueCategory = prvalue(load) -# 1474| getArrayOffset(): [Literal] 0 -# 1474| Type = [IntType] int -# 1474| Value = [Literal] 0 -# 1474| ValueCategory = prvalue -# 1474| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1474| Type = [IntPointerType] int * -# 1474| ValueCategory = prvalue -# 1474| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1474| Type = [ArrayType] int[2] -# 1474| ValueCategory = lvalue -# 1474| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1474| Type = [LValueReferenceType] int & -# 1474| ValueCategory = prvalue -# 1475| getStmt(2): [DeclStmt] declaration -# 1475| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x1 -# 1475| Type = [LValueReferenceType] int & -# 1475| getVariable().getInitializer(): [Initializer] initializer for x1 -# 1475| getExpr(): [ArrayExpr] access to array -# 1475| 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| getArrayBase(): [VariableAccess] unnamed_local_variable -# 1475| Type = [LValueReferenceType] int(&)[2] -# 1475| ValueCategory = prvalue(load) -# 1475| getArrayOffset(): [Literal] 1 -# 1475| Type = [IntType] int -# 1475| Value = [Literal] 1 -# 1475| ValueCategory = prvalue -# 1475| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1475| Type = [IntPointerType] int * -# 1475| ValueCategory = prvalue -# 1475| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1475| Type = [ArrayType] int[2] -# 1475| ValueCategory = lvalue # 1475| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1475| Type = [LValueReferenceType] int & +# 1475| Type = [LValueReferenceType] int(&)[2] # 1475| ValueCategory = prvalue -# 1476| getStmt(3): [ExprStmt] ExprStmt -# 1476| getExpr(): [AssignExpr] ... = ... -# 1476| Type = [IntType] int -# 1476| ValueCategory = lvalue -# 1476| getLValue(): [VariableAccess] x1 -# 1476| Type = [LValueReferenceType] int & -# 1476| ValueCategory = prvalue(load) -# 1476| getRValue(): [Literal] 3 -# 1476| Type = [IntType] int -# 1476| Value = [Literal] 3 -# 1476| ValueCategory = prvalue -# 1476| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1476| Type = [IntType] int -# 1476| ValueCategory = lvalue -# 1477| getStmt(4): [DeclStmt] declaration -# 1477| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1 +# 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 rx1 -# 1477| getExpr(): [VariableAccess] x1 -# 1477| Type = [LValueReferenceType] int & -# 1477| ValueCategory = prvalue(load) +# 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 -# 1477| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1477| Type = [IntType] int -# 1477| ValueCategory = lvalue -# 1478| getStmt(5): [DeclStmt] declaration -# 1478| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 1478| getStmt(3): [ExprStmt] ExprStmt +# 1478| getExpr(): [AssignExpr] ... = ... # 1478| Type = [IntType] int -# 1478| getVariable().getInitializer(): [Initializer] initializer for x -# 1478| getExpr(): [VariableAccess] x1 -# 1478| Type = [LValueReferenceType] int & -# 1478| ValueCategory = prvalue(load) -# 1478| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1478| Type = [IntType] int -# 1478| ValueCategory = prvalue(load) -# 1480| getStmt(3): [ReturnStmt] return ... -# 1482| [CopyAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct const&) -# 1482| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberMemberStruct & -# 1482| [MoveAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct&&) -# 1482| : +# 1484| [MoveAssignmentOperator] StructuredBindingDataMemberMemberStruct& StructuredBindingDataMemberMemberStruct::operator=(StructuredBindingDataMemberMemberStruct&&) +# 1484| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberMemberStruct && -# 1482| [Constructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1482| : -# 1482| : -# 1482| getInitializer(0): [ConstructorFieldInit] constructor init of field x -# 1482| Type = [IntType] int -# 1482| ValueCategory = prvalue -# 1482| getEntryPoint(): [BlockStmt] { ... } -# 1482| getStmt(0): [ReturnStmt] return ... -# 1482| [CopyConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct const&) -# 1482| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberMemberStruct & -# 1482| [MoveConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct&&) -# 1482| : +# 1484| [MoveConstructor] void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct(StructuredBindingDataMemberMemberStruct&&) +# 1484| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberMemberStruct && -# 1486| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&) -# 1486| : +# 1488| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&) +# 1488| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| [Constructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1486| : -# 1486| : -# 1486| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1486| Type = [IntType] int -# 1486| ValueCategory = prvalue -# 1486| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1486| Type = [DoubleType] double -# 1486| ValueCategory = prvalue -# 1486| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1486| Type = [LValueReferenceType] int & -# 1486| ValueCategory = prvalue -# 1486| getInitializer(3): [ConstructorFieldInit] constructor init of field p -# 1486| Type = [IntPointerType] int * -# 1486| ValueCategory = prvalue -# 1486| getInitializer(4): [ConstructorFieldInit] constructor init of field xs -# 1486| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1486| ValueCategory = prvalue -# 1486| getInitializer(5): [ConstructorFieldInit] constructor init of field r_alt -# 1486| Type = [CTypedefType,NestedTypedefType] RefType -# 1486| ValueCategory = prvalue -# 1486| getInitializer(6): [ConstructorFieldInit] constructor init of field m -# 1486| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberMemberStruct -# 1486| Type = [VoidType] void -# 1486| ValueCategory = prvalue -# 1486| getEntryPoint(): [BlockStmt] { ... } -# 1486| getStmt(0): [ReturnStmt] return ... -# 1486| [CopyConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1486| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| : -# 1486| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1486| Type = [IntType] int -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] i -# 1486| Type = [IntType] int -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1486| Type = [DoubleType] double -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] d -# 1486| Type = [DoubleType] double -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(2): [ConstructorFieldInit] constructor init of field b -# 1486| Type = [IntType] unsigned int -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] b -# 1486| Type = [IntType] unsigned int -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(3): [ConstructorFieldInit] constructor init of field r -# 1486| Type = [LValueReferenceType] int & -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] r -# 1486| Type = [LValueReferenceType] int & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(4): [ConstructorFieldInit] constructor init of field p -# 1486| Type = [IntPointerType] int * -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] p -# 1486| Type = [IntPointerType] int * -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(5): [ConstructorFieldInit] constructor init of field xs -# 1486| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] xs -# 1486| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(6): [ConstructorFieldInit] constructor init of field r_alt -# 1486| Type = [CTypedefType,NestedTypedefType] RefType -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] r_alt -# 1486| Type = [CTypedefType,NestedTypedefType] RefType -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getInitializer(7): [ConstructorFieldInit] constructor init of field m -# 1486| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1486| ValueCategory = prvalue -# 1486| getExpr(): [ReferenceFieldAccess] m -# 1486| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct & -# 1486| ValueCategory = prvalue(load) -# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct -# 1486| ValueCategory = lvalue -# 1486| getEntryPoint(): [BlockStmt] { ... } -# 1486| getStmt(0): [ReturnStmt] return ... -# 1486| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&) -# 1486| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingDataMemberStruct && -# 1499| [TopLevelFunction] void data_member_structured_binding() -# 1499| : -# 1499| getEntryPoint(): [BlockStmt] { ... } -# 1500| getStmt(0): [DeclStmt] declaration -# 1500| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 1500| Type = [Struct] StructuredBindingDataMemberStruct -# 1500| getVariable().getInitializer(): [Initializer] initializer for s -# 1500| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberStruct -# 1500| Type = [VoidType] void -# 1500| ValueCategory = prvalue -# 1502| getStmt(1): [BlockStmt] { ... } -# 1503| getStmt(0): [DeclStmt] declaration -# 1503| getDeclarationEntry(0): (no string representation) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1503| getExpr(): [VariableAccess] s -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = prvalue(load) -# 1503| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1503| Type = [IntType] int +# 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): (no string representation) +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1503| getExpr(): [ValueFieldAccess] i -# 1503| Type = [IntType] int -# 1503| ValueCategory = lvalue -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d -# 1503| Type = [DoubleType] double +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for d -# 1503| getExpr(): [ValueFieldAccess] d -# 1503| Type = [DoubleType] double -# 1503| ValueCategory = lvalue -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(3): [VariableDeclarationEntry] definition of b -# 1503| Type = [IntType] unsigned int +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for b -# 1503| getExpr(): [ValueFieldAccess] b -# 1503| Type = [IntType] unsigned int -# 1503| ValueCategory = lvalue -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(4): [VariableDeclarationEntry] definition of r -# 1503| Type = [IntType] int +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1503| getExpr(): [ValueFieldAccess] r -# 1503| Type = [LValueReferenceType] int & -# 1503| ValueCategory = prvalue(load) -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1503| Type = [IntType] int -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(5): [VariableDeclarationEntry] definition of p -# 1503| Type = [IntPointerType] int * +# 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 * #-----| getVariable().getInitializer(): [Initializer] initializer for p -# 1503| getExpr(): [ValueFieldAccess] p -# 1503| Type = [IntPointerType] int * -# 1503| ValueCategory = lvalue -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(6): [VariableDeclarationEntry] definition of xs -# 1503| Type = [CTypedefType,NestedTypedefType] ArrayType +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for xs -# 1503| getExpr(): [ValueFieldAccess] xs -# 1503| Type = [CTypedefType,NestedTypedefType] ArrayType -# 1503| ValueCategory = lvalue -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(7): [VariableDeclarationEntry] definition of r_alt -# 1503| Type = [IntType] int +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for r_alt -# 1503| getExpr(): [ValueFieldAccess] r_alt -# 1503| Type = [CTypedefType,NestedTypedefType] RefType -# 1503| ValueCategory = prvalue(load) -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1503| Type = [IntType] int -# 1503| ValueCategory = lvalue -# 1503| getDeclarationEntry(8): [VariableDeclarationEntry] definition of m -# 1503| Type = [Struct] StructuredBindingDataMemberMemberStruct +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for m -# 1503| getExpr(): [ValueFieldAccess] m -# 1503| Type = [Struct] StructuredBindingDataMemberMemberStruct -# 1503| ValueCategory = lvalue -# 1503| getQualifier(): [VariableAccess] (unnamed local variable) -# 1503| Type = [Struct] StructuredBindingDataMemberStruct -# 1503| ValueCategory = lvalue -# 1504| getStmt(1): [ExprStmt] ExprStmt -# 1504| getExpr(): [AssignExpr] ... = ... -# 1504| Type = [DoubleType] double -# 1504| ValueCategory = lvalue -# 1504| getLValue(): [VariableAccess] d -# 1504| Type = [DoubleType] double -# 1504| ValueCategory = lvalue -# 1504| getRValue(): [Literal] 4.0 -# 1504| Type = [DoubleType] double -# 1504| Value = [Literal] 4.0 -# 1504| ValueCategory = prvalue -# 1505| getStmt(2): [DeclStmt] declaration -# 1505| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1505| Type = [LValueReferenceType] double & -# 1505| getVariable().getInitializer(): [Initializer] initializer for rd -# 1505| getExpr(): [VariableAccess] d -# 1505| Type = [DoubleType] double +# 1505| getExpr(): [ValueFieldAccess] m +# 1505| Type = [Struct] StructuredBindingDataMemberMemberStruct # 1505| ValueCategory = lvalue -# 1505| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1505| Type = [LValueReferenceType] double & -# 1505| ValueCategory = prvalue -# 1506| getStmt(3): [DeclStmt] declaration -# 1506| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1506| Type = [IntType] int -# 1506| getVariable().getInitializer(): [Initializer] initializer for v -# 1506| getExpr(): [VariableAccess] i -# 1506| Type = [IntType] int -# 1506| ValueCategory = prvalue(load) -# 1507| getStmt(4): [ExprStmt] ExprStmt -# 1507| getExpr(): [AssignExpr] ... = ... -# 1507| Type = [IntType] int -# 1507| ValueCategory = lvalue -# 1507| getLValue(): [VariableAccess] r -# 1507| Type = [IntType] int -# 1507| ValueCategory = lvalue -# 1507| getRValue(): [Literal] 5 -# 1507| Type = [IntType] int -# 1507| Value = [Literal] 5 -# 1507| ValueCategory = prvalue -# 1508| getStmt(5): [ExprStmt] ExprStmt -# 1508| getExpr(): [AssignExpr] ... = ... +# 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| ValueCategory = lvalue -# 1508| getLValue(): [PointerDereferenceExpr] * ... -# 1508| Type = [IntType] int -# 1508| ValueCategory = lvalue -# 1508| getOperand(): [VariableAccess] p -# 1508| Type = [IntPointerType] int * +# 1508| getVariable().getInitializer(): [Initializer] initializer for v +# 1508| getExpr(): [VariableAccess] i +# 1508| Type = [IntType] int # 1508| ValueCategory = prvalue(load) -# 1508| getRValue(): [Literal] 6 -# 1508| Type = [IntType] int -# 1508| Value = [Literal] 6 -# 1508| ValueCategory = prvalue -# 1509| getStmt(6): [DeclStmt] declaration -# 1509| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1509| Type = [LValueReferenceType] int & -# 1509| getVariable().getInitializer(): [Initializer] initializer for rr -# 1509| getExpr(): [VariableAccess] r -# 1509| Type = [IntType] int -# 1509| ValueCategory = lvalue -# 1509| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1509| Type = [LValueReferenceType] int & -# 1509| ValueCategory = prvalue -# 1510| getStmt(7): [DeclStmt] declaration -# 1510| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr -# 1510| Type = [IntPointerType] int * -# 1510| getVariable().getInitializer(): [Initializer] initializer for pr -# 1510| getExpr(): [AddressOfExpr] & ... +# 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 -# 1510| getOperand(): [VariableAccess] r -# 1510| Type = [IntType] int -# 1510| ValueCategory = lvalue -# 1511| getStmt(8): [DeclStmt] declaration -# 1511| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1511| Type = [IntType] int -# 1511| getVariable().getInitializer(): [Initializer] initializer for w +# 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 = prvalue(load) -# 1514| getStmt(2): [BlockStmt] { ... } -# 1515| getStmt(0): [DeclStmt] declaration -# 1515| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1515| Type = [Struct] StructuredBindingDataMemberStruct -# 1515| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1515| getExpr(): [VariableAccess] s -# 1515| Type = [Struct] StructuredBindingDataMemberStruct -# 1515| ValueCategory = prvalue(load) -# 1516| getStmt(1): [DeclStmt] declaration -# 1516| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1516| Type = [LValueReferenceType] int & -# 1516| getVariable().getInitializer(): [Initializer] initializer for i -# 1516| getExpr(): [ValueFieldAccess] i -# 1516| Type = [IntType] int -# 1516| ValueCategory = lvalue -# 1516| getQualifier(): [VariableAccess] unnamed_local_variable -# 1516| Type = [Struct] StructuredBindingDataMemberStruct -# 1516| ValueCategory = lvalue -# 1516| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1516| Type = [LValueReferenceType] int & -# 1516| ValueCategory = prvalue -# 1517| getStmt(2): [DeclStmt] declaration -# 1517| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1517| Type = [LValueReferenceType] double & -# 1517| getVariable().getInitializer(): [Initializer] initializer for d -# 1517| getExpr(): [ValueFieldAccess] d -# 1517| Type = [DoubleType] double -# 1517| ValueCategory = lvalue -# 1517| getQualifier(): [VariableAccess] unnamed_local_variable -# 1517| Type = [Struct] StructuredBindingDataMemberStruct -# 1517| ValueCategory = lvalue -# 1517| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1517| Type = [LValueReferenceType] double & -# 1517| ValueCategory = prvalue -# 1519| getStmt(3): [DeclStmt] declaration -# 1519| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1519| Type = [LValueReferenceType] int & -# 1519| getVariable().getInitializer(): [Initializer] initializer for r -# 1519| getExpr(): [ValueFieldAccess] r -# 1519| Type = [LValueReferenceType] int & -# 1519| ValueCategory = prvalue(load) +# 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] int & +# 1519| Type = [LValueReferenceType] double & # 1519| ValueCategory = prvalue -# 1519| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1519| Type = [IntType] int -# 1519| ValueCategory = lvalue -# 1520| getStmt(4): [DeclStmt] declaration -# 1520| getDeclarationEntry(0): [VariableDeclarationEntry] definition of p -# 1520| Type = [LValueReferenceType] int *& -# 1520| getVariable().getInitializer(): [Initializer] initializer for p -# 1520| getExpr(): [ValueFieldAccess] p -# 1520| Type = [IntPointerType] int * -# 1520| ValueCategory = lvalue -# 1520| getQualifier(): [VariableAccess] unnamed_local_variable -# 1520| Type = [Struct] StructuredBindingDataMemberStruct -# 1520| ValueCategory = lvalue -# 1520| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1520| Type = [LValueReferenceType] int *& -# 1520| ValueCategory = prvalue -# 1521| getStmt(5): [ExprStmt] ExprStmt -# 1521| getExpr(): [AssignExpr] ... = ... -# 1521| Type = [DoubleType] double -# 1521| ValueCategory = lvalue -# 1521| getLValue(): [VariableAccess] d -# 1521| Type = [LValueReferenceType] double & -# 1521| ValueCategory = prvalue(load) -# 1521| getRValue(): [Literal] 4.0 -# 1521| Type = [DoubleType] double -# 1521| Value = [Literal] 4.0 -# 1521| ValueCategory = prvalue -# 1521| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1521| Type = [DoubleType] double -# 1521| ValueCategory = lvalue -# 1522| getStmt(6): [DeclStmt] declaration -# 1522| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1522| Type = [LValueReferenceType] double & -# 1522| getVariable().getInitializer(): [Initializer] initializer for rd -# 1522| getExpr(): [VariableAccess] d -# 1522| Type = [LValueReferenceType] double & -# 1522| ValueCategory = prvalue(load) +# 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] double & +# 1522| Type = [LValueReferenceType] int *& # 1522| ValueCategory = prvalue -# 1522| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1522| Type = [DoubleType] double -# 1522| ValueCategory = lvalue -# 1523| getStmt(7): [DeclStmt] declaration -# 1523| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1523| Type = [IntType] int -# 1523| getVariable().getInitializer(): [Initializer] initializer for v -# 1523| getExpr(): [VariableAccess] i -# 1523| Type = [LValueReferenceType] int & -# 1523| ValueCategory = prvalue(load) -# 1523| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1523| Type = [IntType] int -# 1523| ValueCategory = prvalue(load) -# 1524| getStmt(8): [ExprStmt] ExprStmt -# 1524| getExpr(): [AssignExpr] ... = ... -# 1524| Type = [IntType] int -# 1524| ValueCategory = lvalue -# 1524| getLValue(): [VariableAccess] r -# 1524| Type = [LValueReferenceType] int & -# 1524| ValueCategory = prvalue(load) -# 1524| getRValue(): [Literal] 5 -# 1524| Type = [IntType] int -# 1524| Value = [Literal] 5 -# 1524| ValueCategory = prvalue -# 1524| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1524| Type = [IntType] int -# 1524| ValueCategory = lvalue -# 1525| getStmt(9): [ExprStmt] ExprStmt -# 1525| getExpr(): [AssignExpr] ... = ... +# 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| ValueCategory = lvalue -# 1525| getLValue(): [PointerDereferenceExpr] * ... -# 1525| Type = [IntType] int -# 1525| ValueCategory = lvalue -# 1525| getOperand(): [VariableAccess] p -# 1525| Type = [LValueReferenceType] int *& +# 1525| getVariable().getInitializer(): [Initializer] initializer for v +# 1525| getExpr(): [VariableAccess] i +# 1525| Type = [LValueReferenceType] int & # 1525| ValueCategory = prvalue(load) -# 1525| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1525| Type = [IntPointerType] int * +# 1525| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 1525| Type = [IntType] int # 1525| ValueCategory = prvalue(load) -# 1525| getRValue(): [Literal] 6 -# 1525| Type = [IntType] int -# 1525| Value = [Literal] 6 -# 1525| ValueCategory = prvalue -# 1526| getStmt(10): [DeclStmt] declaration -# 1526| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1526| Type = [LValueReferenceType] int & -# 1526| getVariable().getInitializer(): [Initializer] initializer for rr -# 1526| getExpr(): [VariableAccess] r -# 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(11): [DeclStmt] declaration -# 1527| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pr -# 1527| Type = [IntPointerType] int * -# 1527| getVariable().getInitializer(): [Initializer] initializer for pr -# 1527| getExpr(): [AddressOfExpr] & ... +# 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 -# 1527| getOperand(): [VariableAccess] r -# 1527| Type = [LValueReferenceType] int & -# 1527| ValueCategory = prvalue(load) -# 1527| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1527| Type = [IntType] int -# 1527| ValueCategory = lvalue -# 1528| getStmt(12): [DeclStmt] declaration -# 1528| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1528| Type = [IntType] int -# 1528| getVariable().getInitializer(): [Initializer] initializer for w +# 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(): [ReferenceDereferenceExpr] (reference dereference) -# 1528| Type = [IntType] int -# 1528| ValueCategory = prvalue(load) -# 1530| getStmt(3): [ReturnStmt] return ... -# 1539| [CopyAssignmentOperator] StructuredBindingTupleRefGet& StructuredBindingTupleRefGet::operator=(StructuredBindingTupleRefGet const&) -# 1539| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1539| [Constructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1539| : -# 1539| : -# 1539| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1539| Type = [IntType] int -# 1539| ValueCategory = prvalue -# 1539| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1539| Type = [DoubleType] double -# 1539| ValueCategory = prvalue -# 1539| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1539| Type = [LValueReferenceType] int & -# 1539| ValueCategory = prvalue -# 1539| getEntryPoint(): [BlockStmt] { ... } -# 1539| getStmt(0): [ReturnStmt] return ... -# 1539| [CopyConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1539| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1539| : -# 1539| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1539| Type = [IntType] int -# 1539| ValueCategory = prvalue -# 1539| getExpr(): [ReferenceFieldAccess] i -# 1539| Type = [IntType] int -# 1539| ValueCategory = prvalue(load) -# 1539| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1539| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1539| ValueCategory = prvalue(load) -# 1539| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1539| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1539| ValueCategory = lvalue -# 1539| getInitializer(1): [ConstructorFieldInit] constructor init of field d -# 1539| Type = [DoubleType] double -# 1539| ValueCategory = prvalue -# 1539| getExpr(): [ReferenceFieldAccess] d -# 1539| Type = [DoubleType] double -# 1539| ValueCategory = prvalue(load) -# 1539| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1539| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1539| ValueCategory = prvalue(load) -# 1539| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1539| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1539| ValueCategory = lvalue -# 1539| getInitializer(2): [ConstructorFieldInit] constructor init of field r -# 1539| Type = [LValueReferenceType] int & -# 1539| ValueCategory = prvalue -# 1539| getExpr(): [ReferenceFieldAccess] r -# 1539| Type = [LValueReferenceType] int & -# 1539| ValueCategory = prvalue(load) -# 1539| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 1539| Type = [LValueReferenceType] const StructuredBindingTupleRefGet & -# 1539| ValueCategory = prvalue(load) -# 1539| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1539| Type = [SpecifiedType] const StructuredBindingTupleRefGet -# 1539| ValueCategory = lvalue -# 1539| getEntryPoint(): [BlockStmt] { ... } -# 1539| getStmt(0): [ReturnStmt] return ... -# 1539| [MoveConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet&&) -# 1539| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingTupleRefGet && -# 1545| [MemberFunction,TemplateFunction] type& StructuredBindingTupleRefGet::get() -# 1545| : -# 1549| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) -# 1549| : +# 1547| [MemberFunction,TemplateFunction] type& StructuredBindingTupleRefGet::get() +# 1547| : +# 1551| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) +# 1551| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_size & -# 1549| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) -# 1549| : +# 1551| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) +# 1551| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_size && -# 1554| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1554| : +# 1556| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1556| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<0, StructuredBindingTupleRefGet> & -# 1554| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1554| : +# 1556| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1556| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<0, StructuredBindingTupleRefGet> && -# 1558| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1558| : +# 1560| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1560| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<1, StructuredBindingTupleRefGet> & -# 1558| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1558| : +# 1560| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1560| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<1, StructuredBindingTupleRefGet> && -# 1562| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1562| : +# 1564| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1564| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<2, StructuredBindingTupleRefGet> & -# 1562| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1562| : +# 1564| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1564| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<2, StructuredBindingTupleRefGet> && -# 1567| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1567| : -# 1567| getEntryPoint(): [BlockStmt] { ... } -# 1568| getStmt(0): [ReturnStmt] return ... -# 1568| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i -# 1568| Type = [IntType] int -# 1568| ValueCategory = lvalue -# 1568| getQualifier(): [ThisExpr] this -# 1568| Type = [PointerType] StructuredBindingTupleRefGet * -# 1568| ValueCategory = prvalue(load) +# 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) #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] int & #-----| ValueCategory = prvalue -# 1571| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1571| : -# 1571| getEntryPoint(): [BlockStmt] { ... } -# 1572| getStmt(0): [ReturnStmt] return ... -# 1572| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] d -# 1572| Type = [DoubleType] double -# 1572| ValueCategory = lvalue -# 1572| getQualifier(): [ThisExpr] this -# 1572| Type = [PointerType] StructuredBindingTupleRefGet * -# 1572| ValueCategory = prvalue(load) +# 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) #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] double & #-----| ValueCategory = prvalue -# 1575| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1575| : -# 1575| getEntryPoint(): [BlockStmt] { ... } -# 1576| getStmt(0): [ReturnStmt] return ... -# 1576| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r -# 1576| Type = [LValueReferenceType] int & -# 1576| ValueCategory = prvalue(load) -# 1576| getQualifier(): [ThisExpr] this -# 1576| Type = [PointerType] StructuredBindingTupleRefGet * -# 1576| ValueCategory = prvalue(load) -# 1576| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1576| Type = [LValueReferenceType] int & -# 1576| ValueCategory = prvalue -# 1576| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1576| Type = [IntType] int -# 1576| ValueCategory = lvalue -# 1579| [TopLevelFunction] void tuple_structured_binding_ref_get() -# 1579| : -# 1579| getEntryPoint(): [BlockStmt] { ... } -# 1580| getStmt(0): [DeclStmt] declaration -# 1580| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t -# 1580| Type = [Struct] StructuredBindingTupleRefGet -# 1580| getVariable().getInitializer(): [Initializer] initializer for t -# 1580| getExpr(): [ConstructorCall] call to StructuredBindingTupleRefGet -# 1580| Type = [VoidType] void -# 1580| ValueCategory = prvalue -# 1582| getStmt(1): [BlockStmt] { ... } -# 1583| getStmt(0): [DeclStmt] declaration -# 1583| getDeclarationEntry(0): (no string representation) -# 1583| Type = [Struct] StructuredBindingTupleRefGet -# 1583| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1583| getExpr(): [VariableAccess] t -# 1583| Type = [Struct] StructuredBindingTupleRefGet -# 1583| ValueCategory = prvalue(load) -# 1583| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1583| Type = [LValueReferenceType] type & +# 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): (no string representation) +# 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 & #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1583| getExpr(): [FunctionCall] call to get -# 1583| Type = [LValueReferenceType] type & -# 1583| ValueCategory = prvalue -# 1583| getQualifier(): [VariableAccess] (unnamed local variable) -# 1583| Type = [Struct] StructuredBindingTupleRefGet -# 1583| ValueCategory = xvalue -# 1583| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1583| Type = [LValueReferenceType] type & -# 1583| ValueCategory = prvalue -# 1583| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1583| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1583| ValueCategory = lvalue -# 1583| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d -# 1583| Type = [LValueReferenceType] type & +# 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 & #-----| getVariable().getInitializer(): [Initializer] initializer for d -# 1583| getExpr(): [FunctionCall] call to get -# 1583| Type = [LValueReferenceType] type & -# 1583| ValueCategory = prvalue -# 1583| getQualifier(): [VariableAccess] (unnamed local variable) -# 1583| Type = [Struct] StructuredBindingTupleRefGet -# 1583| ValueCategory = xvalue -# 1583| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1583| Type = [LValueReferenceType] type & -# 1583| ValueCategory = prvalue -# 1583| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1583| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1583| ValueCategory = lvalue -# 1583| getDeclarationEntry(3): [VariableDeclarationEntry] definition of r -# 1583| Type = [NestedTypedefType,UsingAliasTypedefType] type -#-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1583| getExpr(): [FunctionCall] call to get -# 1583| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1583| ValueCategory = prvalue -# 1583| getQualifier(): [VariableAccess] (unnamed local variable) -# 1583| Type = [Struct] StructuredBindingTupleRefGet -# 1583| ValueCategory = xvalue -# 1583| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1583| Type = [LValueReferenceType] int & -# 1583| ValueCategory = prvalue -# 1583| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1583| Type = [IntType] int -# 1583| ValueCategory = lvalue -# 1584| getStmt(1): [ExprStmt] ExprStmt -# 1584| getExpr(): [AssignExpr] ... = ... -# 1584| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1584| ValueCategory = lvalue -# 1584| getLValue(): [VariableAccess] d -# 1584| Type = [LValueReferenceType] type & -# 1584| ValueCategory = prvalue(load) -# 1584| getRValue(): [Literal] 4.0 -# 1584| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1584| Value = [Literal] 4.0 -# 1584| ValueCategory = prvalue -# 1584| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1584| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1584| ValueCategory = lvalue -# 1585| getStmt(2): [DeclStmt] declaration -# 1585| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1585| Type = [LValueReferenceType] double & -# 1585| getVariable().getInitializer(): [Initializer] initializer for rd -# 1585| getExpr(): [VariableAccess] d +# 1585| getExpr(): [FunctionCall] call to get # 1585| Type = [LValueReferenceType] type & -# 1585| ValueCategory = prvalue(load) +# 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 -# 1586| getStmt(3): [DeclStmt] declaration -# 1586| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1586| Type = [IntType] int -# 1586| getVariable().getInitializer(): [Initializer] initializer for v -# 1586| getExpr(): [VariableAccess] i -# 1586| Type = [LValueReferenceType] type & -# 1586| ValueCategory = prvalue(load) -# 1586| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1586| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1586| ValueCategory = prvalue(load) -# 1587| getStmt(4): [ExprStmt] ExprStmt -# 1587| getExpr(): [AssignExpr] ... = ... -# 1587| Type = [IntType] int -# 1587| ValueCategory = lvalue -# 1587| getLValue(): [VariableAccess] r -# 1587| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1587| ValueCategory = prvalue(load) -# 1587| getRValue(): [Literal] 5 -# 1587| Type = [IntType] int -# 1587| Value = [Literal] 5 -# 1587| ValueCategory = prvalue -# 1587| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1587| Type = [IntType] int -# 1587| ValueCategory = lvalue -# 1588| getStmt(5): [DeclStmt] declaration -# 1588| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1588| Type = [LValueReferenceType] int & -# 1588| getVariable().getInitializer(): [Initializer] initializer for rr -# 1588| getExpr(): [VariableAccess] r +# 1585| getDeclarationEntry(3): [VariableDeclarationEntry] definition of r +# 1585| 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) -# 1588| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1588| Type = [LValueReferenceType] int & -# 1588| ValueCategory = prvalue -# 1588| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1588| Type = [IntType] int -# 1588| ValueCategory = lvalue -# 1589| getStmt(6): [DeclStmt] declaration -# 1589| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1589| getStmt(4): [ExprStmt] ExprStmt +# 1589| getExpr(): [AssignExpr] ... = ... # 1589| Type = [IntType] int -# 1589| getVariable().getInitializer(): [Initializer] initializer for w -# 1589| getExpr(): [VariableAccess] r -# 1589| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1589| ValueCategory = prvalue(load) -# 1589| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1589| Type = [IntType] int -# 1589| ValueCategory = prvalue(load) -# 1592| getStmt(2): [BlockStmt] { ... } -# 1593| getStmt(0): [DeclStmt] declaration -# 1593| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1593| Type = [Struct] StructuredBindingTupleRefGet -# 1593| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1593| getExpr(): [VariableAccess] t -# 1593| Type = [Struct] StructuredBindingTupleRefGet -# 1593| ValueCategory = prvalue(load) -# 1594| getStmt(1): [DeclStmt] declaration -# 1594| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1594| Type = [LValueReferenceType] type & -# 1594| getVariable().getInitializer(): [Initializer] initializer for i -# 1594| getExpr(): [FunctionCall] call to get -# 1594| Type = [LValueReferenceType] type & -# 1594| ValueCategory = prvalue -# 1594| getQualifier(): [VariableAccess] unnamed_local_variable -# 1594| Type = [Struct] StructuredBindingTupleRefGet -# 1594| ValueCategory = lvalue -# 1594| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1594| Type = [LValueReferenceType] type & -# 1594| ValueCategory = prvalue -# 1594| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1594| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1594| ValueCategory = lvalue -# 1595| getStmt(2): [DeclStmt] declaration -# 1595| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1595| Type = [LValueReferenceType] type & -# 1595| getVariable().getInitializer(): [Initializer] initializer for d -# 1595| getExpr(): [FunctionCall] call to get -# 1595| Type = [LValueReferenceType] type & -# 1595| ValueCategory = prvalue -# 1595| getQualifier(): [VariableAccess] unnamed_local_variable -# 1595| Type = [Struct] StructuredBindingTupleRefGet -# 1595| ValueCategory = lvalue -# 1595| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1595| Type = [LValueReferenceType] type & -# 1595| ValueCategory = prvalue -# 1595| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1595| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1595| ValueCategory = lvalue -# 1596| getStmt(3): [DeclStmt] declaration -# 1596| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1596| Type = [LValueReferenceType] int & -# 1596| getVariable().getInitializer(): [Initializer] initializer for r +# 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 = [NestedTypedefType,UsingAliasTypedefType] type +# 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] int & +# 1596| Type = [LValueReferenceType] type & # 1596| ValueCategory = prvalue # 1596| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1596| Type = [IntType] int +# 1596| Type = [NestedTypedefType,UsingAliasTypedefType] type # 1596| ValueCategory = lvalue -# 1597| getStmt(4): [ExprStmt] ExprStmt -# 1597| getExpr(): [AssignExpr] ... = ... -# 1597| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1597| ValueCategory = lvalue -# 1597| getLValue(): [VariableAccess] d -# 1597| Type = [LValueReferenceType] type & -# 1597| ValueCategory = prvalue(load) -# 1597| getRValue(): [Literal] 4.0 -# 1597| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1597| Value = [Literal] 4.0 -# 1597| ValueCategory = prvalue -# 1597| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1597| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1597| ValueCategory = lvalue -# 1598| getStmt(5): [DeclStmt] declaration -# 1598| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd -# 1598| Type = [LValueReferenceType] double & -# 1598| getVariable().getInitializer(): [Initializer] initializer for rd -# 1598| getExpr(): [VariableAccess] d -# 1598| Type = [LValueReferenceType] type & -# 1598| ValueCategory = prvalue(load) +# 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] type & +# 1598| Type = [LValueReferenceType] int & # 1598| ValueCategory = prvalue # 1598| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1598| Type = [NestedTypedefType,UsingAliasTypedefType] type +# 1598| Type = [IntType] int # 1598| ValueCategory = lvalue -# 1599| getStmt(6): [DeclStmt] declaration -# 1599| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1599| Type = [IntType] int -# 1599| getVariable().getInitializer(): [Initializer] initializer for v -# 1599| getExpr(): [VariableAccess] i -# 1599| Type = [LValueReferenceType] type & -# 1599| ValueCategory = prvalue(load) -# 1599| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1599| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1599| ValueCategory = prvalue(load) -# 1600| getStmt(7): [ExprStmt] ExprStmt -# 1600| getExpr(): [AssignExpr] ... = ... -# 1600| Type = [IntType] int -# 1600| ValueCategory = lvalue -# 1600| getLValue(): [VariableAccess] r -# 1600| Type = [LValueReferenceType] int & -# 1600| ValueCategory = prvalue(load) -# 1600| getRValue(): [Literal] 5 -# 1600| Type = [IntType] int -# 1600| Value = [Literal] 5 -# 1600| ValueCategory = prvalue -# 1600| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1600| Type = [IntType] int -# 1600| ValueCategory = lvalue -# 1601| getStmt(8): [DeclStmt] declaration -# 1601| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1601| Type = [LValueReferenceType] int & -# 1601| getVariable().getInitializer(): [Initializer] initializer for rr -# 1601| getExpr(): [VariableAccess] r -# 1601| Type = [LValueReferenceType] int & +# 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) -# 1601| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1601| Type = [LValueReferenceType] int & -# 1601| ValueCategory = prvalue -# 1601| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1601| Type = [IntType] int -# 1601| ValueCategory = lvalue -# 1602| getStmt(9): [DeclStmt] declaration -# 1602| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1602| getStmt(7): [ExprStmt] ExprStmt +# 1602| getExpr(): [AssignExpr] ... = ... # 1602| Type = [IntType] int -# 1602| getVariable().getInitializer(): [Initializer] initializer for w -# 1602| getExpr(): [VariableAccess] r -# 1602| Type = [LValueReferenceType] int & -# 1602| ValueCategory = prvalue(load) -# 1602| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1602| Type = [IntType] int -# 1602| ValueCategory = prvalue(load) -# 1604| getStmt(3): [ReturnStmt] return ... -# 1606| [CopyAssignmentOperator] StructuredBindingTupleNoRefGet& StructuredBindingTupleNoRefGet::operator=(StructuredBindingTupleNoRefGet const&) -# 1606| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleNoRefGet & -# 1606| [Constructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1606| : -# 1606| : -# 1606| getInitializer(0): [ConstructorFieldInit] constructor init of field i -# 1606| Type = [IntType] int -# 1606| ValueCategory = prvalue -# 1606| getInitializer(1): [ConstructorFieldInit] constructor init of field r -# 1606| Type = [LValueReferenceType] int & -# 1606| ValueCategory = prvalue -# 1606| getEntryPoint(): [BlockStmt] { ... } -# 1606| getStmt(0): [ReturnStmt] return ... -# 1606| [CopyConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet const&) -# 1606| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const StructuredBindingTupleNoRefGet & -# 1606| [MoveConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet&&) -# 1606| : +# 1608| [MoveConstructor] void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet(StructuredBindingTupleNoRefGet&&) +# 1608| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] StructuredBindingTupleNoRefGet && -# 1611| [MemberFunction,TemplateFunction] type StructuredBindingTupleNoRefGet::get() -# 1611| : -# 1615| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) -# 1615| : +# 1613| [MemberFunction,TemplateFunction] type StructuredBindingTupleNoRefGet::get() +# 1613| : +# 1617| [CopyAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size const&) +# 1617| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_size & -# 1615| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) -# 1615| : +# 1617| [MoveAssignmentOperator] std::tuple_size& std::tuple_size::operator=(std::tuple_size&&) +# 1617| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_size && -# 1620| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1620| : +# 1622| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1622| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<0, StructuredBindingTupleNoRefGet> & -# 1620| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1620| : +# 1622| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1622| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<0, StructuredBindingTupleNoRefGet> && -# 1624| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1624| : +# 1626| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1626| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<1, StructuredBindingTupleNoRefGet> & -# 1624| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1624| : +# 1626| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1626| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<1, StructuredBindingTupleNoRefGet> && -# 1628| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) -# 1628| : +# 1630| [CopyAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element const&) +# 1630| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const tuple_element<2, StructuredBindingTupleNoRefGet> & -# 1628| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) -# 1628| : +# 1630| [MoveAssignmentOperator] std::tuple_element& std::tuple_element::operator=(std::tuple_element&&) +# 1630| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] tuple_element<2, StructuredBindingTupleNoRefGet> && -# 1633| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1633| : -# 1633| getEntryPoint(): [BlockStmt] { ... } -# 1634| getStmt(0): [ReturnStmt] return ... -# 1634| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] i -# 1634| Type = [IntType] int -# 1634| ValueCategory = prvalue(load) -# 1634| getQualifier(): [ThisExpr] this -# 1634| Type = [PointerType] StructuredBindingTupleNoRefGet * -# 1634| ValueCategory = prvalue(load) -# 1637| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1637| : -# 1637| getEntryPoint(): [BlockStmt] { ... } -# 1638| getStmt(0): [ReturnStmt] return ... -# 1638| getExpr(): [ImplicitThisFieldAccess,PointerFieldAccess] r -# 1638| Type = [LValueReferenceType] int & -# 1638| ValueCategory = prvalue(load) -# 1638| getQualifier(): [ThisExpr] this -# 1638| Type = [PointerType] StructuredBindingTupleNoRefGet * -# 1638| ValueCategory = prvalue(load) -# 1638| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1638| Type = [LValueReferenceType] int & -# 1638| ValueCategory = prvalue -# 1638| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1638| Type = [IntType] int -# 1638| ValueCategory = lvalue -# 1641| [FunctionTemplateSpecialization,MemberFunction] std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1641| : -# 1641| getEntryPoint(): [BlockStmt] { ... } -# 1642| getStmt(0): [ReturnStmt] return ... -# 1642| getExpr(): [Literal] 5 -# 1642| Type = [IntType] int -# 1642| Value = [Literal] 5 -# 1642| ValueCategory = prvalue -# 1642| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1642| Type = [LValueReferenceType] int & -# 1642| ValueCategory = prvalue -# 1642| getExpr(): [TemporaryObjectExpr] temporary object -# 1642| Type = [IntType] int -# 1642| ValueCategory = lvalue -# 1645| [TopLevelFunction] void tuple_structured_binding_no_ref_get() -# 1645| : -# 1645| getEntryPoint(): [BlockStmt] { ... } -# 1646| getStmt(0): [DeclStmt] declaration -# 1646| getDeclarationEntry(0): [VariableDeclarationEntry] definition of t -# 1646| Type = [Struct] StructuredBindingTupleNoRefGet -# 1646| getVariable().getInitializer(): [Initializer] initializer for t -# 1646| getExpr(): [ConstructorCall] call to StructuredBindingTupleNoRefGet -# 1646| Type = [VoidType] void -# 1646| ValueCategory = prvalue -# 1648| getStmt(1): [BlockStmt] { ... } -# 1649| getStmt(0): [DeclStmt] declaration -# 1649| getDeclarationEntry(0): (no string representation) -# 1649| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1649| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1649| getExpr(): [VariableAccess] t -# 1649| Type = [Struct] StructuredBindingTupleNoRefGet -# 1649| ValueCategory = lvalue -# 1649| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1649| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1649| ValueCategory = prvalue -# 1649| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i -# 1649| Type = [RValueReferenceType] type && +# 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): (no string representation) +# 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 && #-----| getVariable().getInitializer(): [Initializer] initializer for i -# 1649| getExpr(): [FunctionCall] call to get -# 1649| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1649| ValueCategory = prvalue -# 1649| getQualifier(): [VariableAccess] (unnamed local variable) -# 1649| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1649| ValueCategory = prvalue(load) -# 1649| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1649| Type = [Struct] StructuredBindingTupleNoRefGet -# 1649| ValueCategory = lvalue -# 1649| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1649| Type = [LValueReferenceType] type & -# 1649| ValueCategory = prvalue -# 1649| getExpr(): [TemporaryObjectExpr] temporary object -# 1649| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1649| ValueCategory = lvalue -# 1649| getDeclarationEntry(2): [VariableDeclarationEntry] definition of r -# 1649| Type = [NestedTypedefType,UsingAliasTypedefType] type -#-----| getVariable().getInitializer(): [Initializer] initializer for r -# 1649| getExpr(): [FunctionCall] call to get -# 1649| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1649| ValueCategory = prvalue -# 1649| getQualifier(): [VariableAccess] (unnamed local variable) -# 1649| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1649| ValueCategory = prvalue(load) -# 1649| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1649| Type = [Struct] StructuredBindingTupleNoRefGet -# 1649| ValueCategory = lvalue -# 1649| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1649| Type = [LValueReferenceType] int & -# 1649| ValueCategory = prvalue -# 1649| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1649| Type = [IntType] int -# 1649| ValueCategory = lvalue -# 1649| getDeclarationEntry(3): [VariableDeclarationEntry] definition of rv -# 1649| Type = [NestedTypedefType,UsingAliasTypedefType] type -#-----| getVariable().getInitializer(): [Initializer] initializer for rv -# 1649| getExpr(): [FunctionCall] call to get -# 1649| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1649| ValueCategory = prvalue -# 1649| getQualifier(): [VariableAccess] (unnamed local variable) -# 1649| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1649| ValueCategory = prvalue(load) -# 1649| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1649| Type = [Struct] StructuredBindingTupleNoRefGet -# 1649| ValueCategory = lvalue -# 1649| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1649| Type = [LValueReferenceType] int & -# 1649| ValueCategory = prvalue -# 1649| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1649| Type = [IntType] int -# 1649| ValueCategory = xvalue -# 1650| getStmt(1): [ExprStmt] ExprStmt -# 1650| getExpr(): [AssignExpr] ... = ... -# 1650| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1650| ValueCategory = lvalue -# 1650| getLValue(): [VariableAccess] i -# 1650| Type = [RValueReferenceType] type && -# 1650| ValueCategory = prvalue(load) -# 1650| getRValue(): [Literal] 4 -# 1650| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1650| Value = [Literal] 4 -# 1650| ValueCategory = prvalue -# 1650| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1650| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1650| ValueCategory = lvalue -# 1651| getStmt(2): [DeclStmt] declaration -# 1651| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri -# 1651| Type = [LValueReferenceType] int & -# 1651| getVariable().getInitializer(): [Initializer] initializer for ri -# 1651| getExpr(): [VariableAccess] i -# 1651| Type = [RValueReferenceType] type && -# 1651| ValueCategory = prvalue(load) +# 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(): [ReferenceDereferenceExpr] (reference dereference) +# 1651| getExpr(): [TemporaryObjectExpr] temporary object # 1651| Type = [NestedTypedefType,UsingAliasTypedefType] type # 1651| ValueCategory = lvalue -# 1652| getStmt(3): [DeclStmt] declaration -# 1652| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1652| Type = [IntType] int -# 1652| getVariable().getInitializer(): [Initializer] initializer for v -# 1652| getExpr(): [VariableAccess] i -# 1652| Type = [RValueReferenceType] type && -# 1652| ValueCategory = prvalue(load) -# 1652| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1652| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1652| ValueCategory = prvalue(load) -# 1653| getStmt(4): [ExprStmt] ExprStmt -# 1653| getExpr(): [AssignExpr] ... = ... -# 1653| Type = [IntType] int -# 1653| ValueCategory = lvalue -# 1653| getLValue(): [VariableAccess] r -# 1653| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1653| ValueCategory = prvalue(load) -# 1653| getRValue(): [Literal] 5 -# 1653| Type = [IntType] int -# 1653| Value = [Literal] 5 -# 1653| ValueCategory = prvalue -# 1653| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1653| Type = [IntType] int -# 1653| ValueCategory = lvalue -# 1654| getStmt(5): [DeclStmt] declaration -# 1654| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1654| Type = [LValueReferenceType] int & -# 1654| getVariable().getInitializer(): [Initializer] initializer for rr -# 1654| getExpr(): [VariableAccess] r +# 1651| getDeclarationEntry(2): [VariableDeclarationEntry] definition of r +# 1651| 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 +#-----| 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) -# 1654| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1654| Type = [LValueReferenceType] int & -# 1654| ValueCategory = prvalue -# 1654| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1654| Type = [IntType] int -# 1654| ValueCategory = lvalue -# 1655| getStmt(6): [DeclStmt] declaration -# 1655| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 1655| getStmt(4): [ExprStmt] ExprStmt +# 1655| getExpr(): [AssignExpr] ... = ... # 1655| Type = [IntType] int -# 1655| getVariable().getInitializer(): [Initializer] initializer for w -# 1655| getExpr(): [VariableAccess] r -# 1655| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1655| ValueCategory = prvalue(load) -# 1655| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1655| Type = [IntType] int -# 1655| ValueCategory = prvalue(load) -# 1658| getStmt(2): [BlockStmt] { ... } -# 1659| getStmt(0): [DeclStmt] declaration -# 1659| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable -# 1659| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1659| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable -# 1659| getExpr(): [VariableAccess] t -# 1659| Type = [Struct] StructuredBindingTupleNoRefGet -# 1659| ValueCategory = lvalue -# 1659| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1659| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1659| ValueCategory = prvalue -# 1660| getStmt(1): [DeclStmt] declaration -# 1660| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1660| Type = [RValueReferenceType] type && -# 1660| getVariable().getInitializer(): [Initializer] initializer for i -# 1660| getExpr(): [FunctionCall] call to get -# 1660| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1660| ValueCategory = prvalue -# 1660| getQualifier(): [VariableAccess] unnamed_local_variable -# 1660| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1660| ValueCategory = prvalue(load) -# 1660| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1660| Type = [Struct] StructuredBindingTupleNoRefGet -# 1660| ValueCategory = lvalue -# 1660| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1660| Type = [LValueReferenceType] type & -# 1660| ValueCategory = prvalue -# 1660| getExpr(): [TemporaryObjectExpr] temporary object -# 1660| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1660| ValueCategory = lvalue -# 1661| getStmt(2): [DeclStmt] declaration -# 1661| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r -# 1661| Type = [LValueReferenceType] int & -# 1661| getVariable().getInitializer(): [Initializer] initializer for r -# 1661| getExpr(): [FunctionCall] call to get -# 1661| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1661| ValueCategory = prvalue -# 1661| getQualifier(): [VariableAccess] unnamed_local_variable -# 1661| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & -# 1661| ValueCategory = prvalue(load) -# 1661| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1661| Type = [Struct] StructuredBindingTupleNoRefGet -# 1661| ValueCategory = lvalue +# 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] int & +# 1661| Type = [LValueReferenceType] StructuredBindingTupleNoRefGet & # 1661| ValueCategory = prvalue -# 1661| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1661| Type = [IntType] int -# 1661| ValueCategory = lvalue -# 1662| getStmt(3): [DeclStmt] declaration -# 1662| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rv -# 1662| Type = [RValueReferenceType] int && -# 1662| getVariable().getInitializer(): [Initializer] initializer for rv +# 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 @@ -13061,113 +13061,151 @@ ir.cpp: # 1662| Type = [Struct] StructuredBindingTupleNoRefGet # 1662| ValueCategory = lvalue # 1662| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1662| Type = [LValueReferenceType] int & +# 1662| Type = [LValueReferenceType] type & # 1662| ValueCategory = prvalue -# 1662| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1662| Type = [IntType] int -# 1662| ValueCategory = xvalue -# 1663| getStmt(4): [ExprStmt] ExprStmt -# 1663| getExpr(): [AssignExpr] ... = ... -# 1663| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1663| ValueCategory = lvalue -# 1663| getLValue(): [VariableAccess] i -# 1663| Type = [RValueReferenceType] type && -# 1663| ValueCategory = prvalue(load) -# 1663| getRValue(): [Literal] 4 -# 1663| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1663| Value = [Literal] 4 -# 1663| ValueCategory = prvalue -# 1663| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1663| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1663| ValueCategory = lvalue -# 1664| getStmt(5): [DeclStmt] declaration -# 1664| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ri -# 1664| Type = [LValueReferenceType] int & -# 1664| getVariable().getInitializer(): [Initializer] initializer for ri -# 1664| getExpr(): [VariableAccess] i -# 1664| Type = [RValueReferenceType] type && -# 1664| ValueCategory = prvalue(load) +# 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] type & +# 1664| Type = [LValueReferenceType] int & # 1664| ValueCategory = prvalue # 1664| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1664| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1664| ValueCategory = lvalue -# 1665| getStmt(6): [DeclStmt] declaration -# 1665| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1665| Type = [IntType] int -# 1665| getVariable().getInitializer(): [Initializer] initializer for v -# 1665| getExpr(): [VariableAccess] i -# 1665| Type = [RValueReferenceType] type && -# 1665| ValueCategory = prvalue(load) -# 1665| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1665| Type = [NestedTypedefType,UsingAliasTypedefType] type -# 1665| ValueCategory = prvalue(load) -# 1666| getStmt(7): [ExprStmt] ExprStmt -# 1666| getExpr(): [AssignExpr] ... = ... -# 1666| Type = [IntType] int -# 1666| ValueCategory = lvalue -# 1666| getLValue(): [VariableAccess] r -# 1666| Type = [LValueReferenceType] int & -# 1666| ValueCategory = prvalue(load) -# 1666| getRValue(): [Literal] 5 -# 1666| Type = [IntType] int -# 1666| Value = [Literal] 5 -# 1666| ValueCategory = prvalue -# 1666| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1666| Type = [IntType] int -# 1666| ValueCategory = lvalue -# 1667| getStmt(8): [DeclStmt] declaration -# 1667| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr -# 1667| Type = [LValueReferenceType] int & -# 1667| getVariable().getInitializer(): [Initializer] initializer for rr -# 1667| getExpr(): [VariableAccess] r -# 1667| Type = [LValueReferenceType] int & +# 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(): [ReferenceToExpr] (reference to) -# 1667| Type = [LValueReferenceType] int & -# 1667| ValueCategory = prvalue -# 1667| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1667| Type = [IntType] int -# 1667| ValueCategory = lvalue -# 1668| getStmt(9): [DeclStmt] declaration -# 1668| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w +# 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| getVariable().getInitializer(): [Initializer] initializer for w -# 1668| getExpr(): [VariableAccess] r -# 1668| Type = [LValueReferenceType] int & -# 1668| ValueCategory = prvalue(load) -# 1668| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1668| Type = [IntType] int -# 1668| ValueCategory = prvalue(load) -# 1670| getStmt(3): [ReturnStmt] return ... -# 1672| [TopLevelFunction] void array_structured_binding_non_ref_init() -# 1672| : -# 1672| getEntryPoint(): [BlockStmt] { ... } -# 1673| getStmt(0): [DeclStmt] declaration -# 1673| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs -# 1673| Type = [ArrayType] int[2] -# 1673| getVariable().getInitializer(): [Initializer] initializer for xs -# 1673| getExpr(): [ArrayAggregateLiteral] {...} -# 1673| Type = [ArrayType] int[2] -# 1673| ValueCategory = prvalue -# 1673| getAnElementExpr(0): [Literal] 1 -# 1673| Type = [IntType] int -# 1673| Value = [Literal] 1 -# 1673| ValueCategory = prvalue -# 1673| getAnElementExpr(1): [Literal] 2 -# 1673| Type = [IntType] int -# 1673| Value = [Literal] 2 -# 1673| ValueCategory = prvalue -# 1674| getStmt(1): [DeclStmt] declaration -# 1674| getDeclarationEntry(0): (no string representation) -# 1674| Type = [ArrayType] int[2] -# 1674| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable) -# 1674| getExpr(): [VariableAccess] xs -# 1674| Type = [ArrayType] int[2] -# 1674| ValueCategory = prvalue(load) -# 1674| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0 -# 1674| 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): (no string representation) +# 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 #-----| getVariable().getInitializer(): [Initializer] initializer for x0 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -13182,8 +13220,8 @@ ir.cpp: #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion #-----| Type = [IntPointerType] int * #-----| ValueCategory = prvalue -# 1674| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 -# 1674| Type = [IntType] int +# 1676| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1 +# 1676| Type = [IntType] int #-----| getVariable().getInitializer(): [Initializer] initializer for x1 #-----| getExpr(): [ArrayExpr] access to array #-----| Type = [IntType] int @@ -13198,351 +13236,351 @@ ir.cpp: #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion #-----| Type = [IntPointerType] int * #-----| ValueCategory = prvalue -# 1675| getStmt(2): [ReturnStmt] return ... -# 1677| [CopyAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj const&) -# 1677| : +# 1677| getStmt(2): [ReturnStmt] return ... +# 1679| [CopyAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj const&) +# 1679| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1677| [MoveAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj&&) -# 1677| : +# 1679| [MoveAssignmentOperator] CapturedLambdaMyObj& CapturedLambdaMyObj::operator=(CapturedLambdaMyObj&&) +# 1679| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CapturedLambdaMyObj && -# 1677| [CopyConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj const&) -# 1677| : +# 1679| [CopyConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj const&) +# 1679| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1677| [MoveConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj&&) -# 1677| : +# 1679| [MoveConstructor] void CapturedLambdaMyObj::CapturedLambdaMyObj(CapturedLambdaMyObj&&) +# 1679| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CapturedLambdaMyObj && -# 1680| [Constructor] void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1680| : -# 1680| : -# 1680| getEntryPoint(): [BlockStmt] { ... } -# 1680| getStmt(0): [ReturnStmt] return ... -# 1683| [TopLevelFunction] void captured_lambda(int, int&, int&&) -# 1683| : -# 1683| getParameter(0): [Parameter] x -# 1683| Type = [IntType] int -# 1683| getParameter(1): [Parameter] y -# 1683| Type = [LValueReferenceType] int & -# 1683| getParameter(2): [Parameter] z -# 1683| Type = [RValueReferenceType] int && -# 1684| getEntryPoint(): [BlockStmt] { ... } -# 1685| getStmt(0): [DeclStmt] declaration -# 1685| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj1 -# 1685| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1685| getVariable().getInitializer(): [Initializer] initializer for obj1 -# 1685| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj -# 1685| Type = [VoidType] void -# 1685| ValueCategory = prvalue -# 1685| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1685| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1685| ValueCategory = prvalue -# 1685| getExpr(): [CStyleCast] (const CapturedLambdaMyObj)... -# 1685| Conversion = [GlvalueConversion] glvalue conversion -# 1685| Type = [SpecifiedType] const CapturedLambdaMyObj -# 1685| ValueCategory = lvalue -# 1685| getExpr(): [TemporaryObjectExpr] temporary object -# 1685| Type = [Class] CapturedLambdaMyObj -# 1685| ValueCategory = lvalue -# 1686| getStmt(1): [DeclStmt] declaration -# 1686| getDeclarationEntry(0): [VariableDeclarationEntry] definition of obj2 -# 1686| Type = [Class] CapturedLambdaMyObj -# 1686| getVariable().getInitializer(): [Initializer] initializer for obj2 -# 1686| getExpr(): [ConstructorCall] call to CapturedLambdaMyObj -# 1686| Type = [VoidType] void -# 1686| ValueCategory = prvalue -# 1688| getStmt(2): [DeclStmt] declaration -# 1688| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_outer -# 1688| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1688| getVariable().getInitializer(): [Initializer] initializer for lambda_outer -# 1688| getExpr(): [LambdaExpression] [...](...){...} -# 1688| Type = [Closure,LocalClass] decltype([...](...){...}) +# 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 -# 1688| getInitializer(): [ClassAggregateLiteral] {...} -# 1688| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1688| ValueCategory = prvalue -# 1688| getAFieldExpr(obj1): [VariableAccess] obj1 -# 1688| Type = [LValueReferenceType] const CapturedLambdaMyObj & -# 1688| ValueCategory = prvalue(load) -# 1688| getAFieldExpr(obj2): [VariableAccess] obj2 -# 1688| Type = [Class] CapturedLambdaMyObj -# 1688| ValueCategory = prvalue(load) -# 1688| getAFieldExpr(x): [VariableAccess] x -# 1688| Type = [IntType] int -# 1688| ValueCategory = prvalue(load) -# 1688| getAFieldExpr(y): [VariableAccess] y -# 1688| Type = [LValueReferenceType] int & -# 1688| ValueCategory = prvalue(load) -# 1688| getAFieldExpr(z): [VariableAccess] z -# 1688| Type = [RValueReferenceType] int && -# 1688| ValueCategory = prvalue(load) -#-----| getAFieldExpr(obj1).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [SpecifiedType] const CapturedLambdaMyObj -#-----| ValueCategory = prvalue(load) -# 1690| getAFieldExpr(y).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1690| Type = [IntType] int +# 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(z).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 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) -# 1691| getStmt(3): [ReturnStmt] return ... -# 1688| [CopyAssignmentOperator] (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)& (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator=((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25) const&) -# 1688| : +# 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) +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1688, col. 25 & -# 1688| [CopyConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25) const&) -# 1688| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1688, col. 25 & -# 1688| [MoveConstructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::(unnamed constructor)((void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)&&) -# 1688| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1688, col. 25 && -# 1688| [Constructor] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::(unnamed constructor)() -# 1688| : -# 1688| [ConstMemberFunction] void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const -# 1688| : -# 1688| getEntryPoint(): [BlockStmt] { ... } -# 1689| getStmt(0): [DeclStmt] declaration -# 1689| getDeclarationEntry(0): [VariableDeclarationEntry] definition of lambda_inner -# 1689| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1689| getVariable().getInitializer(): [Initializer] initializer for lambda_inner -# 1689| getExpr(): [LambdaExpression] [...](...){...} -# 1689| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1689| ValueCategory = prvalue -# 1689| getInitializer(): [ClassAggregateLiteral] {...} -# 1689| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1689| ValueCategory = prvalue -# 1689| getAFieldExpr(obj1): [PointerFieldAccess] obj1 -# 1689| Type = [SpecifiedType] const CapturedLambdaMyObj -# 1689| ValueCategory = prvalue(load) -# 1689| getQualifier(): [ThisExpr] this -# 1689| Type = [PointerType] lambda [] type at line 1689, col. 29 * -# 1689| ValueCategory = prvalue(load) -# 1689| getAFieldExpr(obj2): [PointerFieldAccess] obj2 -# 1689| Type = [Class] CapturedLambdaMyObj -# 1689| ValueCategory = prvalue(load) -# 1689| getQualifier(): [ThisExpr] this -# 1689| Type = [PointerType] lambda [] type at line 1689, col. 29 * -# 1689| ValueCategory = prvalue(load) -# 1689| getAFieldExpr(x): [PointerFieldAccess] x -# 1689| Type = [IntType] int -# 1689| ValueCategory = prvalue(load) -# 1689| getQualifier(): [ThisExpr] this -# 1689| Type = [PointerType] const lambda [] type at line 1688, col. 25 * -# 1689| ValueCategory = prvalue(load) -# 1689| getAFieldExpr(y): [PointerFieldAccess] y -# 1689| Type = [IntType] int -# 1689| ValueCategory = prvalue(load) -# 1689| getQualifier(): [ThisExpr] this -# 1689| Type = [PointerType] const lambda [] type at line 1688, col. 25 * -# 1689| ValueCategory = prvalue(load) -# 1689| getAFieldExpr(z): [PointerFieldAccess] z -# 1689| Type = [IntType] int -# 1689| ValueCategory = prvalue(load) -# 1689| getQualifier(): [ThisExpr] this -# 1689| Type = [PointerType] const lambda [] type at line 1688, col. 25 * -# 1689| ValueCategory = prvalue(load) -# 1690| getStmt(1): [ReturnStmt] return ... -# 1689| [CopyAssignmentOperator] (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)& (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::operator=((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29) const&) -# 1689| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1689, col. 29 & -# 1689| [CopyConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29) const&) -# 1689| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1689, col. 29 & -# 1689| [MoveConstructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::(unnamed constructor)((void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)&&) -# 1689| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1689, col. 29 && -# 1689| [Constructor] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::(unnamed constructor)() -# 1689| : -# 1689| [ConstMemberFunction] void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::operator()() const -# 1689| : -# 1689| getEntryPoint(): [BlockStmt] { ... } -# 1689| getStmt(0): [EmptyStmt] ; -# 1689| getStmt(1): [ReturnStmt] return ... -# 1693| [TopLevelFunction] int goto_on_same_line() -# 1693| : -# 1693| getEntryPoint(): [BlockStmt] { ... } -# 1694| getStmt(0): [DeclStmt] declaration -# 1694| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1694| Type = [IntType] int -# 1694| getVariable().getInitializer(): [Initializer] initializer for x -# 1694| getExpr(): [Literal] 42 -# 1694| Type = [IntType] int -# 1694| Value = [Literal] 42 -# 1694| ValueCategory = prvalue -# 1695| getStmt(1): [GotoStmt] goto ... -# 1695| getStmt(2): [LabelStmt] label ...: -# 1696| getStmt(3): [ReturnStmt] return ... -# 1696| getExpr(): [VariableAccess] x +#-----| 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| ValueCategory = prvalue(load) -# 1699| [CopyAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass const&) -# 1699| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1699| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&) -# 1699| : +# 1701| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&) +# 1701| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] TrivialLambdaClass && -# 1701| [ConstMemberFunction] void TrivialLambdaClass::m() const -# 1701| : -# 1701| getEntryPoint(): [BlockStmt] { ... } -# 1702| getStmt(0): [DeclStmt] declaration -# 1702| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_outer -# 1702| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1702| getVariable().getInitializer(): [Initializer] initializer for l_m_outer -# 1702| getExpr(): [LambdaExpression] [...](...){...} -# 1702| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1702| ValueCategory = prvalue -# 1702| getInitializer(): [ClassAggregateLiteral] {...} -# 1702| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1702| ValueCategory = prvalue -# 1702| getAFieldExpr((captured this)): [PointerDereferenceExpr] * ... -# 1702| Type = [SpecifiedType] const TrivialLambdaClass -# 1702| ValueCategory = prvalue(load) -# 1702| getOperand(): [ThisExpr] this -# 1702| Type = [SpecifiedType] const TrivialLambdaClass *const -# 1702| ValueCategory = prvalue(load) -# 1709| getStmt(1): [ReturnStmt] return ... -# 1702| [CopyAssignmentOperator] (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)& (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator=((void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26) const&) -# 1702| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1702, col. 26 & -# 1702| [CopyConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26) const&) -# 1702| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1702, col. 26 & -# 1702| [MoveConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)&&) -# 1702| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1702, col. 26 && -# 1702| [Constructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::(unnamed constructor)() -# 1702| : -# 1702| [ConstMemberFunction] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const -# 1702| : -# 1702| getEntryPoint(): [BlockStmt] { ... } -# 1703| getStmt(0): [ExprStmt] ExprStmt -# 1703| getExpr(): [FunctionCall] call to m -# 1703| Type = [VoidType] void -# 1703| ValueCategory = prvalue -# 1703| getQualifier(): [AddressOfExpr] & ... -# 1703| Type = [PointerType] const TrivialLambdaClass * -# 1703| ValueCategory = prvalue -# 1703| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) -# 1703| Type = [SpecifiedType] const TrivialLambdaClass -# 1703| ValueCategory = lvalue -# 1703| getQualifier(): [ThisExpr] this -# 1703| Type = [PointerType] const lambda [] type at line 1702, col. 26 * -# 1703| ValueCategory = prvalue(load) -# 1705| getStmt(1): [DeclStmt] declaration -# 1705| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_inner -# 1705| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1705| getVariable().getInitializer(): [Initializer] initializer for l_m_inner -# 1705| getExpr(): [LambdaExpression] [...](...){...} -# 1705| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1705| ValueCategory = prvalue -# 1705| getInitializer(): [ClassAggregateLiteral] {...} -# 1705| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1705| ValueCategory = prvalue -# 1705| getAFieldExpr((captured this)): [PointerFieldAccess] (captured this) -# 1705| Type = [SpecifiedType] const TrivialLambdaClass -# 1705| ValueCategory = prvalue(load) -# 1705| getQualifier(): [ThisExpr] this -# 1705| Type = [PointerType] lambda [] type at line 1705, col. 30 * -# 1705| ValueCategory = prvalue(load) -# 1708| getStmt(2): [ReturnStmt] return ... -# 1705| [CopyAssignmentOperator] (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)& (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator=((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30) const&) -# 1705| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1705, col. 30 & -# 1705| [CopyConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30) const&) -# 1705| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1705, col. 30 & -# 1705| [MoveConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)&&) -# 1705| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1705, col. 30 && -# 1705| [Constructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::(unnamed constructor)() -# 1705| : -# 1705| [ConstMemberFunction] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator()() const -# 1705| : -# 1705| getEntryPoint(): [BlockStmt] { ... } -# 1706| getStmt(0): [ExprStmt] ExprStmt -# 1706| getExpr(): [FunctionCall] call to m -# 1706| Type = [VoidType] void -# 1706| ValueCategory = prvalue -# 1706| getQualifier(): [AddressOfExpr] & ... -# 1706| Type = [PointerType] const TrivialLambdaClass * -# 1706| ValueCategory = prvalue -# 1706| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] (captured this) -# 1706| Type = [SpecifiedType] const TrivialLambdaClass -# 1706| ValueCategory = lvalue -# 1706| getQualifier(): [ThisExpr] this -# 1706| Type = [PointerType] const lambda [] type at line 1705, col. 30 * -# 1706| ValueCategory = prvalue(load) -# 1707| getStmt(1): [ReturnStmt] return ... -# 1712| [TopLevelFunction] void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1712| : -# 1712| getParameter(0): [Parameter] p1 -# 1712| Type = [Class] TrivialLambdaClass -# 1712| getParameter(1): [Parameter] p2 -# 1712| Type = [LValueReferenceType] TrivialLambdaClass & -# 1712| getParameter(2): [Parameter] p3 -# 1712| Type = [RValueReferenceType] TrivialLambdaClass && -# 1712| getEntryPoint(): [BlockStmt] { ... } -# 1713| getStmt(0): [DeclStmt] declaration -# 1713| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l1 -# 1713| Type = [SpecifiedType] const TrivialLambdaClass -# 1714| getStmt(1): [DeclStmt] declaration -# 1714| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l2 -# 1714| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1714| getVariable().getInitializer(): [Initializer] initializer for l2 -# 1714| getExpr(): [Literal] 0 -# 1714| Type = [Class] TrivialLambdaClass -# 1714| Value = [Literal] 0 -# 1714| ValueCategory = prvalue -# 1714| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1714| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1714| ValueCategory = prvalue -# 1714| getExpr(): [CStyleCast] (const TrivialLambdaClass)... -# 1714| Conversion = [GlvalueConversion] glvalue conversion -# 1714| Type = [SpecifiedType] const TrivialLambdaClass -# 1714| ValueCategory = lvalue -# 1714| getExpr(): [TemporaryObjectExpr] temporary object -# 1714| Type = [Class] TrivialLambdaClass -# 1714| ValueCategory = lvalue -# 1716| getStmt(2): [DeclStmt] declaration -# 1716| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_outer1 -# 1716| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1716| getVariable().getInitializer(): [Initializer] initializer for l_outer1 -# 1716| getExpr(): [LambdaExpression] [...](...){...} -# 1716| Type = [Closure,LocalClass] decltype([...](...){...}) +#-----| 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| getInitializer(): [ClassAggregateLiteral] {...} -# 1716| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1716| ValueCategory = prvalue -# 1716| getAFieldExpr(p1): [VariableAccess] p1 +# 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 = prvalue(load) -# 1716| getAFieldExpr(p2): [VariableAccess] p2 -# 1716| Type = [LValueReferenceType] TrivialLambdaClass & -# 1716| ValueCategory = prvalue(load) -# 1716| getAFieldExpr(p3): [VariableAccess] p3 -# 1716| Type = [RValueReferenceType] TrivialLambdaClass && -# 1716| ValueCategory = prvalue(load) -# 1716| getAFieldExpr(l1): [VariableAccess] l1 -# 1716| Type = [SpecifiedType] const TrivialLambdaClass -# 1716| ValueCategory = prvalue(load) -# 1716| getAFieldExpr(l2): [VariableAccess] l2 -# 1716| Type = [LValueReferenceType] const TrivialLambdaClass & -# 1716| ValueCategory = prvalue(load) +# 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) #-----| getAFieldExpr(p2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [Class] TrivialLambdaClass #-----| ValueCategory = prvalue(load) @@ -13552,723 +13590,723 @@ ir.cpp: #-----| getAFieldExpr(l2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [SpecifiedType] const TrivialLambdaClass #-----| ValueCategory = prvalue(load) -# 1719| getStmt(3): [ReturnStmt] return ... -# 1716| [CopyAssignmentOperator] (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)& (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator=((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21) const&) -# 1716| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1716, col. 21 & -# 1716| [CopyConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21) const&) -# 1716| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1716, col. 21 & -# 1716| [MoveConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)&&) -# 1716| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1716, col. 21 && -# 1716| [Constructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::(unnamed constructor)() -# 1716| : -# 1716| [ConstMemberFunction] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const -# 1716| : -# 1716| getEntryPoint(): [BlockStmt] { ... } -# 1717| getStmt(0): [DeclStmt] declaration -# 1717| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_inner1 -# 1717| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1717| getVariable().getInitializer(): [Initializer] initializer for l_inner1 -# 1717| getExpr(): [LambdaExpression] [...](...){...} -# 1717| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1717| ValueCategory = prvalue -# 1717| getInitializer(): [ClassAggregateLiteral] {...} -# 1717| Type = [Closure,LocalClass] decltype([...](...){...}) -# 1717| ValueCategory = prvalue -# 1717| getAFieldExpr(p1): [PointerFieldAccess] p1 -# 1717| Type = [Class] TrivialLambdaClass -# 1717| ValueCategory = prvalue(load) -# 1717| getQualifier(): [ThisExpr] this -# 1717| Type = [PointerType] lambda [] type at line 1717, col. 25 * -# 1717| ValueCategory = prvalue(load) -# 1718| getStmt(1): [ReturnStmt] return ... -# 1717| [CopyAssignmentOperator] (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)& (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator=((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25) const&) -# 1717| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1717, col. 25 & -# 1717| [CopyConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25) const&) -# 1717| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const lambda [] type at line 1717, col. 25 & -# 1717| [MoveConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)&&) -# 1717| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] lambda [] type at line 1717, col. 25 && -# 1717| [Constructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::(unnamed constructor)() -# 1717| : -# 1717| [ConstMemberFunction] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator()() const -# 1717| : -# 1717| getEntryPoint(): [BlockStmt] { ... } -# 1717| getStmt(0): [ReturnStmt] return ... -# 1721| [CopyAssignmentOperator] CopyConstructorWithImplicitArgumentClass& CopyConstructorWithImplicitArgumentClass::operator=(CopyConstructorWithImplicitArgumentClass const&) -# 1721| : +#-----| 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1724| [Constructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1724| : -# 1724| : -# 1724| getEntryPoint(): [BlockStmt] { ... } -# 1724| getStmt(0): [ReturnStmt] return ... -# 1725| [CopyConstructor] void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1725| : -# 1725| getParameter(0): [Parameter] c -# 1725| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1725| : -# 1725| getEntryPoint(): [BlockStmt] { ... } -# 1726| getStmt(0): [ExprStmt] ExprStmt -# 1726| getExpr(): [AssignExpr] ... = ... -# 1726| Type = [IntType] int -# 1726| ValueCategory = lvalue -# 1726| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 1726| Type = [IntType] int -# 1726| ValueCategory = lvalue -# 1726| getQualifier(): [ThisExpr] this -# 1726| Type = [PointerType] CopyConstructorWithImplicitArgumentClass * -# 1726| ValueCategory = prvalue(load) -# 1726| getRValue(): [ReferenceFieldAccess] x -# 1726| Type = [IntType] int -# 1726| ValueCategory = prvalue(load) -# 1726| getQualifier(): [VariableAccess] c -# 1726| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1726| ValueCategory = prvalue(load) -# 1726| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1726| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1726| ValueCategory = lvalue -# 1727| getStmt(1): [ReturnStmt] return ... -# 1730| [CopyAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass const&) -# 1730| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithBitwiseCopyClass & -# 1730| [MoveAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass&&) -# 1730| : +# 1732| [MoveAssignmentOperator] CopyConstructorWithBitwiseCopyClass& CopyConstructorWithBitwiseCopyClass::operator=(CopyConstructorWithBitwiseCopyClass&&) +# 1732| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorWithBitwiseCopyClass && -# 1730| [CopyConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass const&) -# 1730| : +# 1732| [CopyConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass const&) +# 1732| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorWithBitwiseCopyClass & -# 1730| [MoveConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass&&) -# 1730| : +# 1732| [MoveConstructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass(CopyConstructorWithBitwiseCopyClass&&) +# 1732| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorWithBitwiseCopyClass && -# 1733| [Constructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1733| : -# 1733| : -# 1733| getEntryPoint(): [BlockStmt] { ... } -# 1733| getStmt(0): [ReturnStmt] return ... -# 1736| [CopyAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass const&) -# 1736| : +# 1735| [Constructor] void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() +# 1735| : +# 1735| : +# 1735| getEntryPoint(): [BlockStmt] { ... } +# 1735| getStmt(0): [ReturnStmt] return ... +# 1738| [CopyAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass const&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1736| [MoveAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass&&) -# 1736| : +# 1738| [MoveAssignmentOperator] CopyConstructorTestNonVirtualClass& CopyConstructorTestNonVirtualClass::operator=(CopyConstructorTestNonVirtualClass&&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestNonVirtualClass && -# 1736| [CopyConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) -# 1736| : +# 1738| [CopyConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) +# 1738| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1736| : -# 1736| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass -# 1736| Type = [VoidType] void -# 1736| ValueCategory = prvalue -# 1736| getArgument(0): [VariableAccess] (unnamed parameter 0) -# 1736| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1736| ValueCategory = prvalue(load) -# 1736| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1736| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1736| ValueCategory = prvalue -# 1736| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... -# 1736| Conversion = [BaseClassConversion] base class conversion -# 1736| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1736| ValueCategory = lvalue -# 1736| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1736| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass -# 1736| ValueCategory = lvalue -# 1736| getInitializer(1): (no string representation) -# 1736| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass -# 1736| ValueCategory = prvalue -# 1736| getEntryPoint(): [BlockStmt] { ... } -# 1736| getStmt(0): [ReturnStmt] return ... -# 1736| [MoveConstructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass&&) -# 1736| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestNonVirtualClass && -# 1740| [Constructor] void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1740| : -# 1740| : -# 1740| getInitializer(0): [ConstructorDirectInit] call to CopyConstructorWithImplicitArgumentClass -# 1740| Type = [VoidType] void -# 1740| ValueCategory = prvalue -# 1740| getInitializer(1): [ConstructorDirectInit] call to CopyConstructorWithBitwiseCopyClass -# 1740| Type = [VoidType] void -# 1740| ValueCategory = prvalue -# 1740| getEntryPoint(): [BlockStmt] { ... } -# 1740| getStmt(0): [ReturnStmt] return ... -# 1743| [CopyAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass const&) -# 1743| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1743| [MoveAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass&&) -# 1743| : +# 1745| [MoveAssignmentOperator] CopyConstructorTestVirtualClass& CopyConstructorTestVirtualClass::operator=(CopyConstructorTestVirtualClass&&) +# 1745| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestVirtualClass && -# 1743| [CopyConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1743| : +# 1745| [CopyConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) +# 1745| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1743| : -# 1743| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass -# 1743| Type = [VoidType] void -# 1743| ValueCategory = prvalue -# 1743| getArgument(0): [VariableAccess] (unnamed parameter 0) -# 1743| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1743| ValueCategory = prvalue(load) -# 1743| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1743| Type = [LValueReferenceType] const CopyConstructorWithImplicitArgumentClass & -# 1743| ValueCategory = prvalue -# 1743| getExpr(): [CStyleCast] (const CopyConstructorWithImplicitArgumentClass)... -# 1743| Conversion = [BaseClassConversion] base class conversion -# 1743| Type = [SpecifiedType] const CopyConstructorWithImplicitArgumentClass -# 1743| ValueCategory = lvalue -# 1743| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1743| Type = [SpecifiedType] const CopyConstructorTestVirtualClass -# 1743| ValueCategory = lvalue -# 1743| getInitializer(1): (no string representation) -# 1743| Type = [VirtualBaseClass] CopyConstructorWithBitwiseCopyClass -# 1743| ValueCategory = prvalue -# 1743| getEntryPoint(): [BlockStmt] { ... } -# 1743| getStmt(0): [ReturnStmt] return ... -# 1743| [MoveConstructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass&&) -# 1743| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] CopyConstructorTestVirtualClass && -# 1747| [Constructor] void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1747| : -# 1747| : -# 1747| getInitializer(0): [ConstructorVirtualInit] call to CopyConstructorWithImplicitArgumentClass -# 1747| Type = [VoidType] void -# 1747| ValueCategory = prvalue -# 1747| getInitializer(1): [ConstructorVirtualInit] call to CopyConstructorWithBitwiseCopyClass -# 1747| Type = [VoidType] void -# 1747| ValueCategory = prvalue -# 1747| getEntryPoint(): [BlockStmt] { ... } -# 1747| getStmt(0): [ReturnStmt] return ... -# 1750| [TopLevelFunction] int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1750| : -# 1751| getParameter(0): [Parameter] x -# 1751| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1752| getParameter(1): [Parameter] y -# 1752| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1752| getEntryPoint(): [BlockStmt] { ... } -# 1753| getStmt(0): [DeclStmt] declaration -# 1753| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cx -# 1753| Type = [Class] CopyConstructorTestNonVirtualClass -# 1753| getVariable().getInitializer(): [Initializer] initializer for cx -# 1753| getExpr(): [ConstructorCall] call to CopyConstructorTestNonVirtualClass -# 1753| Type = [VoidType] void -# 1753| ValueCategory = prvalue -# 1753| getArgument(0): [VariableAccess] x -# 1753| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1753| ValueCategory = prvalue(load) -# 1753| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1753| Type = [LValueReferenceType] const CopyConstructorTestNonVirtualClass & -# 1753| ValueCategory = prvalue -# 1753| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1753| Type = [SpecifiedType] const CopyConstructorTestNonVirtualClass -# 1753| ValueCategory = lvalue -# 1754| getStmt(1): [DeclStmt] declaration -# 1754| getDeclarationEntry(0): [VariableDeclarationEntry] definition of cy -# 1754| Type = [Class] CopyConstructorTestVirtualClass -# 1754| getVariable().getInitializer(): [Initializer] initializer for cy -# 1754| getExpr(): [ConstructorCall] call to CopyConstructorTestVirtualClass -# 1754| Type = [VoidType] void -# 1754| ValueCategory = prvalue -# 1754| getArgument(0): [VariableAccess] y -# 1754| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1754| ValueCategory = prvalue(load) -# 1754| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1754| Type = [LValueReferenceType] const CopyConstructorTestVirtualClass & -# 1754| ValueCategory = prvalue -# 1754| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 1754| Type = [SpecifiedType] const CopyConstructorTestVirtualClass -# 1754| ValueCategory = lvalue -# 1755| getStmt(2): [ReturnStmt] return ... -# 1757| [TopLevelFunction] void if_initialization(int) -# 1757| : -# 1757| getParameter(0): [Parameter] x -# 1757| Type = [IntType] int -# 1757| getEntryPoint(): [BlockStmt] { ... } -# 1758| getStmt(0): [IfStmt] if (...) ... -# 1758| getInitialization(): [DeclStmt] declaration -# 1758| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1758| Type = [IntType] int -# 1758| getVariable().getInitializer(): [Initializer] initializer for y -# 1758| getExpr(): [VariableAccess] x -# 1758| Type = [IntType] int -# 1758| ValueCategory = prvalue(load) -# 1758| getCondition(): [AddExpr] ... + ... -# 1758| Type = [IntType] int -# 1758| ValueCategory = prvalue -# 1758| getLeftOperand(): [VariableAccess] x -# 1758| Type = [IntType] int -# 1758| ValueCategory = prvalue(load) -# 1758| getRightOperand(): [Literal] 1 -# 1758| Type = [IntType] int -# 1758| Value = [Literal] 1 -# 1758| ValueCategory = prvalue -# 1758| getThen(): [BlockStmt] { ... } -# 1759| getStmt(0): [ExprStmt] ExprStmt -# 1759| getExpr(): [AssignExpr] ... = ... -# 1759| Type = [IntType] int -# 1759| ValueCategory = lvalue -# 1759| getLValue(): [VariableAccess] x -# 1759| Type = [IntType] int -# 1759| ValueCategory = lvalue -# 1759| getRValue(): [AddExpr] ... + ... -# 1759| Type = [IntType] int -# 1759| ValueCategory = prvalue -# 1759| getLeftOperand(): [VariableAccess] x -# 1759| Type = [IntType] int -# 1759| ValueCategory = prvalue(load) -# 1759| getRightOperand(): [VariableAccess] y -# 1759| Type = [IntType] int -# 1759| ValueCategory = prvalue(load) -# 1758| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1758| Conversion = [BoolConversion] conversion to bool -# 1758| Type = [BoolType] bool -# 1758| ValueCategory = prvalue -# 1762| getStmt(1): [DeclStmt] declaration -# 1762| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1762| Type = [IntType] int -# 1763| getStmt(2): [IfStmt] if (...) ... -# 1763| getInitialization(): [ExprStmt] ExprStmt -# 1763| getExpr(): [AssignExpr] ... = ... -# 1763| Type = [IntType] int -# 1763| ValueCategory = lvalue -# 1763| getLValue(): [VariableAccess] w -# 1763| Type = [IntType] int -# 1763| ValueCategory = lvalue -# 1763| getRValue(): [VariableAccess] x -# 1763| Type = [IntType] int -# 1763| ValueCategory = prvalue(load) -# 1763| getCondition(): [AddExpr] ... + ... -# 1763| Type = [IntType] int -# 1763| ValueCategory = prvalue -# 1763| getLeftOperand(): [VariableAccess] x -# 1763| Type = [IntType] int -# 1763| ValueCategory = prvalue(load) -# 1763| getRightOperand(): [Literal] 1 -# 1763| Type = [IntType] int -# 1763| Value = [Literal] 1 -# 1763| ValueCategory = prvalue -# 1763| getThen(): [BlockStmt] { ... } -# 1764| getStmt(0): [ExprStmt] ExprStmt -# 1764| getExpr(): [AssignExpr] ... = ... -# 1764| Type = [IntType] int -# 1764| ValueCategory = lvalue -# 1764| getLValue(): [VariableAccess] x -# 1764| Type = [IntType] int -# 1764| ValueCategory = lvalue -# 1764| getRValue(): [AddExpr] ... + ... -# 1764| Type = [IntType] int -# 1764| ValueCategory = prvalue -# 1764| getLeftOperand(): [VariableAccess] x -# 1764| Type = [IntType] int -# 1764| ValueCategory = prvalue(load) -# 1764| getRightOperand(): [VariableAccess] w -# 1764| Type = [IntType] int -# 1764| ValueCategory = prvalue(load) -# 1763| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1763| Conversion = [BoolConversion] conversion to bool -# 1763| Type = [BoolType] bool -# 1763| ValueCategory = prvalue -# 1767| getStmt(3): [IfStmt] if (...) ... -# 1767| getInitialization(): [ExprStmt] ExprStmt -# 1767| getExpr(): [AssignExpr] ... = ... -# 1767| Type = [IntType] int -# 1767| ValueCategory = lvalue -# 1767| getLValue(): [VariableAccess] w -# 1767| Type = [IntType] int -# 1767| ValueCategory = lvalue -# 1767| getRValue(): [VariableAccess] x -# 1767| Type = [IntType] int -# 1767| ValueCategory = prvalue(load) -# 1767| getCondition(): [ConditionDeclExpr] (condition decl) -# 1767| Type = [BoolType] bool -# 1767| ValueCategory = prvalue -# 1767| getVariableAccess(): [VariableAccess] w2 -# 1767| Type = [IntType] int -# 1767| ValueCategory = prvalue(load) -# 1767| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1767| Conversion = [BoolConversion] conversion to bool -# 1767| Type = [BoolType] bool -# 1767| ValueCategory = prvalue -# 1767| getThen(): [BlockStmt] { ... } -# 1768| getStmt(0): [ExprStmt] ExprStmt -# 1768| getExpr(): [AssignExpr] ... = ... -# 1768| Type = [IntType] int -# 1768| ValueCategory = lvalue -# 1768| getLValue(): [VariableAccess] x -# 1768| Type = [IntType] int -# 1768| ValueCategory = lvalue -# 1768| getRValue(): [AddExpr] ... + ... -# 1768| Type = [IntType] int -# 1768| ValueCategory = prvalue -# 1768| getLeftOperand(): [VariableAccess] x -# 1768| Type = [IntType] int -# 1768| ValueCategory = prvalue(load) -# 1768| getRightOperand(): [VariableAccess] w -# 1768| Type = [IntType] int -# 1768| ValueCategory = prvalue(load) -# 1771| getStmt(4): [IfStmt] if (...) ... -# 1771| getInitialization(): [DeclStmt] declaration -# 1771| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1771| Type = [IntType] int -# 1771| getVariable().getInitializer(): [Initializer] initializer for v -# 1771| getExpr(): [VariableAccess] x -# 1771| Type = [IntType] int -# 1771| ValueCategory = prvalue(load) -# 1771| getCondition(): [ConditionDeclExpr] (condition decl) -# 1771| Type = [BoolType] bool -# 1771| ValueCategory = prvalue -# 1771| getVariableAccess(): [VariableAccess] v2 -# 1771| Type = [IntType] int -# 1771| ValueCategory = prvalue(load) -# 1771| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1771| Conversion = [BoolConversion] conversion to bool -# 1771| Type = [BoolType] bool -# 1771| ValueCategory = prvalue -# 1771| getThen(): [BlockStmt] { ... } -# 1772| getStmt(0): [ExprStmt] ExprStmt -# 1772| getExpr(): [AssignExpr] ... = ... -# 1772| Type = [IntType] int -# 1772| ValueCategory = lvalue -# 1772| getLValue(): [VariableAccess] x -# 1772| Type = [IntType] int -# 1772| ValueCategory = lvalue -# 1772| getRValue(): [AddExpr] ... + ... -# 1772| Type = [IntType] int -# 1772| ValueCategory = prvalue -# 1772| getLeftOperand(): [VariableAccess] x -# 1772| Type = [IntType] int -# 1772| ValueCategory = prvalue(load) -# 1772| getRightOperand(): [VariableAccess] v -# 1772| Type = [IntType] int -# 1772| ValueCategory = prvalue(load) -# 1775| getStmt(5): [DeclStmt] declaration -# 1775| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1775| Type = [IntType] int -# 1775| getVariable().getInitializer(): [Initializer] initializer for z -# 1775| getExpr(): [VariableAccess] x -# 1775| Type = [IntType] int -# 1775| ValueCategory = prvalue(load) -# 1776| getStmt(6): [IfStmt] if (...) ... -# 1776| getCondition(): [VariableAccess] z -# 1776| Type = [IntType] int -# 1776| ValueCategory = prvalue(load) -# 1776| getThen(): [BlockStmt] { ... } -# 1777| getStmt(0): [ExprStmt] ExprStmt -# 1777| getExpr(): [AssignExpr] ... = ... +# 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 = lvalue -# 1777| getLValue(): [VariableAccess] x -# 1777| Type = [IntType] int -# 1777| ValueCategory = lvalue -# 1777| getRValue(): [AddExpr] ... + ... -# 1777| Type = [IntType] int -# 1777| ValueCategory = prvalue -# 1777| getLeftOperand(): [VariableAccess] x -# 1777| Type = [IntType] int -# 1777| ValueCategory = prvalue(load) -# 1777| getRightOperand(): [VariableAccess] z -# 1777| Type = [IntType] int -# 1777| ValueCategory = prvalue(load) -# 1776| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 1776| Conversion = [BoolConversion] conversion to bool -# 1776| Type = [BoolType] bool -# 1776| ValueCategory = prvalue -# 1780| getStmt(7): [IfStmt] if (...) ... -# 1780| getCondition(): [ConditionDeclExpr] (condition decl) -# 1780| Type = [BoolType] bool -# 1780| ValueCategory = prvalue -# 1780| getVariableAccess(): [VariableAccess] z2 -# 1780| Type = [IntType] int -# 1780| ValueCategory = prvalue(load) -# 1780| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 1780| Conversion = [BoolConversion] conversion to bool -# 1780| Type = [BoolType] bool -# 1780| ValueCategory = prvalue -# 1780| getThen(): [BlockStmt] { ... } -# 1781| getStmt(0): [ExprStmt] ExprStmt -# 1781| getExpr(): [AssignAddExpr] ... += ... -# 1781| Type = [IntType] int -# 1781| ValueCategory = lvalue -# 1781| getLValue(): [VariableAccess] x -# 1781| Type = [IntType] int -# 1781| ValueCategory = lvalue -# 1781| getRValue(): [VariableAccess] z2 -# 1781| Type = [IntType] int -# 1781| ValueCategory = prvalue(load) -# 1783| getStmt(8): [ReturnStmt] return ... -# 1785| [TopLevelFunction] void switch_initialization(int) -# 1785| : -# 1785| getParameter(0): [Parameter] x -# 1785| Type = [IntType] int -# 1785| getEntryPoint(): [BlockStmt] { ... } -# 1786| getStmt(0): [SwitchStmt] switch (...) ... -# 1786| getInitialization(): [DeclStmt] declaration -# 1786| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1786| Type = [IntType] int -# 1786| getVariable().getInitializer(): [Initializer] initializer for y -# 1786| getExpr(): [VariableAccess] x -# 1786| Type = [IntType] int -# 1786| ValueCategory = prvalue(load) -# 1786| getExpr(): [AddExpr] ... + ... -# 1786| Type = [IntType] int -# 1786| ValueCategory = prvalue -# 1786| getLeftOperand(): [VariableAccess] x -# 1786| Type = [IntType] int -# 1786| ValueCategory = prvalue(load) -# 1786| getRightOperand(): [Literal] 1 -# 1786| Type = [IntType] int -# 1786| Value = [Literal] 1 -# 1786| ValueCategory = prvalue -# 1786| getStmt(): [BlockStmt] { ... } -# 1787| getStmt(0): [SwitchCase] default: -# 1788| getStmt(1): [ExprStmt] ExprStmt -# 1788| getExpr(): [AssignExpr] ... = ... -# 1788| Type = [IntType] int -# 1788| ValueCategory = lvalue -# 1788| getLValue(): [VariableAccess] x -# 1788| Type = [IntType] int -# 1788| ValueCategory = lvalue -# 1788| getRValue(): [AddExpr] ... + ... +# 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 -# 1788| getLeftOperand(): [VariableAccess] x -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue(load) -# 1788| getRightOperand(): [VariableAccess] y -# 1788| Type = [IntType] int -# 1788| ValueCategory = prvalue(load) -# 1791| getStmt(1): [DeclStmt] declaration -# 1791| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w -# 1791| Type = [IntType] int -# 1792| getStmt(2): [SwitchStmt] switch (...) ... -# 1792| getInitialization(): [ExprStmt] ExprStmt -# 1792| getExpr(): [AssignExpr] ... = ... -# 1792| Type = [IntType] int -# 1792| ValueCategory = lvalue -# 1792| getLValue(): [VariableAccess] w -# 1792| Type = [IntType] int -# 1792| ValueCategory = lvalue -# 1792| getRValue(): [VariableAccess] x -# 1792| Type = [IntType] int -# 1792| ValueCategory = prvalue(load) -# 1792| getExpr(): [AddExpr] ... + ... -# 1792| Type = [IntType] int -# 1792| ValueCategory = prvalue -# 1792| getLeftOperand(): [VariableAccess] x -# 1792| Type = [IntType] int -# 1792| ValueCategory = prvalue(load) -# 1792| getRightOperand(): [Literal] 1 -# 1792| Type = [IntType] int -# 1792| Value = [Literal] 1 -# 1792| ValueCategory = prvalue -# 1792| getStmt(): [BlockStmt] { ... } -# 1793| getStmt(0): [SwitchCase] default: -# 1794| getStmt(1): [ExprStmt] ExprStmt -# 1794| getExpr(): [AssignExpr] ... = ... +# 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| getLValue(): [VariableAccess] x -# 1794| Type = [IntType] int -# 1794| ValueCategory = lvalue -# 1794| getRValue(): [AddExpr] ... + ... -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue -# 1794| getLeftOperand(): [VariableAccess] x -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue(load) -# 1794| getRightOperand(): [VariableAccess] w -# 1794| Type = [IntType] int -# 1794| ValueCategory = prvalue(load) -# 1797| getStmt(3): [SwitchStmt] switch (...) ... -# 1797| getInitialization(): [ExprStmt] ExprStmt -# 1797| getExpr(): [AssignExpr] ... = ... -# 1797| Type = [IntType] int -# 1797| ValueCategory = lvalue -# 1797| getLValue(): [VariableAccess] w -# 1797| Type = [IntType] int -# 1797| ValueCategory = lvalue -# 1797| getRValue(): [VariableAccess] x -# 1797| Type = [IntType] int -# 1797| ValueCategory = prvalue(load) -# 1797| getExpr(): [ConditionDeclExpr] (condition decl) -# 1797| Type = [IntType] int -# 1797| ValueCategory = prvalue -# 1797| getVariableAccess(): [VariableAccess] w2 -# 1797| Type = [IntType] int -# 1797| ValueCategory = prvalue(load) -# 1797| getStmt(): [BlockStmt] { ... } -# 1798| getStmt(0): [SwitchCase] default: -# 1799| getStmt(1): [ExprStmt] ExprStmt -# 1799| getExpr(): [AssignExpr] ... = ... +# 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| getLValue(): [VariableAccess] x -# 1799| Type = [IntType] int -# 1799| ValueCategory = lvalue -# 1799| getRValue(): [AddExpr] ... + ... -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue -# 1799| getLeftOperand(): [VariableAccess] x -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue(load) -# 1799| getRightOperand(): [VariableAccess] w -# 1799| Type = [IntType] int -# 1799| ValueCategory = prvalue(load) -# 1802| getStmt(4): [SwitchStmt] switch (...) ... -# 1802| getInitialization(): [DeclStmt] declaration -# 1802| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1802| Type = [IntType] int -# 1802| getVariable().getInitializer(): [Initializer] initializer for v -# 1802| getExpr(): [VariableAccess] x -# 1802| Type = [IntType] int -# 1802| ValueCategory = prvalue(load) -# 1802| getExpr(): [ConditionDeclExpr] (condition decl) -# 1802| Type = [IntType] int -# 1802| ValueCategory = prvalue -# 1802| getVariableAccess(): [VariableAccess] v2 -# 1802| Type = [IntType] int -# 1802| ValueCategory = prvalue(load) -# 1802| getStmt(): [BlockStmt] { ... } -# 1803| getStmt(0): [SwitchCase] default: -# 1804| getStmt(1): [ExprStmt] ExprStmt -# 1804| getExpr(): [AssignExpr] ... = ... -# 1804| Type = [IntType] int -# 1804| ValueCategory = lvalue -# 1804| getLValue(): [VariableAccess] x -# 1804| Type = [IntType] int -# 1804| ValueCategory = lvalue -# 1804| getRValue(): [AddExpr] ... + ... +# 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 -# 1804| getLeftOperand(): [VariableAccess] x -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue(load) -# 1804| getRightOperand(): [VariableAccess] v -# 1804| Type = [IntType] int -# 1804| ValueCategory = prvalue(load) -# 1807| getStmt(5): [DeclStmt] declaration -# 1807| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1807| Type = [IntType] int -# 1807| getVariable().getInitializer(): [Initializer] initializer for z -# 1807| getExpr(): [VariableAccess] x -# 1807| Type = [IntType] int -# 1807| ValueCategory = prvalue(load) -# 1808| getStmt(6): [SwitchStmt] switch (...) ... -# 1808| getExpr(): [VariableAccess] z -# 1808| Type = [IntType] int -# 1808| ValueCategory = prvalue(load) -# 1808| getStmt(): [BlockStmt] { ... } -# 1809| getStmt(0): [SwitchCase] default: -# 1810| getStmt(1): [ExprStmt] ExprStmt -# 1810| getExpr(): [AssignExpr] ... = ... -# 1810| Type = [IntType] int -# 1810| ValueCategory = lvalue -# 1810| getLValue(): [VariableAccess] x -# 1810| Type = [IntType] int -# 1810| ValueCategory = lvalue -# 1810| getRValue(): [AddExpr] ... + ... -# 1810| Type = [IntType] int -# 1810| ValueCategory = prvalue -# 1810| getLeftOperand(): [VariableAccess] x -# 1810| Type = [IntType] int -# 1810| ValueCategory = prvalue(load) -# 1810| getRightOperand(): [VariableAccess] z -# 1810| Type = [IntType] int -# 1810| ValueCategory = prvalue(load) -# 1813| getStmt(7): [SwitchStmt] switch (...) ... -# 1813| getExpr(): [ConditionDeclExpr] (condition decl) -# 1813| Type = [IntType] int -# 1813| ValueCategory = prvalue -# 1813| getVariableAccess(): [VariableAccess] z2 -# 1813| Type = [IntType] int -# 1813| ValueCategory = prvalue(load) -# 1813| getStmt(): [BlockStmt] { ... } -# 1814| getStmt(0): [SwitchCase] default: -# 1815| getStmt(1): [ExprStmt] ExprStmt -# 1815| getExpr(): [AssignAddExpr] ... += ... -# 1815| Type = [IntType] int -# 1815| ValueCategory = lvalue -# 1815| getLValue(): [VariableAccess] x -# 1815| Type = [IntType] int -# 1815| ValueCategory = lvalue -# 1815| getRValue(): [VariableAccess] z2 -# 1815| Type = [IntType] int -# 1815| ValueCategory = prvalue(load) -# 1817| getStmt(8): [ReturnStmt] return ... -# 1821| [GlobalVariable] int global_2 -# 1821| getInitializer(): [Initializer] initializer for global_2 -# 1821| getExpr(): [Literal] 1 -# 1821| Type = [IntType] int -# 1821| Value = [Literal] 1 -# 1821| ValueCategory = prvalue -# 1823| [GlobalVariable] int const global_3 -# 1823| getInitializer(): [Initializer] initializer for global_3 -# 1823| getExpr(): [Literal] 2 +# 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] ... = ... +# 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] ... += ... +# 1817| Type = [IntType] int +# 1817| ValueCategory = lvalue +# 1817| getLValue(): [VariableAccess] x +# 1817| Type = [IntType] int +# 1817| ValueCategory = lvalue +# 1817| getRValue(): [VariableAccess] z2 +# 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] 2 +# 1823| Value = [Literal] 1 # 1823| ValueCategory = prvalue -# 1825| [GlobalVariable] constructor_only global_4 -# 1825| getInitializer(): [Initializer] initializer for global_4 -# 1825| getExpr(): [ConstructorCall] call to constructor_only -# 1825| Type = [VoidType] void +# 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 -# 1825| getArgument(0): [Literal] 1 -# 1825| Type = [IntType] int -# 1825| Value = [Literal] 1 -# 1825| ValueCategory = prvalue -# 1827| [GlobalVariable] constructor_only global_5 -# 1827| getInitializer(): [Initializer] initializer for global_5 +# 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] 2 +# 1827| getArgument(0): [Literal] 1 # 1827| Type = [IntType] int -# 1827| Value = [Literal] 2 +# 1827| Value = [Literal] 1 # 1827| ValueCategory = prvalue -# 1829| [GlobalVariable] char* global_string -# 1829| getInitializer(): [Initializer] initializer for global_string -# 1829| getExpr(): global string -# 1829| Type = [ArrayType] const char[14] -# 1829| Value = [StringLiteral] "global string" -# 1829| ValueCategory = lvalue -# 1829| getExpr().getFullyConverted(): [CStyleCast] (char *)... -# 1829| Conversion = [PointerConversion] pointer conversion -# 1829| Type = [CharPointerType] char * +# 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| getExpr(): [ArrayToPointerConversion] array to pointer conversion -# 1829| Type = [PointerType] const char * +# 1829| getArgument(0): [Literal] 2 +# 1829| Type = [IntType] int +# 1829| Value = [Literal] 2 # 1829| ValueCategory = prvalue -# 1831| [GlobalVariable] int global_6 -# 1831| getInitializer(): [Initializer] initializer for global_6 -# 1831| getExpr(): [VariableAccess] global_2 -# 1831| Type = [IntType] int -# 1831| ValueCategory = prvalue(load) -# 1834| [CopyAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A const&) -# 1834| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1834| [MoveAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1834| : +# 1836| [MoveAssignmentOperator] block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) +# 1836| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && #-----| getEntryPoint(): [BlockStmt] { ... } @@ -14301,43 +14339,43 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] A & #-----| ValueCategory = prvalue -# 1834| [Constructor] void block_assignment::A::A() -# 1834| : -# 1834| [CopyConstructor] void block_assignment::A::A(block_assignment::A const&) -# 1834| : +# 1836| [Constructor] void block_assignment::A::A() +# 1836| : +# 1836| [CopyConstructor] void block_assignment::A::A(block_assignment::A const&) +# 1836| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const A & -# 1834| [MoveConstructor] void block_assignment::A::A(block_assignment::A&&) -# 1834| : +# 1836| [MoveConstructor] void block_assignment::A::A(block_assignment::A&&) +# 1836| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] A && -# 1836| [VirtualFunction] void block_assignment::A::f() -# 1836| : -# 1839| [CopyAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B const&) -# 1839| : +# 1838| [VirtualFunction] void block_assignment::A::f() +# 1838| : +# 1841| [CopyAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B const&) +# 1841| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const B & -# 1839| [MoveAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1839| : +# 1841| [MoveAssignmentOperator] block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) +# 1841| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] B && #-----| getEntryPoint(): [BlockStmt] { ... } #-----| getStmt(0): [ExprStmt] ExprStmt -# 1839| getExpr(): [FunctionCall] call to operator= -# 1839| Type = [LValueReferenceType] A & -# 1839| ValueCategory = prvalue -# 1839| getQualifier(): [ThisExpr] this -# 1839| Type = [PointerType] B * -# 1839| ValueCategory = prvalue(load) -# 1839| getArgument(0): [PointerDereferenceExpr] * ... -# 1839| Type = [Class] A -# 1839| ValueCategory = xvalue -# 1839| getOperand(): [AddressOfExpr] & ... -# 1839| Type = [PointerType] B * -# 1839| ValueCategory = prvalue -# 1839| getOperand(): [VariableAccess] (unnamed parameter 0) -# 1839| Type = [RValueReferenceType] B && -# 1839| ValueCategory = prvalue(load) +# 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) #-----| getOperand().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [Struct] B #-----| ValueCategory = lvalue @@ -14365,746 +14403,708 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] B & #-----| ValueCategory = prvalue -# 1839| [CopyConstructor] void block_assignment::B::B(block_assignment::B const&) -# 1839| : +# 1841| [CopyConstructor] void block_assignment::B::B(block_assignment::B const&) +# 1841| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const B & -# 1839| [MoveConstructor] void block_assignment::B::B(block_assignment::B&&) -# 1839| : +# 1841| [MoveConstructor] void block_assignment::B::B(block_assignment::B&&) +# 1841| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] B && -# 1840| [Constructor] void block_assignment::B::B(block_assignment::A*) -# 1840| : -# 1840| getParameter(0): [Parameter] (unnamed parameter 0) -# 1840| Type = [PointerType] A * -# 1843| [TopLevelFunction] void block_assignment::foo() -# 1843| : -# 1843| getEntryPoint(): [BlockStmt] { ... } -# 1844| getStmt(0): [DeclStmt] declaration -# 1844| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v -# 1844| Type = [Struct] B -# 1844| getVariable().getInitializer(): [Initializer] initializer for v -# 1844| getExpr(): [ConstructorCall] call to B -# 1844| Type = [VoidType] void -# 1844| ValueCategory = prvalue -# 1844| getArgument(0): [Literal] 0 -# 1844| Type = [IntType] int -# 1844| Value = [Literal] 0 -# 1844| ValueCategory = prvalue -# 1844| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... -# 1844| Conversion = [IntegralToPointerConversion] integral to pointer conversion -# 1844| Type = [PointerType] A * -# 1844| Value = [CStyleCast] 0 -# 1844| ValueCategory = prvalue -# 1845| getStmt(1): [ExprStmt] ExprStmt -# 1845| getExpr(): [FunctionCall] call to operator= -# 1845| Type = [LValueReferenceType] B & -# 1845| ValueCategory = prvalue -# 1845| getQualifier(): [VariableAccess] v -# 1845| Type = [Struct] B -# 1845| ValueCategory = lvalue -# 1845| getArgument(0): [ConstructorCall] call to B -# 1845| Type = [VoidType] void -# 1845| ValueCategory = prvalue -# 1845| getArgument(0): [Literal] 0 -# 1845| Type = [IntType] int -# 1845| Value = [Literal] 0 -# 1845| ValueCategory = prvalue -# 1845| getArgument(0).getFullyConverted(): [CStyleCast] (A *)... -# 1845| Conversion = [IntegralToPointerConversion] integral to pointer conversion -# 1845| Type = [PointerType] A * -# 1845| Value = [CStyleCast] 0 -# 1845| ValueCategory = prvalue -# 1845| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 1845| Type = [LValueReferenceType] B & -# 1845| ValueCategory = prvalue -# 1845| getExpr(): [TemporaryObjectExpr] temporary object -# 1845| Type = [Struct] B -# 1845| ValueCategory = lvalue -# 1845| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1845| Type = [Struct] B -# 1845| ValueCategory = lvalue -# 1846| getStmt(2): [ReturnStmt] return ... -# 1849| [TopLevelFunction] void magicvars() -# 1849| : -# 1849| getEntryPoint(): [BlockStmt] { ... } -# 1850| getStmt(0): [DeclStmt] declaration -# 1850| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pf -# 1850| Type = [PointerType] const char * -# 1850| getVariable().getInitializer(): [Initializer] initializer for pf -# 1850| getExpr(): [VariableAccess] __PRETTY_FUNCTION__ -# 1850| Type = [ArrayType] const char[17] -# 1850| ValueCategory = lvalue -# 1850| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1850| Type = [PointerType] const char * -# 1850| ValueCategory = prvalue -# 1851| getStmt(1): [DeclStmt] declaration -# 1851| getDeclarationEntry(0): [VariableDeclarationEntry] definition of strfunc -# 1851| Type = [PointerType] const char * -# 1851| getVariable().getInitializer(): [Initializer] initializer for strfunc -# 1851| getExpr(): [VariableAccess] __func__ -# 1851| Type = [ArrayType] const char[10] -# 1851| ValueCategory = lvalue -# 1851| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1851| Type = [PointerType] const char * -# 1851| ValueCategory = prvalue -# 1852| getStmt(2): [ReturnStmt] return ... -# 1855| [CopyAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S const&) -# 1855| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const S & -# 1855| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&) -# 1855| : +# 1857| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&) +# 1857| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] S && -# 1859| [CopyAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1 const&) -# 1859| : +# 1861| [CopyAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1 const&) +# 1861| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bar1 & -# 1859| [MoveAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1&&) -# 1859| : +# 1861| [MoveAssignmentOperator] missing_declaration_entries::Bar1& missing_declaration_entries::Bar1::operator=(missing_declaration_entries::Bar1&&) +# 1861| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Bar1 && -# 1862| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1862| : -# 1862| getParameter(0): [Parameter] p -# 1862| Type = [CTypedefType,NestedTypedefType] pointer -# 1862| getEntryPoint(): [BlockStmt] { ... } -# 1863| getStmt(0): [DeclStmt] declaration -# 1863| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of _Res -# 1863| Type = [CTypedefType,LocalTypedefType] _Res -# 1864| getStmt(1): [ReturnStmt] return ... -# 1864| getExpr(): [VariableAccess] p -# 1864| Type = [CTypedefType,NestedTypedefType] pointer -# 1864| ValueCategory = prvalue(load) -# 1864| getExpr().getFullyConverted(): [CStyleCast] (void *)... -# 1864| Conversion = [PointerConversion] pointer conversion -# 1864| Type = [VoidPointerType] void * -# 1864| ValueCategory = prvalue -# 1862| [MemberFunction] void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1862| : -# 1862| getParameter(0): [Parameter] p -# 1862| Type = [CTypedefType,NestedTypedefType] pointer -# 1862| getEntryPoint(): [BlockStmt] { ... } -# 1863| getStmt(0): [DeclStmt] declaration -# 1864| getStmt(1): [ReturnStmt] return ... -# 1864| getExpr(): [VariableAccess] p -# 1864| Type = [CTypedefType,NestedTypedefType] pointer -# 1864| ValueCategory = prvalue(load) -# 1864| getExpr().getFullyConverted(): [CStyleCast] (void *)... -# 1864| Conversion = [PointerConversion] pointer conversion -# 1864| Type = [VoidPointerType] void * -# 1864| ValueCategory = prvalue -# 1868| [TopLevelFunction] void missing_declaration_entries::test1() -# 1868| : -# 1868| getEntryPoint(): [BlockStmt] { ... } -# 1869| getStmt(0): [DeclStmt] declaration -# 1869| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1869| Type = [ClassTemplateInstantiation,Struct] Bar1 -# 1870| getStmt(1): [ExprStmt] ExprStmt -# 1870| getExpr(): [FunctionCall] call to missing_type_decl_entry -# 1870| Type = [VoidPointerType] void * -# 1870| ValueCategory = prvalue -# 1870| getQualifier(): [VariableAccess] b -# 1870| Type = [ClassTemplateInstantiation,Struct] Bar1 -# 1870| ValueCategory = lvalue -# 1870| getArgument(0): [Literal] 0 -# 1870| Type = [NullPointerType] decltype(nullptr) -# 1870| Value = [Literal] 0 -# 1870| ValueCategory = prvalue -# 1870| getArgument(0).getFullyConverted(): [CStyleCast] (pointer)... -# 1870| Conversion = [PointerConversion] pointer conversion -# 1870| Type = [CTypedefType,NestedTypedefType] pointer -# 1870| Value = [CStyleCast] 0 -# 1870| ValueCategory = prvalue -# 1871| getStmt(2): [ReturnStmt] return ... -# 1873| [CopyAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2 const&) -# 1873| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bar2 & -# 1873| [MoveAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2&&) -# 1873| : +# 1875| [MoveAssignmentOperator] missing_declaration_entries::Bar2& missing_declaration_entries::Bar2::operator=(missing_declaration_entries::Bar2&&) +# 1875| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] Bar2 && -# 1875| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1875| : -# 1875| getEntryPoint(): [BlockStmt] { ... } -# 1876| getStmt(0): [DeclStmt] declaration -# 1876| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1876| Type = [ArrayType] int[10] -# 1876| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y -# 1876| Type = [ArrayType] int[10] -# 1877| getStmt(1): [ExprStmt] ExprStmt -# 1877| getExpr(): [AssignExpr] ... = ... -# 1877| Type = [IntType] int -# 1877| ValueCategory = lvalue -# 1877| getLValue(): [PointerDereferenceExpr] * ... -# 1877| Type = [IntType] int -# 1877| ValueCategory = lvalue -# 1877| getOperand(): [VariableAccess] x -# 1877| Type = [ArrayType] int[10] -# 1877| ValueCategory = lvalue -# 1877| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1877| Type = [IntPointerType] int * -# 1877| ValueCategory = prvalue -# 1877| getRValue(): [Literal] 10 -# 1877| Type = [IntType] int -# 1877| Value = [Literal] 10 -# 1877| ValueCategory = prvalue -# 1878| getStmt(2): [ExprStmt] ExprStmt -# 1878| getExpr(): [AssignExpr] ... = ... -# 1878| Type = [IntType] int -# 1878| ValueCategory = lvalue -# 1878| getLValue(): [PointerDereferenceExpr] * ... -# 1878| Type = [IntType] int -# 1878| ValueCategory = lvalue -# 1878| getOperand(): [VariableAccess] y -# 1878| Type = [ArrayType] int[10] -# 1878| ValueCategory = lvalue -# 1878| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1878| Type = [IntPointerType] int * -# 1878| ValueCategory = prvalue -# 1878| getRValue(): [Literal] 10 -# 1878| Type = [IntType] int -# 1878| Value = [Literal] 10 -# 1878| ValueCategory = prvalue -# 1879| getStmt(3): [ReturnStmt] return ... -# 1879| getExpr(): [AddExpr] ... + ... +# 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 = prvalue -# 1879| getLeftOperand(): [PointerDereferenceExpr] * ... +# 1879| ValueCategory = lvalue +# 1879| getLValue(): [PointerDereferenceExpr] * ... # 1879| Type = [IntType] int -# 1879| ValueCategory = prvalue(load) +# 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| getRightOperand(): [PointerDereferenceExpr] * ... +# 1879| getRValue(): [Literal] 10 # 1879| Type = [IntType] int -# 1879| ValueCategory = prvalue(load) -# 1879| getOperand(): [VariableAccess] y -# 1879| Type = [ArrayType] int[10] -# 1879| ValueCategory = lvalue -# 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1879| Type = [IntPointerType] int * -# 1879| ValueCategory = prvalue -# 1875| [MemberFunction] int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1875| : -# 1875| getEntryPoint(): [BlockStmt] { ... } -# 1876| getStmt(0): [DeclStmt] declaration -# 1877| getStmt(1): [ExprStmt] ExprStmt -# 1877| getExpr(): [AssignExpr] ... = ... -# 1877| Type = [IntType] int -# 1877| ValueCategory = lvalue -# 1877| getLValue(): [PointerDereferenceExpr] * ... -# 1877| Type = [IntType] int -# 1877| ValueCategory = lvalue -# 1877| getOperand(): [VariableAccess] x -# 1877| Type = [ArrayType] int[10] -# 1877| ValueCategory = lvalue -# 1877| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1877| Type = [IntPointerType] int * -# 1877| ValueCategory = prvalue -# 1877| getRValue(): [Literal] 10 -# 1877| Type = [IntType] int -# 1877| Value = [Literal] 10 -# 1877| ValueCategory = prvalue -# 1878| getStmt(2): [ExprStmt] ExprStmt -# 1878| getExpr(): [AssignExpr] ... = ... -# 1878| Type = [IntType] int -# 1878| ValueCategory = lvalue -# 1878| getLValue(): [PointerDereferenceExpr] * ... -# 1878| Type = [IntType] int -# 1878| ValueCategory = lvalue -# 1878| getOperand(): [VariableAccess] y -# 1878| Type = [ArrayType] int[10] -# 1878| ValueCategory = lvalue -# 1878| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1878| Type = [IntPointerType] int * -# 1878| ValueCategory = prvalue -# 1878| getRValue(): [Literal] 10 -# 1878| Type = [IntType] int -# 1878| Value = [Literal] 10 -# 1878| ValueCategory = prvalue -# 1879| getStmt(3): [ReturnStmt] return ... -# 1879| getExpr(): [AddExpr] ... + ... +# 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 = prvalue -# 1879| getLeftOperand(): [PointerDereferenceExpr] * ... +# 1879| ValueCategory = lvalue +# 1879| getLValue(): [PointerDereferenceExpr] * ... # 1879| Type = [IntType] int -# 1879| ValueCategory = prvalue(load) +# 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| getRightOperand(): [PointerDereferenceExpr] * ... +# 1879| getRValue(): [Literal] 10 # 1879| Type = [IntType] int -# 1879| ValueCategory = prvalue(load) -# 1879| getOperand(): [VariableAccess] y -# 1879| Type = [ArrayType] int[10] -# 1879| ValueCategory = lvalue -# 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 1879| Type = [IntPointerType] int * -# 1879| ValueCategory = prvalue -# 1883| [TopLevelFunction] void missing_declaration_entries::test2() -# 1883| : -# 1883| getEntryPoint(): [BlockStmt] { ... } -# 1884| getStmt(0): [DeclStmt] declaration -# 1884| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 1884| Type = [ClassTemplateInstantiation,Struct] Bar2 -# 1885| getStmt(1): [ExprStmt] ExprStmt -# 1885| getExpr(): [FunctionCall] call to two_missing_variable_declaration_entries -# 1885| Type = [IntType] int -# 1885| ValueCategory = prvalue -# 1885| getQualifier(): [VariableAccess] b -# 1885| Type = [ClassTemplateInstantiation,Struct] Bar2 -# 1885| ValueCategory = lvalue -# 1886| getStmt(2): [ReturnStmt] return ... -# 1889| [GlobalVariable] char global_template -# 1889| getInitializer(): [Initializer] initializer for global_template -# 1889| getExpr(): [Literal] 42 -# 1889| Type = [IntType] int -# 1889| Value = [Literal] 42 -# 1889| ValueCategory = prvalue -# 1889| getExpr().getFullyConverted(): [CStyleCast] (char)... -# 1889| Conversion = [IntegralConversion] integral conversion -# 1889| Type = [PlainCharType] char -# 1889| Value = [CStyleCast] 42 -# 1889| ValueCategory = prvalue -# 1889| [GlobalVariable] int global_template -# 1889| getInitializer(): [Initializer] initializer for global_template -# 1889| getExpr(): [Literal] 42 -# 1889| Type = [IntType] int -# 1889| Value = [Literal] 42 -# 1889| ValueCategory = prvalue -# 1891| [TopLevelFunction] int test_global_template_int() -# 1891| : -# 1891| getEntryPoint(): [BlockStmt] { ... } -# 1892| getStmt(0): [DeclStmt] declaration -# 1892| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int -# 1892| Type = [IntType] int -# 1892| getVariable().getInitializer(): [Initializer] initializer for local_int -# 1892| getExpr(): [VariableAccess] global_template -# 1892| Type = [IntType] int -# 1892| ValueCategory = prvalue(load) -# 1893| getStmt(1): [DeclStmt] declaration -# 1893| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char -# 1893| Type = [PlainCharType] char -# 1893| getVariable().getInitializer(): [Initializer] initializer for local_char -# 1893| getExpr(): [VariableAccess] global_template -# 1893| Type = [PlainCharType] char -# 1893| ValueCategory = prvalue(load) -# 1894| getStmt(2): [ReturnStmt] return ... -# 1894| getExpr(): [AddExpr] ... + ... +# 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| ValueCategory = prvalue -# 1894| getLeftOperand(): [VariableAccess] local_int -# 1894| Type = [IntType] int -# 1894| ValueCategory = prvalue(load) -# 1894| getRightOperand(): [VariableAccess] local_char -# 1894| Type = [PlainCharType] char -# 1894| ValueCategory = prvalue(load) -# 1894| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 1894| Conversion = [IntegralConversion] integral conversion -# 1894| Type = [IntType] int -# 1894| ValueCategory = prvalue -# 1897| [TopLevelFunction] void noreturnFunc() -# 1897| : -# 1899| [TopLevelFunction] int noreturnTest(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| : -# 1899| getParameter(0): [Parameter] x -# 1899| Type = [IntType] int -# 1899| getEntryPoint(): [BlockStmt] { ... } -# 1900| getStmt(0): [IfStmt] if (...) ... -# 1900| getCondition(): [LTExpr] ... < ... -# 1900| Type = [BoolType] bool -# 1900| ValueCategory = prvalue -# 1900| getLesserOperand(): [VariableAccess] x -# 1900| Type = [IntType] int -# 1900| ValueCategory = prvalue(load) -# 1900| getGreaterOperand(): [Literal] 10 -# 1900| Type = [IntType] int -# 1900| Value = [Literal] 10 -# 1900| ValueCategory = prvalue -# 1900| getThen(): [BlockStmt] { ... } -# 1901| getStmt(0): [ReturnStmt] return ... -# 1901| getExpr(): [VariableAccess] x -# 1901| Type = [IntType] int -# 1901| ValueCategory = prvalue(load) -# 1902| getElse(): [BlockStmt] { ... } -# 1903| getStmt(0): [ExprStmt] ExprStmt -# 1903| getExpr(): [FunctionCall] call to noreturnFunc -# 1903| Type = [VoidType] void -# 1903| ValueCategory = prvalue -# 1905| getStmt(1): [ReturnStmt] return ... -# 1907| [TopLevelFunction] int noreturnTest2(int) -# 1907| : -# 1907| getParameter(0): [Parameter] x -# 1907| Type = [IntType] int -# 1907| getEntryPoint(): [BlockStmt] { ... } -# 1908| getStmt(0): [IfStmt] if (...) ... -# 1908| getCondition(): [LTExpr] ... < ... -# 1908| Type = [BoolType] bool -# 1908| ValueCategory = prvalue -# 1908| getLesserOperand(): [VariableAccess] x -# 1908| Type = [IntType] int -# 1908| ValueCategory = prvalue(load) -# 1908| getGreaterOperand(): [Literal] 10 -# 1908| Type = [IntType] int -# 1908| Value = [Literal] 10 -# 1908| ValueCategory = prvalue -# 1908| getThen(): [BlockStmt] { ... } -# 1909| getStmt(0): [ExprStmt] ExprStmt -# 1909| getExpr(): [FunctionCall] call to noreturnFunc -# 1909| Type = [VoidType] void -# 1909| ValueCategory = prvalue -# 1911| getStmt(1): [ReturnStmt] return ... -# 1911| getExpr(): [VariableAccess] x -# 1911| Type = [IntType] int -# 1911| ValueCategory = prvalue(load) -# 1914| [TopLevelFunction] int static_function(int) -# 1914| : -# 1914| getParameter(0): [Parameter] x -# 1914| Type = [IntType] int -# 1914| getEntryPoint(): [BlockStmt] { ... } -# 1915| getStmt(0): [ReturnStmt] return ... -# 1915| getExpr(): [VariableAccess] x -# 1915| Type = [IntType] int -# 1915| ValueCategory = prvalue(load) -# 1918| [TopLevelFunction] void test_static_functions_with_assignments() -# 1918| : -# 1918| getEntryPoint(): [BlockStmt] { ... } -# 1919| getStmt(0): [DeclStmt] declaration -# 1919| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1919| Type = [Class] C -# 1919| getVariable().getInitializer(): [Initializer] initializer for c -# 1919| getExpr(): [ConstructorCall] call to C -# 1919| Type = [VoidType] void -# 1919| ValueCategory = prvalue -# 1920| getStmt(1): [DeclStmt] declaration -# 1920| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1920| Type = [IntType] int -# 1921| getStmt(2): [ExprStmt] ExprStmt -# 1921| getExpr(): [AssignExpr] ... = ... -# 1921| Type = [IntType] int -# 1921| ValueCategory = lvalue -# 1921| getLValue(): [VariableAccess] x -# 1921| Type = [IntType] int -# 1921| ValueCategory = lvalue -# 1921| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1921| Type = [IntType] int -# 1921| ValueCategory = prvalue -# 1921| getQualifier(): [VariableAccess] c -# 1921| Type = [Class] C -# 1921| ValueCategory = lvalue -# 1921| getArgument(0): [Literal] 10 -# 1921| Type = [IntType] int -# 1921| Value = [Literal] 10 +# 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(3): [DeclStmt] declaration -# 1922| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1922| getStmt(1): [DeclStmt] declaration +# 1922| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x # 1922| Type = [IntType] int -# 1923| getStmt(4): [ExprStmt] ExprStmt +# 1923| getStmt(2): [ExprStmt] ExprStmt # 1923| getExpr(): [AssignExpr] ... = ... # 1923| Type = [IntType] int # 1923| ValueCategory = lvalue -# 1923| getLValue(): [VariableAccess] y +# 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(5): [DeclStmt] declaration -# 1924| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1924| getStmt(3): [DeclStmt] declaration +# 1924| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y # 1924| Type = [IntType] int -# 1925| getStmt(6): [ExprStmt] ExprStmt +# 1925| getStmt(4): [ExprStmt] ExprStmt # 1925| getExpr(): [AssignExpr] ... = ... # 1925| Type = [IntType] int # 1925| ValueCategory = lvalue -# 1925| getLValue(): [VariableAccess] z +# 1925| getLValue(): [VariableAccess] y # 1925| Type = [IntType] int # 1925| ValueCategory = lvalue -# 1925| getRValue(): [FunctionCall] call to static_function +# 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(7): [ReturnStmt] return ... -# 1926| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1926| Type = [VoidType] void -# 1926| ValueCategory = prvalue -# 1926| getQualifier(): [VariableAccess] c -# 1926| Type = [Class] C -# 1926| ValueCategory = lvalue -# 1928| [TopLevelFunction] void test_double_assign() -# 1928| : -# 1928| getEntryPoint(): [BlockStmt] { ... } -# 1929| getStmt(0): [DeclStmt] declaration -# 1929| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1929| Type = [IntType] int -# 1929| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1929| Type = [IntType] int -# 1930| getStmt(1): [ExprStmt] ExprStmt -# 1930| getExpr(): [AssignExpr] ... = ... -# 1930| Type = [IntType] int -# 1930| ValueCategory = lvalue -# 1930| getLValue(): [VariableAccess] i -# 1930| Type = [IntType] int -# 1930| ValueCategory = lvalue -# 1930| getRValue(): [AssignExpr] ... = ... -# 1930| Type = [IntType] int -# 1930| ValueCategory = prvalue(load) -# 1930| getLValue(): [VariableAccess] j -# 1930| Type = [IntType] int -# 1930| ValueCategory = lvalue -# 1930| getRValue(): [Literal] 40 -# 1930| Type = [IntType] int -# 1930| Value = [Literal] 40 -# 1930| ValueCategory = prvalue -# 1931| getStmt(2): [ReturnStmt] return ... -# 1933| [TopLevelFunction] void test_assign_with_assign_operation() -# 1933| : -# 1933| getEntryPoint(): [BlockStmt] { ... } -# 1934| getStmt(0): [DeclStmt] declaration -# 1934| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1934| Type = [IntType] int -# 1934| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1934| Type = [IntType] int -# 1934| getVariable().getInitializer(): [Initializer] initializer for j -# 1934| getExpr(): [Literal] 0 -# 1934| Type = [IntType] int -# 1934| Value = [Literal] 0 -# 1934| ValueCategory = prvalue -# 1935| getStmt(1): [ExprStmt] ExprStmt -# 1935| getExpr(): [AssignExpr] ... = ... -# 1935| Type = [IntType] int -# 1935| ValueCategory = lvalue -# 1935| getLValue(): [VariableAccess] i -# 1935| Type = [IntType] int -# 1935| ValueCategory = lvalue -# 1935| getRValue(): [AssignAddExpr] ... += ... -# 1935| Type = [IntType] int -# 1935| ValueCategory = prvalue(load) -# 1935| getLValue(): [VariableAccess] j -# 1935| Type = [IntType] int -# 1935| ValueCategory = lvalue -# 1935| getRValue(): [Literal] 40 -# 1935| Type = [IntType] int -# 1935| Value = [Literal] 40 -# 1935| ValueCategory = prvalue -# 1935| getRValue().getFullyConverted(): [ParenthesisExpr] (...) -# 1935| Type = [IntType] int -# 1935| ValueCategory = prvalue(load) -# 1936| getStmt(2): [ReturnStmt] return ... -# 1938| [CopyAssignmentOperator] D& D::operator=(D const&) -# 1938| : +# 1926| getStmt(5): [DeclStmt] declaration +# 1926| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1926| Type = [IntType] int +# 1927| getStmt(6): [ExprStmt] ExprStmt +# 1927| getExpr(): [AssignExpr] ... = ... +# 1927| Type = [IntType] int +# 1927| ValueCategory = lvalue +# 1927| getLValue(): [VariableAccess] z +# 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| ValueCategory = prvalue +# 1928| getStmt(7): [ReturnStmt] return ... +# 1928| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 1928| Type = [VoidType] void +# 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&) +# 1940| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const D & -# 1938| [MoveAssignmentOperator] D& D::operator=(D&&) -# 1938| : +# 1940| [MoveAssignmentOperator] D& D::operator=(D&&) +# 1940| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] D && -# 1942| [MemberFunction] D& D::ReferenceStaticMemberFunction() -# 1942| : -# 1942| getEntryPoint(): [BlockStmt] { ... } -# 1943| getStmt(0): [ReturnStmt] return ... -# 1943| getExpr(): [VariableAccess] x -# 1943| Type = [Class] D -# 1943| ValueCategory = lvalue -# 1943| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1943| Type = [LValueReferenceType] D & -# 1943| ValueCategory = prvalue -# 1945| [MemberFunction] D D::ObjectStaticMemberFunction() -# 1945| : -# 1945| getEntryPoint(): [BlockStmt] { ... } -# 1946| getStmt(0): [ReturnStmt] return ... -# 1946| getExpr(): [VariableAccess] x -# 1946| Type = [Class] D -# 1946| ValueCategory = prvalue(load) -# 1950| [TopLevelFunction] void test_static_member_functions_with_reference_return() -# 1950| : -# 1950| getEntryPoint(): [BlockStmt] { ... } -# 1951| getStmt(0): [DeclStmt] declaration -# 1951| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 1951| Type = [Class] D -# 1953| getStmt(1): [ExprStmt] ExprStmt -# 1953| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1953| Type = [LValueReferenceType] D & -# 1953| ValueCategory = prvalue -# 1953| getQualifier(): [VariableAccess] d -# 1953| Type = [Class] D -# 1953| ValueCategory = lvalue -# 1953| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 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 -# 1953| ValueCategory = lvalue -# 1954| getStmt(2): [ExprStmt] ExprStmt -# 1954| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1954| Type = [LValueReferenceType] D & -# 1954| ValueCategory = prvalue -# 1954| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1954| Type = [Class] D -# 1954| ValueCategory = lvalue -# 1955| getStmt(3): [ExprStmt] ExprStmt -# 1955| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 1955| 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 -# 1956| getStmt(4): [ExprStmt] ExprStmt -# 1956| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 1956| Type = [Class] D +# 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 -# 1958| getStmt(5): [DeclStmt] declaration -# 1958| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 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 +# 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 -# 1959| getStmt(6): [ExprStmt] ExprStmt -# 1959| getExpr(): [AssignExpr] ... = ... -# 1959| Type = [Class] D -# 1959| ValueCategory = lvalue -# 1959| getLValue(): [VariableAccess] x -# 1959| Type = [Class] D -# 1959| ValueCategory = lvalue -# 1959| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 1959| Type = [LValueReferenceType] D & -# 1959| ValueCategory = prvalue -# 1959| getQualifier(): [VariableAccess] d -# 1959| Type = [Class] D -# 1959| ValueCategory = lvalue -# 1959| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1959| Type = [Class] D -# 1959| ValueCategory = prvalue(load) -# 1960| getStmt(7): [DeclStmt] declaration -# 1960| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1958| ValueCategory = prvalue +# 1960| getStmt(5): [DeclStmt] declaration +# 1960| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x # 1960| Type = [Class] D -# 1961| getStmt(8): [ExprStmt] ExprStmt +# 1961| getStmt(6): [ExprStmt] ExprStmt # 1961| getExpr(): [AssignExpr] ... = ... # 1961| Type = [Class] D # 1961| ValueCategory = lvalue -# 1961| getLValue(): [VariableAccess] y +# 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(9): [DeclStmt] declaration -# 1962| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j +# 1962| getStmt(7): [DeclStmt] declaration +# 1962| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y # 1962| Type = [Class] D -# 1963| getStmt(10): [ExprStmt] ExprStmt +# 1963| getStmt(8): [ExprStmt] ExprStmt # 1963| getExpr(): [AssignExpr] ... = ... # 1963| Type = [Class] D # 1963| ValueCategory = lvalue -# 1963| getLValue(): [VariableAccess] j +# 1963| getLValue(): [VariableAccess] y # 1963| Type = [Class] D # 1963| ValueCategory = lvalue -# 1963| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 1963| Type = [Class] D +# 1963| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 1963| Type = [LValueReferenceType] D & # 1963| ValueCategory = prvalue -# 1963| getQualifier(): [VariableAccess] d -# 1963| Type = [Class] D -# 1963| ValueCategory = lvalue -# 1964| getStmt(11): [DeclStmt] declaration -# 1964| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k +# 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(12): [ExprStmt] ExprStmt +# 1965| getStmt(10): [ExprStmt] ExprStmt # 1965| getExpr(): [AssignExpr] ... = ... # 1965| Type = [Class] D # 1965| ValueCategory = lvalue -# 1965| getLValue(): [VariableAccess] k +# 1965| getLValue(): [VariableAccess] j # 1965| Type = [Class] D # 1965| ValueCategory = lvalue # 1965| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction # 1965| Type = [Class] D # 1965| ValueCategory = prvalue -# 1966| getStmt(13): [ReturnStmt] return ... -# 1968| [TopLevelFunction] void test_volatile() -# 1968| : -# 1968| getEntryPoint(): [BlockStmt] { ... } -# 1969| getStmt(0): [DeclStmt] declaration -# 1969| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1969| Type = [SpecifiedType] volatile int -# 1970| getStmt(1): [ExprStmt] ExprStmt -# 1970| getExpr(): [VariableAccess] x -# 1970| Type = [IntType] int -# 1970| ValueCategory = prvalue(load) -# 1971| getStmt(2): [ReturnStmt] return ... -# 1973| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) -# 1973| : +# 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 +# 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 & -# 1973| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) -# 1973| : +# 1975| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) +# 1975| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] ValCat && -# 1974| [MemberFunction] ValCat& ValCat::lvalue() -# 1974| : -# 1975| [MemberFunction] ValCat&& ValCat::xvalue() -# 1975| : -# 1976| [MemberFunction] ValCat ValCat::prvalue() +# 1976| [MemberFunction] ValCat& ValCat::lvalue() # 1976| : -# 1979| [TopLevelFunction] void value_category_test() -# 1979| : -# 1979| getEntryPoint(): [BlockStmt] { ... } -# 1980| getStmt(0): [DeclStmt] declaration -# 1980| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1980| Type = [Struct] ValCat -# 1982| getStmt(1): [ExprStmt] ExprStmt -# 1982| getExpr(): [AssignExpr] ... = ... +# 1977| [MemberFunction] ValCat&& ValCat::xvalue() +# 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 -# 1982| ValueCategory = lvalue -# 1982| getLValue(): [FunctionCall] call to lvalue -# 1982| Type = [LValueReferenceType] ValCat & -# 1982| ValueCategory = prvalue -# 1982| getQualifier(): [VariableAccess] c -# 1982| Type = [Struct] ValCat -# 1982| ValueCategory = lvalue -# 1982| getRValue(): [ClassAggregateLiteral] {...} -# 1982| Type = [Struct] ValCat -# 1982| ValueCategory = prvalue -# 1982| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1982| Type = [Struct] ValCat -# 1982| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1983| getStmt(2): [ExprStmt] ExprStmt -# 1983| getExpr(): [AssignExpr] ... = ... -# 1983| Type = [Struct] ValCat -# 1983| ValueCategory = lvalue -# 1983| getLValue(): [FunctionCall] call to xvalue -# 1983| Type = [RValueReferenceType] ValCat && -# 1983| ValueCategory = prvalue -# 1983| getQualifier(): [VariableAccess] c -# 1983| Type = [Struct] ValCat -# 1983| ValueCategory = lvalue -# 1983| getRValue(): [ClassAggregateLiteral] {...} -# 1983| Type = [Struct] ValCat -# 1983| ValueCategory = prvalue -# 1983| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 1983| Type = [Struct] ValCat -# 1983| ValueCategory = lvalue -#-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [Struct] ValCat -#-----| ValueCategory = prvalue(load) -# 1984| getStmt(3): [ExprStmt] ExprStmt +# 1984| getStmt(1): [ExprStmt] ExprStmt # 1984| getExpr(): [AssignExpr] ... = ... # 1984| Type = [Struct] ValCat # 1984| ValueCategory = lvalue -# 1984| getLValue(): [FunctionCall] call to prvalue -# 1984| Type = [Struct] ValCat +# 1984| getLValue(): [FunctionCall] call to lvalue +# 1984| Type = [LValueReferenceType] ValCat & # 1984| ValueCategory = prvalue # 1984| getQualifier(): [VariableAccess] c # 1984| Type = [Struct] ValCat @@ -15112,19 +15112,22 @@ ir.cpp: # 1984| getRValue(): [ClassAggregateLiteral] {...} # 1984| Type = [Struct] ValCat # 1984| ValueCategory = prvalue -# 1984| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 1984| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 1984| Type = [Struct] ValCat # 1984| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 1985| getStmt(4): [ExprStmt] ExprStmt +# 1985| getStmt(2): [ExprStmt] ExprStmt # 1985| getExpr(): [AssignExpr] ... = ... # 1985| Type = [Struct] ValCat # 1985| ValueCategory = lvalue -# 1985| getLValue(): [FunctionCall] call to lvalue -# 1985| Type = [LValueReferenceType] ValCat & +# 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 @@ -15134,127 +15137,123 @@ ir.cpp: #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 1986| getStmt(5): [ExprStmt] ExprStmt +# 1986| getStmt(3): [ExprStmt] ExprStmt # 1986| getExpr(): [AssignExpr] ... = ... # 1986| Type = [Struct] ValCat # 1986| ValueCategory = lvalue -# 1986| getLValue(): [FunctionCall] call to xvalue -# 1986| Type = [RValueReferenceType] ValCat && +# 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(): [ReferenceDereferenceExpr] (reference dereference) +# 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(6): [ExprStmt] ExprStmt +# 1987| getStmt(4): [ExprStmt] ExprStmt # 1987| getExpr(): [AssignExpr] ... = ... # 1987| Type = [Struct] ValCat # 1987| ValueCategory = lvalue -# 1987| getLValue(): [FunctionCall] call to prvalue -# 1987| Type = [Struct] ValCat +# 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(): [TemporaryObjectExpr] temporary object +# 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(7): [ReturnStmt] return ... -# 1990| [TopLevelFunction] void SetStaticFuncPtr() -# 1990| : -# 1990| getEntryPoint(): [BlockStmt] { ... } -# 1991| getStmt(0): [DeclStmt] declaration -# 1991| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1991| Type = [Class] C -# 1991| getVariable().getInitializer(): [Initializer] initializer for c -# 1991| getExpr(): [ConstructorCall] call to C -# 1991| Type = [VoidType] void -# 1991| ValueCategory = prvalue -# 1992| getStmt(1): [DeclStmt] declaration -# 1992| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn -# 1992| Type = [FunctionPointerType] ..(*)(..) -# 1992| getVariable().getInitializer(): [Initializer] initializer for pfn -# 1992| getExpr(): [FunctionAccess] StaticMemberFunction -# 1992| Type = [FunctionPointerType] ..(*)(..) -# 1992| ValueCategory = prvalue(load) -# 1993| getStmt(2): [ExprStmt] ExprStmt -# 1993| getExpr(): [AssignExpr] ... = ... -# 1993| Type = [FunctionPointerType] ..(*)(..) -# 1993| ValueCategory = lvalue -# 1993| getLValue(): [VariableAccess] pfn -# 1993| Type = [FunctionPointerType] ..(*)(..) -# 1993| ValueCategory = lvalue -# 1993| getRValue(): [FunctionAccess] StaticMemberFunction -# 1993| Type = [FunctionPointerType] ..(*)(..) -# 1993| ValueCategory = prvalue(load) -# 1993| getQualifier(): [VariableAccess] c -# 1993| Type = [Class] C -# 1993| ValueCategory = lvalue -# 1994| getStmt(3): [ReturnStmt] return ... -# 1994| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1994| Type = [VoidType] void -# 1994| ValueCategory = prvalue -# 1994| getQualifier(): [VariableAccess] c -# 1994| Type = [Class] C -# 1994| ValueCategory = lvalue -# 1996| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) -# 1996| : -# 1996| getParameter(0): [Parameter] a -# 1996| Type = [BoolType] bool -# 1996| getParameter(1): [Parameter] x -# 1996| Type = [IntType] int -# 1996| getParameter(2): [Parameter] y -# 1996| Type = [IntType] int -# 1996| getParameter(3): [Parameter] z -# 1996| Type = [IntType] int -# 1996| getEntryPoint(): [BlockStmt] { ... } -# 1997| getStmt(0): [ExprStmt] ExprStmt -# 1997| getExpr(): [AssignExpr] ... = ... -# 1997| Type = [IntType] int -# 1997| ValueCategory = lvalue -# 1997| getLValue(): [VariableAccess] z -# 1997| Type = [IntType] int -# 1997| ValueCategory = lvalue -# 1997| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1997| Type = [IntType] int -# 1997| ValueCategory = prvalue(load) -# 1997| getCondition(): [VariableAccess] a -# 1997| Type = [BoolType] bool -# 1997| ValueCategory = prvalue(load) -# 1997| getThen(): [VariableAccess] x -# 1997| Type = [IntType] int -# 1997| ValueCategory = prvalue(load) -# 1997| getElse(): [VariableAccess] y -# 1997| Type = [IntType] int -# 1997| ValueCategory = prvalue(load) -# 1998| getStmt(1): [ExprStmt] ExprStmt -# 1998| getExpr(): [AssignExpr] ... = ... -# 1998| Type = [IntType] int -# 1998| ValueCategory = lvalue -# 1998| getLValue(): [VariableAccess] z -# 1998| Type = [IntType] int -# 1998| ValueCategory = lvalue -# 1998| getRValue(): [ConditionalExpr] ... ? ... : ... -# 1998| Type = [IntType] int -# 1998| ValueCategory = prvalue(load) -# 1998| getCondition(): [VariableAccess] a -# 1998| Type = [BoolType] bool -# 1998| ValueCategory = prvalue(load) -# 1998| getThen(): [VariableAccess] x -# 1998| Type = [IntType] int -# 1998| ValueCategory = prvalue(load) -# 1998| getElse(): [Literal] 5 -# 1998| Type = [IntType] int -# 1998| Value = [Literal] 5 -# 1998| ValueCategory = prvalue -# 1999| getStmt(2): [ExprStmt] ExprStmt +# 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 @@ -15263,110 +15262,101 @@ ir.cpp: # 1999| ValueCategory = lvalue # 1999| getRValue(): [ConditionalExpr] ... ? ... : ... # 1999| Type = [IntType] int -# 1999| ValueCategory = prvalue +# 1999| ValueCategory = prvalue(load) # 1999| getCondition(): [VariableAccess] a # 1999| Type = [BoolType] bool # 1999| ValueCategory = prvalue(load) -# 1999| getThen(): [Literal] 3 +# 1999| getThen(): [VariableAccess] x # 1999| Type = [IntType] int -# 1999| Value = [Literal] 3 -# 1999| ValueCategory = prvalue -# 1999| getElse(): [Literal] 5 +# 1999| ValueCategory = prvalue(load) +# 1999| getElse(): [VariableAccess] y # 1999| Type = [IntType] int -# 1999| Value = [Literal] 5 -# 1999| ValueCategory = prvalue -# 2000| getStmt(3): [ExprStmt] ExprStmt +# 1999| ValueCategory = prvalue(load) +# 2000| getStmt(1): [ExprStmt] ExprStmt # 2000| getExpr(): [AssignExpr] ... = ... # 2000| Type = [IntType] int # 2000| ValueCategory = lvalue -# 2000| getLValue(): [ConditionalExpr] ... ? ... : ... +# 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 = lvalue -# 2000| getElse(): [VariableAccess] y +# 2000| ValueCategory = prvalue(load) +# 2000| getElse(): [Literal] 5 # 2000| Type = [IntType] int -# 2000| ValueCategory = lvalue -# 2000| getRValue(): [Literal] 7 -# 2000| Type = [IntType] int -# 2000| Value = [Literal] 7 -# 2000| ValueCategory = prvalue -# 2000| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2000| Type = [IntType] int -# 2000| ValueCategory = lvalue -# 2001| getStmt(4): [ReturnStmt] return ... -# 2003| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) -# 2003| : +# 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 +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryPodObj & -# 2003| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) -# 2003| : +# 2005| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) +# 2005| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] TernaryPodObj && -# 2006| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2006| : -# 2006| getParameter(0): [Parameter] a -# 2006| Type = [BoolType] bool -# 2006| getParameter(1): [Parameter] x -# 2006| Type = [Struct] TernaryPodObj -# 2006| getParameter(2): [Parameter] y -# 2006| Type = [Struct] TernaryPodObj -# 2006| getParameter(3): [Parameter] z -# 2006| Type = [Struct] TernaryPodObj -# 2006| getEntryPoint(): [BlockStmt] { ... } -# 2007| getStmt(0): [ExprStmt] ExprStmt -# 2007| getExpr(): [AssignExpr] ... = ... -# 2007| Type = [Struct] TernaryPodObj -# 2007| ValueCategory = lvalue -# 2007| getLValue(): [VariableAccess] z -# 2007| Type = [Struct] TernaryPodObj -# 2007| ValueCategory = lvalue -# 2007| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2007| Type = [Struct] TernaryPodObj -# 2007| ValueCategory = prvalue(load) -# 2007| getCondition(): [VariableAccess] a -# 2007| Type = [BoolType] bool -# 2007| ValueCategory = prvalue(load) -# 2007| getThen(): [VariableAccess] x -# 2007| Type = [Struct] TernaryPodObj -# 2007| ValueCategory = prvalue(load) -# 2007| getElse(): [VariableAccess] y -# 2007| Type = [Struct] TernaryPodObj -# 2007| ValueCategory = prvalue(load) -# 2008| getStmt(1): [ExprStmt] ExprStmt -# 2008| getExpr(): [AssignExpr] ... = ... -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = lvalue -# 2008| getLValue(): [VariableAccess] z -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = lvalue -# 2008| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = prvalue -# 2008| getCondition(): [VariableAccess] a -# 2008| Type = [BoolType] bool -# 2008| ValueCategory = prvalue(load) -# 2008| getThen(): [VariableAccess] x -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = prvalue(load) -# 2008| getElse(): [Literal] 0 -# 2008| Type = [Struct] TernaryPodObj -# 2008| Value = [Literal] 0 -# 2008| ValueCategory = prvalue -# 2008| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = prvalue(load) -# 2008| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = prvalue(load) -# 2008| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2008| Type = [Struct] TernaryPodObj -# 2008| ValueCategory = prvalue(load) -# 2009| getStmt(2): [ExprStmt] ExprStmt +# 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 @@ -15375,62 +15365,110 @@ ir.cpp: # 2009| ValueCategory = lvalue # 2009| getRValue(): [ConditionalExpr] ... ? ... : ... # 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue +# 2009| ValueCategory = prvalue(load) # 2009| getCondition(): [VariableAccess] a # 2009| Type = [BoolType] bool # 2009| ValueCategory = prvalue(load) -# 2009| getThen(): [Literal] 0 -# 2009| Type = [Struct] TernaryPodObj -# 2009| Value = [Literal] 0 -# 2009| ValueCategory = prvalue -# 2009| getElse(): [Literal] 0 -# 2009| Type = [Struct] TernaryPodObj -# 2009| Value = [Literal] 0 -# 2009| ValueCategory = prvalue -# 2009| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2009| getThen(): [VariableAccess] x # 2009| Type = [Struct] TernaryPodObj # 2009| ValueCategory = prvalue(load) -# 2009| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2009| getElse(): [VariableAccess] y # 2009| Type = [Struct] TernaryPodObj # 2009| ValueCategory = prvalue(load) -# 2009| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2009| Type = [Struct] TernaryPodObj -# 2009| ValueCategory = prvalue(load) -# 2010| getStmt(3): [ExprStmt] ExprStmt +# 2010| getStmt(1): [ExprStmt] ExprStmt # 2010| getExpr(): [AssignExpr] ... = ... # 2010| Type = [Struct] TernaryPodObj # 2010| ValueCategory = lvalue -# 2010| getLValue(): [AssignExpr] ... = ... +# 2010| getLValue(): [VariableAccess] z # 2010| Type = [Struct] TernaryPodObj # 2010| ValueCategory = lvalue -# 2010| getLValue(): [VariableAccess] z +# 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 = lvalue -# 2010| getRValue(): [ConditionalExpr] ... ? ... : ... +# 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| 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(): [VariableAccess] y -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = prvalue(load) -# 2010| getRValue(): [Literal] 0 -# 2010| Type = [Struct] TernaryPodObj -# 2010| Value = [Literal] 0 -# 2010| ValueCategory = prvalue -# 2010| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2010| Type = [Struct] TernaryPodObj -# 2010| ValueCategory = lvalue # 2010| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object # 2010| Type = [Struct] TernaryPodObj # 2010| ValueCategory = prvalue(load) -# 2011| getStmt(4): [ReturnStmt] return ... -# 2013| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2013| : +# 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| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & #-----| getEntryPoint(): [BlockStmt] { ... } @@ -15444,112 +15482,35 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] TernaryNonPodObj & #-----| ValueCategory = prvalue -# 2013| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() -# 2013| : -# 2013| : -# 2013| getEntryPoint(): [BlockStmt] { ... } -# 2013| getStmt(0): [ReturnStmt] return ... -# 2013| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2013| : +# 2015| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() +# 2015| : +# 2015| : +# 2015| getEntryPoint(): [BlockStmt] { ... } +# 2015| getStmt(0): [ReturnStmt] return ... +# 2015| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2015| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2013| : -# 2013| getEntryPoint(): [BlockStmt] { ... } -# 2013| getStmt(0): [ReturnStmt] return ... -# 2014| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() -# 2014| : -# 2014| getEntryPoint(): [BlockStmt] { ... } -# 2014| getStmt(0): [ReturnStmt] return ... -# 2014| : -# 2017| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2017| : -# 2017| getParameter(0): [Parameter] a -# 2017| Type = [BoolType] bool -# 2017| getParameter(1): [Parameter] x -# 2017| Type = [Struct] TernaryNonPodObj -# 2017| getParameter(2): [Parameter] y -# 2017| Type = [Struct] TernaryNonPodObj -# 2017| getParameter(3): [Parameter] z -# 2017| Type = [Struct] TernaryNonPodObj -# 2017| getEntryPoint(): [BlockStmt] { ... } -# 2018| getStmt(0): [ExprStmt] ExprStmt -# 2018| getExpr(): [FunctionCall] call to operator= -# 2018| Type = [LValueReferenceType] TernaryNonPodObj & -# 2018| ValueCategory = prvalue -# 2018| getQualifier(): [VariableAccess] z -# 2018| Type = [Struct] TernaryNonPodObj -# 2018| ValueCategory = lvalue -# 2018| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2018| Type = [Struct] TernaryNonPodObj -# 2018| ValueCategory = lvalue -# 2018| getCondition(): [VariableAccess] a -# 2018| Type = [BoolType] bool -# 2018| ValueCategory = prvalue(load) -# 2018| getThen(): [VariableAccess] x -# 2018| Type = [Struct] TernaryNonPodObj -# 2018| ValueCategory = lvalue -# 2018| getElse(): [VariableAccess] y -# 2018| Type = [Struct] TernaryNonPodObj -# 2018| ValueCategory = lvalue -# 2018| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2018| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2018| ValueCategory = prvalue -# 2018| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2018| Conversion = [GlvalueConversion] glvalue conversion -# 2018| Type = [SpecifiedType] const TernaryNonPodObj -# 2018| ValueCategory = lvalue -# 2018| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2018| Type = [Struct] TernaryNonPodObj -# 2018| ValueCategory = lvalue -# 2019| getStmt(1): [ExprStmt] ExprStmt -# 2019| getExpr(): [FunctionCall] call to operator= -# 2019| Type = [LValueReferenceType] TernaryNonPodObj & -# 2019| ValueCategory = prvalue -# 2019| getQualifier(): [VariableAccess] z -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = lvalue -# 2019| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = prvalue -# 2019| getCondition(): [VariableAccess] a -# 2019| Type = [BoolType] bool -# 2019| ValueCategory = prvalue(load) -# 2019| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2019| Type = [VoidType] void -# 2019| ValueCategory = prvalue -# 2019| getArgument(0): [VariableAccess] x -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = lvalue -# 2019| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2019| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2019| ValueCategory = prvalue -# 2019| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2019| Conversion = [GlvalueConversion] glvalue conversion -# 2019| Type = [SpecifiedType] const TernaryNonPodObj -# 2019| ValueCategory = lvalue -# 2019| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2019| Type = [VoidType] void -# 2019| ValueCategory = prvalue -# 2019| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = prvalue(load) -# 2019| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = prvalue(load) -# 2019| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2019| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2019| ValueCategory = prvalue -# 2019| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2019| Conversion = [GlvalueConversion] glvalue conversion -# 2019| Type = [SpecifiedType] const TernaryNonPodObj -# 2019| ValueCategory = lvalue -# 2019| getExpr(): [TemporaryObjectExpr] temporary object -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = lvalue -# 2019| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2019| Type = [Struct] TernaryNonPodObj -# 2019| ValueCategory = lvalue -# 2020| getStmt(2): [ExprStmt] ExprStmt +# 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 @@ -15558,22 +15519,16 @@ ir.cpp: # 2020| ValueCategory = lvalue # 2020| getArgument(0): [ConditionalExpr] ... ? ... : ... # 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = prvalue +# 2020| ValueCategory = lvalue # 2020| getCondition(): [VariableAccess] a # 2020| Type = [BoolType] bool # 2020| ValueCategory = prvalue(load) -# 2020| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2020| Type = [VoidType] void -# 2020| ValueCategory = prvalue -# 2020| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2020| Type = [VoidType] void -# 2020| ValueCategory = prvalue -# 2020| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2020| getThen(): [VariableAccess] x # 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = prvalue(load) -# 2020| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2020| ValueCategory = lvalue +# 2020| getElse(): [VariableAccess] y # 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = prvalue(load) +# 2020| ValueCategory = lvalue # 2020| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) # 2020| Type = [LValueReferenceType] const TernaryNonPodObj & # 2020| ValueCategory = prvalue @@ -15581,50 +15536,44 @@ ir.cpp: # 2020| Conversion = [GlvalueConversion] glvalue conversion # 2020| Type = [SpecifiedType] const TernaryNonPodObj # 2020| ValueCategory = lvalue -# 2020| getExpr(): [TemporaryObjectExpr] temporary object -# 2020| Type = [Struct] TernaryNonPodObj -# 2020| ValueCategory = lvalue # 2020| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 2020| Type = [Struct] TernaryNonPodObj # 2020| ValueCategory = lvalue -# 2021| getStmt(3): [ExprStmt] ExprStmt +# 2021| getStmt(1): [ExprStmt] ExprStmt # 2021| getExpr(): [FunctionCall] call to operator= # 2021| Type = [LValueReferenceType] TernaryNonPodObj & # 2021| ValueCategory = prvalue -# 2021| getQualifier(): [FunctionCall] call to operator= -# 2021| Type = [LValueReferenceType] TernaryNonPodObj & +# 2021| getQualifier(): [VariableAccess] z +# 2021| Type = [Struct] TernaryNonPodObj +# 2021| ValueCategory = lvalue +# 2021| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2021| Type = [Struct] 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 = lvalue -# 2021| getCondition(): [VariableAccess] a -# 2021| Type = [BoolType] bool -# 2021| ValueCategory = prvalue(load) -# 2021| getThen(): [VariableAccess] x -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getElse(): [VariableAccess] y +# 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| 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| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2021| Conversion = [GlvalueConversion] glvalue conversion -# 2021| Type = [SpecifiedType] const TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getArgument(0): [ConstructorCall] call to TernaryNonPodObj -# 2021| Type = [VoidType] void -# 2021| ValueCategory = prvalue -# 2021| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue -# 2021| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2021| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object # 2021| Type = [Struct] TernaryNonPodObj -# 2021| ValueCategory = lvalue +# 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 @@ -15638,525 +15587,865 @@ ir.cpp: # 2021| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) # 2021| Type = [Struct] TernaryNonPodObj # 2021| ValueCategory = lvalue -# 2022| getStmt(4): [ReturnStmt] return ... -# 2024| [TopLevelFunction] void CommaTestHelper(unsigned int) -# 2024| : -# 2024| getParameter(0): [Parameter] (unnamed parameter 0) -# 2024| Type = [IntType] unsigned int -# 2026| [TopLevelFunction] unsigned int CommaTest(unsigned int) +# 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] x +# 2026| getParameter(0): [Parameter] (unnamed parameter 0) # 2026| Type = [IntType] unsigned int -# 2026| getEntryPoint(): [BlockStmt] { ... } -# 2027| getStmt(0): [DeclStmt] declaration -# 2027| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2027| Type = [IntType] unsigned int -# 2028| getStmt(1): [ExprStmt] ExprStmt -# 2028| getExpr(): [AssignExpr] ... = ... -# 2028| Type = [IntType] unsigned int -# 2028| ValueCategory = lvalue -# 2028| getLValue(): [VariableAccess] y -# 2028| Type = [IntType] unsigned int -# 2028| ValueCategory = lvalue -# 2028| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2028| Type = [IntType] unsigned int -# 2028| ValueCategory = prvalue(load) -# 2028| getCondition(): [LTExpr] ... < ... -# 2028| Type = [BoolType] bool -# 2028| ValueCategory = prvalue -# 2028| getLesserOperand(): [VariableAccess] x -# 2028| Type = [IntType] unsigned int -# 2028| ValueCategory = prvalue(load) -# 2028| getGreaterOperand(): [Literal] 100 -# 2028| Type = [IntType] int -# 2028| Value = [Literal] 100 -# 2028| ValueCategory = prvalue -# 2028| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2028| Conversion = [IntegralConversion] integral conversion -# 2028| Type = [IntType] unsigned int -# 2028| Value = [CStyleCast] 100 -# 2028| ValueCategory = prvalue -# 2029| getThen(): [CommaExpr] ... , ... -# 2029| Type = [IntType] unsigned int -# 2029| ValueCategory = prvalue(load) -# 2029| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2029| Type = [VoidType] void -# 2029| ValueCategory = prvalue -# 2029| getArgument(0): [VariableAccess] x -# 2029| Type = [IntType] unsigned int -# 2029| ValueCategory = prvalue(load) -# 2029| getRightOperand(): [VariableAccess] x -# 2029| Type = [IntType] unsigned int -# 2029| ValueCategory = prvalue(load) -# 2030| getElse(): [CommaExpr] ... , ... -# 2030| Type = [IntType] 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| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2030| Type = [VoidType] void -# 2030| ValueCategory = prvalue -# 2030| getArgument(0): [VariableAccess] x -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = prvalue(load) -# 2030| getRightOperand(): [Literal] 10 +# 2030| getLesserOperand(): [VariableAccess] x +# 2030| Type = [IntType] unsigned int +# 2030| ValueCategory = prvalue(load) +# 2030| getGreaterOperand(): [Literal] 100 # 2030| Type = [IntType] int -# 2030| Value = [Literal] 10 +# 2030| Value = [Literal] 100 # 2030| ValueCategory = prvalue -# 2029| getThen().getFullyConverted(): [ParenthesisExpr] (...) -# 2029| Type = [IntType] unsigned int -# 2029| ValueCategory = prvalue(load) -# 2030| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2030| Conversion = [IntegralConversion] integral conversion -# 2030| Type = [IntType] unsigned int -# 2030| ValueCategory = prvalue -# 2030| getExpr(): [ParenthesisExpr] (...) -# 2030| Type = [IntType] int +# 2030| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2030| Conversion = [IntegralConversion] integral conversion +# 2030| Type = [IntType] unsigned int +# 2030| Value = [CStyleCast] 100 # 2030| ValueCategory = prvalue -# 2031| getStmt(2): [ReturnStmt] return ... -# 2033| [TopLevelFunction] void NewDeleteMem() -# 2033| : -# 2033| getEntryPoint(): [BlockStmt] { ... } -# 2034| getStmt(0): [DeclStmt] declaration -# 2034| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2034| Type = [IntPointerType] int * -# 2034| getVariable().getInitializer(): [Initializer] initializer for x -# 2034| getExpr(): [NewExpr] new -# 2034| Type = [IntPointerType] int * -# 2034| ValueCategory = prvalue -# 2035| getStmt(1): [ExprStmt] ExprStmt -# 2035| getExpr(): [AssignExpr] ... = ... -# 2035| Type = [IntType] int -# 2035| ValueCategory = lvalue -# 2035| getLValue(): [PointerDereferenceExpr] * ... -# 2035| Type = [IntType] int -# 2035| ValueCategory = lvalue -# 2035| getOperand(): [VariableAccess] x -# 2035| Type = [IntPointerType] int * -# 2035| ValueCategory = prvalue(load) -# 2035| getRValue(): [Literal] 6 -# 2035| Type = [IntType] int -# 2035| Value = [Literal] 6 -# 2035| ValueCategory = prvalue -# 2036| getStmt(2): [ExprStmt] ExprStmt -# 2036| getExpr(): [DeleteExpr] delete -# 2036| Type = [VoidType] void -# 2036| ValueCategory = prvalue -# 2036| getExpr(): [VariableAccess] x -# 2036| Type = [IntPointerType] int * -# 2036| ValueCategory = prvalue(load) -# 2037| getStmt(3): [ReturnStmt] return ... -# 2039| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) -# 2039| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const Base2 & -# 2039| [Constructor] void Base2::Base2() -# 2039| : -# 2039| : -# 2039| getEntryPoint(): [BlockStmt] { ... } -# 2039| getStmt(0): [ReturnStmt] return ... -# 2039| [CopyConstructor] void Base2::Base2(Base2 const&) -# 2039| : +# 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| [MemberFunction] void Base2::operator delete(void*) +# 2041| [Constructor] void Base2::Base2() # 2041| : -# 2041| getParameter(0): [Parameter] p -# 2041| Type = [VoidPointerType] void * +# 2041| : # 2041| getEntryPoint(): [BlockStmt] { ... } -# 2042| getStmt(0): [ReturnStmt] return ... -# 2043| [Destructor,VirtualFunction] void Base2::~Base2() +# 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] { ... } -# 2043| getStmt(0): [ReturnStmt] return ... -# 2043| : -# 2046| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) -# 2046| : +# 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 & -# 2046| [Constructor] void Derived2::Derived2() -# 2046| : -# 2046| : -# 2046| getInitializer(0): [ConstructorDirectInit] call to Base2 -# 2046| Type = [VoidType] void -# 2046| ValueCategory = prvalue -# 2046| getEntryPoint(): [BlockStmt] { ... } -# 2046| getStmt(0): [ReturnStmt] return ... -# 2046| [CopyConstructor] void Derived2::Derived2(Derived2 const&) -# 2046| : +# 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 & -# 2049| [Destructor,VirtualFunction] void Derived2::~Derived2() -# 2049| : -# 2049| getEntryPoint(): [BlockStmt] { ... } -# 2049| getStmt(0): [ReturnStmt] return ... -# 2049| : -# 2049| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 -# 2049| Type = [VoidType] void -# 2049| ValueCategory = prvalue -# 2051| [MemberFunction] void Derived2::operator delete(void*) +# 2051| [Destructor,VirtualFunction] void Derived2::~Derived2() # 2051| : -# 2051| getParameter(0): [Parameter] p -# 2051| Type = [VoidPointerType] void * # 2051| getEntryPoint(): [BlockStmt] { ... } -# 2052| getStmt(0): [ReturnStmt] return ... -# 2056| [TopLevelFunction] int virtual_delete() -# 2056| : -# 2057| getEntryPoint(): [BlockStmt] { ... } -# 2058| getStmt(0): [DeclStmt] declaration -# 2058| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 -# 2058| Type = [PointerType] Base2 * -# 2058| getVariable().getInitializer(): [Initializer] initializer for b1 -# 2058| getExpr(): [NewExpr] new -# 2058| Type = [PointerType] Base2 * -# 2058| ValueCategory = prvalue -# 2058| getInitializer(): [ConstructorCall] call to Base2 -# 2058| Type = [VoidType] void -# 2058| ValueCategory = prvalue -# 2059| getStmt(1): [ExprStmt] ExprStmt -# 2059| getExpr(): [DeleteExpr] delete -# 2059| Type = [VoidType] void -# 2059| ValueCategory = prvalue -# 2059| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2059| Type = [VoidType] void -# 2059| ValueCategory = prvalue -# 2059| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2059| Type = [VoidType] void -# 2059| ValueCategory = prvalue -# 2059| getQualifier(): [VariableAccess] b1 -# 2059| Type = [PointerType] Base2 * -# 2059| ValueCategory = prvalue(load) -# 2061| getStmt(2): [DeclStmt] declaration -# 2061| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 -# 2061| Type = [PointerType] Base2 * -# 2061| getVariable().getInitializer(): [Initializer] initializer for b2 -# 2061| getExpr(): [NewExpr] new -# 2061| Type = [PointerType] Derived2 * -# 2061| ValueCategory = prvalue -# 2061| getInitializer(): [ConstructorCall] call to Derived2 -# 2061| Type = [VoidType] void -# 2061| ValueCategory = prvalue -# 2061| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... -# 2061| Conversion = [BaseClassConversion] base class conversion +# 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 -# 2062| getStmt(3): [ExprStmt] ExprStmt -# 2062| getExpr(): [DeleteExpr] delete -# 2062| Type = [VoidType] void -# 2062| ValueCategory = prvalue -# 2062| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2062| Type = [VoidType] void -# 2062| ValueCategory = prvalue -# 2062| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2062| Type = [VoidType] void -# 2062| ValueCategory = prvalue -# 2062| getQualifier(): [VariableAccess] b2 -# 2062| Type = [PointerType] Base2 * -# 2062| ValueCategory = prvalue(load) -# 2064| getStmt(4): [DeclStmt] declaration -# 2064| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2064| Type = [PointerType] Derived2 * -# 2064| getVariable().getInitializer(): [Initializer] initializer for d -# 2064| getExpr(): [NewExpr] new -# 2064| Type = [PointerType] Derived2 * -# 2064| ValueCategory = prvalue -# 2064| getInitializer(): [ConstructorCall] call to Derived2 -# 2064| Type = [VoidType] void -# 2064| ValueCategory = prvalue -# 2065| getStmt(5): [ExprStmt] ExprStmt -# 2065| getExpr(): [DeleteExpr] delete -# 2065| Type = [VoidType] void -# 2065| ValueCategory = prvalue -# 2065| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2065| Type = [VoidType] void -# 2065| ValueCategory = prvalue -# 2065| getDestructorCall(): [DestructorCall] call to ~Derived2 -# 2065| Type = [VoidType] void -# 2065| ValueCategory = prvalue -# 2065| getQualifier(): [VariableAccess] d -# 2065| Type = [PointerType] Derived2 * -# 2065| ValueCategory = prvalue(load) -# 2066| getStmt(6): [ReturnStmt] return ... -# 2068| [TopLevelFunction] void test_constant_folding_use(int) -# 2068| : -# 2068| getParameter(0): [Parameter] (unnamed parameter 0) -# 2068| Type = [IntType] int -# 2070| [TopLevelFunction] void test_constant_folding() +# 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 +# 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| ValueCategory = prvalue(load) +# 2068| getStmt(6): [ReturnStmt] return ... +# 2070| [TopLevelFunction] void test_constant_folding_use(int) # 2070| : -# 2070| getEntryPoint(): [BlockStmt] { ... } -# 2071| getStmt(0): [DeclStmt] declaration -# 2071| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2071| Type = [SpecifiedType] const int -# 2071| getVariable().getInitializer(): [Initializer] initializer for x -# 2071| getExpr(): [Literal] 116 -# 2071| Type = [IntType] int -# 2071| Value = [Literal] 116 -# 2071| ValueCategory = prvalue -# 2072| getStmt(1): [ExprStmt] ExprStmt -# 2072| getExpr(): [FunctionCall] call to test_constant_folding_use -# 2072| Type = [VoidType] void -# 2072| ValueCategory = prvalue -# 2072| getArgument(0): [VariableAccess] x -# 2072| Type = [IntType] int -# 2072| Value = [VariableAccess] 116 -# 2072| ValueCategory = prvalue(load) -# 2073| getStmt(2): [ReturnStmt] return ... -# 2075| [TopLevelFunction] void exit(int) -# 2075| : -# 2075| getParameter(0): [Parameter] code -# 2075| Type = [IntType] int -# 2077| [TopLevelFunction] int NonExit() +# 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| getEntryPoint(): [BlockStmt] { ... } -# 2078| getStmt(0): [DeclStmt] declaration -# 2078| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2078| Type = [IntType] int -# 2078| getVariable().getInitializer(): [Initializer] initializer for x -# 2078| getExpr(): [FunctionCall] call to Add -# 2078| Type = [IntType] int -# 2078| ValueCategory = prvalue -# 2078| getArgument(0): [Literal] 3 -# 2078| Type = [IntType] int -# 2078| Value = [Literal] 3 -# 2078| ValueCategory = prvalue -# 2078| getArgument(1): [Literal] 4 -# 2078| Type = [IntType] int -# 2078| Value = [Literal] 4 -# 2078| ValueCategory = prvalue -# 2079| getStmt(1): [IfStmt] if (...) ... -# 2079| getCondition(): [EQExpr] ... == ... -# 2079| Type = [BoolType] bool -# 2079| ValueCategory = prvalue -# 2079| getLeftOperand(): [VariableAccess] x -# 2079| Type = [IntType] int -# 2079| ValueCategory = prvalue(load) -# 2079| getRightOperand(): [Literal] 7 -# 2079| Type = [IntType] int -# 2079| Value = [Literal] 7 -# 2079| ValueCategory = prvalue -# 2080| getThen(): [ExprStmt] ExprStmt -# 2080| getExpr(): [FunctionCall] call to exit -# 2080| Type = [VoidType] void -# 2080| ValueCategory = prvalue -# 2080| getArgument(0): [Literal] 3 +# 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| Value = [Literal] 3 # 2080| ValueCategory = prvalue -# 2081| getStmt(2): [ExprStmt] ExprStmt -# 2081| getExpr(): [FunctionCall] call to VoidFunc -# 2081| Type = [VoidType] void +# 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 -# 2082| getStmt(3): [ReturnStmt] return ... -# 2082| getExpr(): [VariableAccess] x -# 2082| Type = [IntType] int -# 2082| ValueCategory = prvalue(load) -# 2085| [TopLevelFunction] void CallsNonExit() -# 2085| : -# 2085| getEntryPoint(): [BlockStmt] { ... } -# 2086| getStmt(0): [ExprStmt] ExprStmt -# 2086| getExpr(): [FunctionCall] call to VoidFunc -# 2086| Type = [VoidType] void -# 2086| ValueCategory = prvalue -# 2087| getStmt(1): [ExprStmt] ExprStmt -# 2087| getExpr(): [FunctionCall] call to exit -# 2087| Type = [VoidType] void -# 2087| ValueCategory = prvalue -# 2087| getArgument(0): [Literal] 3 -# 2087| Type = [IntType] int -# 2087| Value = [Literal] 3 -# 2087| ValueCategory = prvalue -# 2088| getStmt(2): [ReturnStmt] return ... -# 2090| [TopLevelFunction] int TransNonExit() -# 2090| : -# 2090| getEntryPoint(): [BlockStmt] { ... } -# 2091| getStmt(0): [DeclStmt] declaration -# 2091| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2091| Type = [IntType] int -# 2091| getVariable().getInitializer(): [Initializer] initializer for x -# 2091| getExpr(): [FunctionCall] call to Add -# 2091| Type = [IntType] int -# 2091| ValueCategory = prvalue -# 2091| getArgument(0): [Literal] 3 -# 2091| Type = [IntType] int -# 2091| Value = [Literal] 3 -# 2091| ValueCategory = prvalue -# 2091| getArgument(1): [Literal] 4 -# 2091| Type = [IntType] int -# 2091| Value = [Literal] 4 -# 2091| ValueCategory = prvalue -# 2092| getStmt(1): [IfStmt] if (...) ... -# 2092| getCondition(): [EQExpr] ... == ... -# 2092| Type = [BoolType] bool -# 2092| ValueCategory = prvalue -# 2092| getLeftOperand(): [VariableAccess] x -# 2092| Type = [IntType] int -# 2092| ValueCategory = prvalue(load) -# 2092| getRightOperand(): [Literal] 7 -# 2092| Type = [IntType] int -# 2092| Value = [Literal] 7 -# 2092| ValueCategory = prvalue -# 2093| getThen(): [ExprStmt] ExprStmt -# 2093| getExpr(): [FunctionCall] call to CallsNonExit -# 2093| Type = [VoidType] void -# 2093| ValueCategory = prvalue -# 2094| getStmt(2): [ExprStmt] ExprStmt -# 2094| getExpr(): [FunctionCall] call to VoidFunc -# 2094| Type = [VoidType] void +# 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 +# 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() +# 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 -# 2095| getStmt(3): [ReturnStmt] return ... -# 2095| getExpr(): [VariableAccess] x -# 2095| Type = [IntType] int -# 2095| ValueCategory = prvalue(load) -# 2098| [TopLevelFunction] void newArrayCorrectType(size_t) -# 2098| : -# 2098| getParameter(0): [Parameter] n -# 2098| Type = [CTypedefType,Size_t] size_t -# 2098| getEntryPoint(): [BlockStmt] { ... } -# 2099| getStmt(0): [ExprStmt] ExprStmt -# 2099| getExpr(): [NewArrayExpr] new[] -# 2099| Type = [IntPointerType] int * -# 2099| ValueCategory = prvalue -# 2099| getExtent(): [VariableAccess] n -# 2099| Type = [CTypedefType,Size_t] size_t -# 2099| ValueCategory = prvalue(load) -# 2100| getStmt(1): [ExprStmt] ExprStmt -# 2100| getExpr(): [NewArrayExpr] new[] -# 2100| Type = [IntPointerType] int * -# 2100| ValueCategory = prvalue -# 2100| getAllocatorCall(): [FunctionCall] call to operator new[] -# 2100| Type = [VoidPointerType] void * -# 2100| ValueCategory = prvalue -# 2100| getArgument(0): [ErrorExpr] -# 2100| Type = [LongType] unsigned long -# 2100| ValueCategory = prvalue -# 2100| getArgument(1): [Literal] 1.0 -# 2100| Type = [FloatType] float -# 2100| Value = [Literal] 1.0 -# 2100| ValueCategory = prvalue -# 2100| getExtent(): [VariableAccess] n -# 2100| Type = [CTypedefType,Size_t] size_t -# 2100| ValueCategory = prvalue(load) -# 2101| getStmt(2): [ExprStmt] ExprStmt +# 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) +# 2100| : +# 2100| getParameter(0): [Parameter] n +# 2100| Type = [CTypedefType,Size_t] size_t +# 2100| getEntryPoint(): [BlockStmt] { ... } +# 2101| getStmt(0): [ExprStmt] ExprStmt # 2101| getExpr(): [NewArrayExpr] new[] -# 2101| Type = [PointerType] String * +# 2101| Type = [IntPointerType] int * # 2101| ValueCategory = prvalue -# 2101| getInitializer(): [ArrayAggregateLiteral] {...} -# 2101| Type = [ArrayType] String[] -# 2101| ValueCategory = prvalue -# 2101| getAnElementExpr(0): [ConstructorCall] call to String -# 2101| Type = [VoidType] void -# 2101| ValueCategory = prvalue # 2101| getExtent(): [VariableAccess] n # 2101| Type = [CTypedefType,Size_t] size_t # 2101| ValueCategory = prvalue(load) -# 2102| getStmt(3): [ExprStmt] ExprStmt +# 2102| getStmt(1): [ExprStmt] ExprStmt # 2102| getExpr(): [NewArrayExpr] new[] -# 2102| Type = [PointerType] Overaligned * +# 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) -# 2102| getAlignmentArgument(): [Literal] 128 -# 2102| Type = [ScopedEnum] align_val_t -# 2102| Value = [Literal] 128 -# 2102| ValueCategory = prvalue -# 2103| getStmt(4): [ExprStmt] ExprStmt +# 2103| getStmt(2): [ExprStmt] ExprStmt # 2103| getExpr(): [NewArrayExpr] new[] -# 2103| Type = [PointerType] DefaultCtorWithDefaultParam * +# 2103| Type = [PointerType] String * # 2103| ValueCategory = prvalue # 2103| getInitializer(): [ArrayAggregateLiteral] {...} -# 2103| Type = [ArrayType] DefaultCtorWithDefaultParam[] +# 2103| Type = [ArrayType] String[] # 2103| ValueCategory = prvalue -# 2103| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam +# 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(5): [ExprStmt] ExprStmt +# 2104| getStmt(3): [ExprStmt] ExprStmt # 2104| getExpr(): [NewArrayExpr] new[] -# 2104| Type = [IntPointerType] int * +# 2104| Type = [PointerType] Overaligned * # 2104| ValueCategory = prvalue -# 2104| getInitializer(): [ArrayAggregateLiteral] {...} -# 2104| Type = [ArrayType] int[3] -# 2104| ValueCategory = prvalue -# 2104| getAnElementExpr(0): [Literal] 0 -# 2104| Type = [IntType] int -# 2104| Value = [Literal] 0 -# 2104| ValueCategory = prvalue -# 2104| getAnElementExpr(1): [Literal] 1 -# 2104| Type = [IntType] int -# 2104| Value = [Literal] 1 -# 2104| ValueCategory = prvalue -# 2104| getAnElementExpr(2): [Literal] 2 -# 2104| Type = [IntType] int -# 2104| Value = [Literal] 2 -# 2104| ValueCategory = prvalue # 2104| getExtent(): [VariableAccess] n # 2104| Type = [CTypedefType,Size_t] size_t # 2104| ValueCategory = prvalue(load) -# 2105| getStmt(6): [ReturnStmt] return ... -# 2107| [TopLevelFunction] double strtod(char const*, char**) -# 2107| : -# 2107| getParameter(0): [Parameter] str -# 2107| Type = [PointerType] const char * -# 2107| getParameter(1): [Parameter] endptr -# 2107| Type = [PointerType] char ** -# 2109| [TopLevelFunction] char* test_strtod(char*) +# 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] s -# 2109| Type = [CharPointerType] char * -# 2109| getEntryPoint(): [BlockStmt] { ... } -# 2110| getStmt(0): [DeclStmt] declaration -# 2110| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end -# 2110| Type = [CharPointerType] char * -# 2111| getStmt(1): [DeclStmt] declaration -# 2111| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2111| Type = [DoubleType] double -# 2111| getVariable().getInitializer(): [Initializer] initializer for d -# 2111| getExpr(): [FunctionCall] call to strtod -# 2111| Type = [DoubleType] double -# 2111| ValueCategory = prvalue -# 2111| getArgument(0): [VariableAccess] s -# 2111| Type = [CharPointerType] char * -# 2111| ValueCategory = prvalue(load) -# 2111| getArgument(1): [AddressOfExpr] & ... -# 2111| Type = [PointerType] char ** -# 2111| ValueCategory = prvalue -# 2111| getOperand(): [VariableAccess] end -# 2111| Type = [CharPointerType] char * -# 2111| ValueCategory = lvalue -# 2111| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... -# 2111| Conversion = [PointerConversion] pointer conversion -# 2111| Type = [PointerType] const char * -# 2111| ValueCategory = prvalue -# 2112| getStmt(2): [ReturnStmt] return ... -# 2112| getExpr(): [VariableAccess] end +# 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 * -# 2112| ValueCategory = prvalue(load) -# 2115| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) -# 2115| : +# 2113| getStmt(1): [DeclStmt] declaration +# 2113| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2113| Type = [DoubleType] double +# 2113| getVariable().getInitializer(): [Initializer] initializer for d +# 2113| getExpr(): [FunctionCall] call to strtod +# 2113| Type = [DoubleType] double +# 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| 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&) +# 2117| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const HasOperatorBool & -# 2115| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) -# 2115| : +# 2117| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) +# 2117| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] HasOperatorBool && -# 2116| [ConversionOperator] bool HasOperatorBool::operator bool() -# 2116| : -# 2119| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() -# 2119| : -# 2119| getEntryPoint(): [BlockStmt] { ... } -# 2120| getStmt(0): [IfStmt] if (...) ... -# 2120| getCondition(): [ConditionDeclExpr] (condition decl) -# 2120| Type = [BoolType] bool -# 2120| ValueCategory = prvalue -# 2120| getChild(0): [FunctionCall] call to operator bool -# 2120| Type = [BoolType] bool -# 2120| ValueCategory = prvalue -# 2120| getQualifier(): [VariableAccess] b -# 2120| Type = [Struct] HasOperatorBool -# 2120| ValueCategory = prvalue(load) -# 2120| getThen(): [BlockStmt] { ... } -# 2121| getStmt(1): [ReturnStmt] return ... +# 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 * +# 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 ... +# 2134| [GlobalVariable] bool initialization_with_destructor_bool +# 2134| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool +# 2134| getExpr(): [Literal] 1 +# 2134| Type = [BoolType] bool +# 2134| Value = [Literal] 1 +# 2134| ValueCategory = prvalue +# 2136| [TopLevelFunction] void initialization_with_destructor(bool, char) +# 2136| : +# 2136| getParameter(0): [Parameter] b +# 2136| Type = [BoolType] bool +# 2136| getParameter(1): [Parameter] c +# 2136| Type = [PlainCharType] char +# 2136| getEntryPoint(): [BlockStmt] { ... } +# 2137| getStmt(0): [IfStmt] if (...) ... +# 2137| getInitialization(): [DeclStmt] declaration +# 2137| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2137| Type = [Class] ClassWithDestructor +# 2137| getVariable().getInitializer(): [Initializer] initializer for x +# 2137| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2137| Type = [VoidType] void +# 2137| ValueCategory = prvalue +# 2137| getCondition(): [VariableAccess] b +# 2137| Type = [BoolType] bool +# 2137| ValueCategory = prvalue(load) +# 2138| getThen(): [ExprStmt] ExprStmt +# 2138| getExpr(): [FunctionCall] call to set_x +# 2138| Type = [VoidType] void +# 2138| ValueCategory = prvalue +# 2138| getQualifier(): [VariableAccess] x +# 2138| Type = [Class] ClassWithDestructor +# 2138| ValueCategory = lvalue +# 2138| getArgument(0): [CharLiteral] 97 +# 2138| Type = [PlainCharType] char +# 2138| Value = [CharLiteral] 97 +# 2138| ValueCategory = prvalue +# 2138| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2138| Type = [VoidType] void +# 2138| ValueCategory = prvalue +# 2138| getQualifier(): [VariableAccess] x +# 2138| Type = [Class] ClassWithDestructor +# 2138| ValueCategory = lvalue +# 2140| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... +# 2140| getInitialization(): [DeclStmt] declaration +# 2140| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2140| Type = [Class] ClassWithDestructor +# 2140| getVariable().getInitializer(): [Initializer] initializer for x +# 2140| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2140| Type = [VoidType] void +# 2140| ValueCategory = prvalue +# 2140| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2140| Type = [BoolType] bool +# 2140| Value = [VariableAccess] 1 +# 2140| ValueCategory = prvalue(load) +# 2141| getThen(): [ExprStmt] ExprStmt +# 2141| getExpr(): [FunctionCall] call to set_x +# 2141| Type = [VoidType] void +# 2141| ValueCategory = prvalue +# 2141| getQualifier(): [VariableAccess] x +# 2141| Type = [Class] ClassWithDestructor +# 2141| ValueCategory = lvalue +# 2141| getArgument(0): [CharLiteral] 97 +# 2141| Type = [PlainCharType] char +# 2141| Value = [CharLiteral] 97 +# 2141| ValueCategory = prvalue +# 2143| getStmt(2): [SwitchStmt] switch (...) ... +# 2143| getInitialization(): [DeclStmt] declaration +# 2143| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2143| Type = [Class] ClassWithDestructor +# 2143| getVariable().getInitializer(): [Initializer] initializer for x +# 2143| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2143| Type = [VoidType] void +# 2143| ValueCategory = prvalue +# 2143| getExpr(): [VariableAccess] c +# 2143| Type = [PlainCharType] char +# 2143| ValueCategory = prvalue(load) +# 2143| getStmt(): [BlockStmt] { ... } +# 2144| getStmt(0): [SwitchCase] case ...: +# 2144| getExpr(): [CharLiteral] 97 +# 2144| Type = [PlainCharType] char +# 2144| Value = [CharLiteral] 97 +# 2144| ValueCategory = prvalue +# 2144| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2144| Conversion = [IntegralConversion] integral conversion +# 2144| Type = [IntType] int +# 2144| Value = [CStyleCast] 97 +# 2144| ValueCategory = prvalue +# 2145| getStmt(1): [ExprStmt] ExprStmt +# 2145| getExpr(): [FunctionCall] call to set_x +# 2145| Type = [VoidType] void +# 2145| ValueCategory = prvalue +# 2145| getQualifier(): [VariableAccess] x +# 2145| Type = [Class] ClassWithDestructor +# 2145| ValueCategory = lvalue +# 2145| getArgument(0): [CharLiteral] 97 +# 2145| Type = [PlainCharType] char +# 2145| Value = [CharLiteral] 97 +# 2145| ValueCategory = prvalue +# 2146| getStmt(2): [BreakStmt] break; +# 2147| getStmt(3): [SwitchCase] default: +# 2148| getStmt(4): [ExprStmt] ExprStmt +# 2148| getExpr(): [FunctionCall] call to set_x +# 2148| Type = [VoidType] void +# 2148| ValueCategory = prvalue +# 2148| getQualifier(): [VariableAccess] x +# 2148| Type = [Class] ClassWithDestructor +# 2148| ValueCategory = lvalue +# 2148| getArgument(0): [CharLiteral] 98 +# 2148| Type = [PlainCharType] char +# 2148| Value = [CharLiteral] 98 +# 2148| ValueCategory = prvalue +# 2149| getStmt(5): [BreakStmt] break; +# 2150| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2150| Type = [VoidType] void +# 2150| ValueCategory = prvalue +# 2150| getQualifier(): [VariableAccess] x +# 2150| Type = [Class] ClassWithDestructor +# 2150| ValueCategory = lvalue +# 2143| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2143| Conversion = [IntegralConversion] integral conversion +# 2143| Type = [IntType] int +# 2143| ValueCategory = prvalue +# 2150| getStmt(3): [LabelStmt] label ...: +# 2152| getStmt(4): [DeclStmt] declaration +# 2152| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2152| Type = [Class] ClassWithDestructor +# 2152| getVariable().getInitializer(): [Initializer] initializer for x +# 2152| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2152| Type = [VoidType] void +# 2152| ValueCategory = prvalue +# 2153| getStmt(5): [RangeBasedForStmt] for(...:...) ... +# 2153| getChild(0): [DeclStmt] declaration +# 2153| getBeginEndDeclaration(): [DeclStmt] declaration +# 2153| getCondition(): [FunctionCall] call to operator!= +# 2153| Type = [BoolType] bool +# 2153| ValueCategory = prvalue +# 2153| getQualifier(): [VariableAccess] (__begin) +# 2153| Type = [NestedStruct] iterator +# 2153| ValueCategory = lvalue +# 2153| getArgument(0): [VariableAccess] (__end) +# 2153| Type = [NestedStruct] iterator +# 2153| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2153| getUpdate(): [FunctionCall] call to operator++ +# 2153| Type = [LValueReferenceType] iterator & +# 2153| ValueCategory = prvalue +# 2153| getQualifier(): [VariableAccess] (__begin) +# 2153| Type = [NestedStruct] iterator +# 2153| ValueCategory = lvalue +# 2153| getChild(4): [DeclStmt] declaration +# 2154| getStmt(): [ExprStmt] ExprStmt +# 2154| getExpr(): [FunctionCall] call to set_x +# 2154| Type = [VoidType] void +# 2154| ValueCategory = prvalue +# 2154| getQualifier(): [VariableAccess] y +# 2154| Type = [Class] ClassWithDestructor +# 2154| ValueCategory = lvalue +# 2154| getArgument(0): [CharLiteral] 97 +# 2154| Type = [PlainCharType] char +# 2154| Value = [CharLiteral] 97 +# 2154| ValueCategory = prvalue +# 2153| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2153| Type = [NestedStruct] iterator +# 2153| ValueCategory = lvalue +# 2155| getStmt(6): [ReturnStmt] return ... +# 2155| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2155| Type = [VoidType] void +# 2155| ValueCategory = prvalue +# 2155| getQualifier(): [VariableAccess] x +# 2155| Type = [Class] ClassWithDestructor +# 2155| ValueCategory = lvalue 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 f21ffad9dbba..458ab279ff2c 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -6687,3951 +6687,3935 @@ ir.cpp: # 1054| v1054_43(void) = AliasedUse : ~m1054_20 # 1054| v1054_44(void) = ExitFunction : -# 1077| void RangeBasedFor(vector const&) -# 1077| Block 0 -# 1077| v1077_1(void) = EnterFunction : -# 1077| m1077_2(unknown) = AliasedDefinition : -# 1077| m1077_3(unknown) = InitializeNonLocal : -# 1077| m1077_4(unknown) = Chi : total:m1077_2, partial:m1077_3 -# 1077| r1077_5(glval &>) = VariableAddress[v] : -# 1077| m1077_6(vector &) = InitializeParameter[v] : &:r1077_5 -# 1077| r1077_7(vector &) = Load[v] : &:r1077_5, m1077_6 -# 1077| m1077_8(unknown) = InitializeIndirection[v] : &:r1077_7 -# 1078| r1078_1(glval &>) = VariableAddress[(__range)] : -# 1078| r1078_2(glval &>) = VariableAddress[v] : -# 1078| r1078_3(vector &) = Load[v] : &:r1078_2, m1077_6 -# 1078| r1078_4(glval>) = CopyValue : r1078_3 -# 1078| r1078_5(vector &) = CopyValue : r1078_4 -# 1078| m1078_6(vector &) = Store[(__range)] : &:r1078_1, r1078_5 -# 1078| r1078_7(glval) = VariableAddress[(__begin)] : -# 1078| r1078_8(glval &>) = VariableAddress[(__range)] : -# 1078| r1078_9(vector &) = Load[(__range)] : &:r1078_8, m1078_6 -#-----| r0_1(glval>) = CopyValue : r1078_9 -# 1078| r1078_10(glval) = FunctionAddress[begin] : -# 1078| r1078_11(iterator) = Call[begin] : func:r1078_10, this:r0_1 -# 1078| m1078_12(unknown) = ^CallSideEffect : ~m1077_4 -# 1078| m1078_13(unknown) = Chi : total:m1077_4, partial:m1078_12 -#-----| v0_2(void) = ^IndirectReadSideEffect[-1] : &:r0_1, ~m1077_8 -# 1078| m1078_14(iterator) = Store[(__begin)] : &:r1078_7, r1078_11 -# 1078| r1078_15(glval) = VariableAddress[(__end)] : -# 1078| r1078_16(glval &>) = VariableAddress[(__range)] : -# 1078| r1078_17(vector &) = Load[(__range)] : &:r1078_16, m1078_6 -#-----| r0_3(glval>) = CopyValue : r1078_17 -# 1078| r1078_18(glval) = FunctionAddress[end] : -# 1078| r1078_19(iterator) = Call[end] : func:r1078_18, this:r0_3 -# 1078| m1078_20(unknown) = ^CallSideEffect : ~m1078_13 -# 1078| m1078_21(unknown) = Chi : total:m1078_13, partial:m1078_20 -#-----| v0_4(void) = ^IndirectReadSideEffect[-1] : &:r0_3, ~m1077_8 -# 1078| m1078_22(iterator) = Store[(__end)] : &:r1078_15, r1078_19 +# 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 #-----| Goto -> Block 1 -# 1078| Block 1 -# 1078| m1078_23(iterator) = Phi : from 0:m1078_14, from 4:m1078_49 -# 1078| m1078_24(unknown) = Phi : from 0:~m1078_21, from 4:~m1078_46 -# 1078| r1078_25(glval) = VariableAddress[(__begin)] : -#-----| r0_5(glval) = Convert : r1078_25 -# 1078| r1078_26(glval) = FunctionAddress[operator!=] : -# 1078| r1078_27(glval) = VariableAddress[(__end)] : -# 1078| r1078_28(iterator) = Load[(__end)] : &:r1078_27, m1078_22 -# 1078| r1078_29(bool) = Call[operator!=] : func:r1078_26, this:r0_5, 0:r1078_28 -# 1078| m1078_30(unknown) = ^CallSideEffect : ~m1078_24 -# 1078| m1078_31(unknown) = Chi : total:m1078_24, partial:m1078_30 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m1078_23 -# 1078| v1078_32(void) = ConditionalBranch : r1078_29 +# 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 #-----| False -> Block 5 #-----| True -> Block 2 -# 1078| Block 2 -# 1078| r1078_33(glval) = VariableAddress[e] : -# 1078| r1078_34(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r1078_34 -# 1078| r1078_35(glval) = FunctionAddress[operator*] : -# 1078| r1078_36(int &) = Call[operator*] : func:r1078_35, this:r0_7 -# 1078| m1078_37(unknown) = ^CallSideEffect : ~m1078_31 -# 1078| m1078_38(unknown) = Chi : total:m1078_31, partial:m1078_37 -#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m1078_23 -# 1078| r1078_39(int) = Load[?] : &:r1078_36, ~m1078_38 -# 1078| m1078_40(int) = Store[e] : &:r1078_33, r1078_39 -# 1079| r1079_1(glval) = VariableAddress[e] : -# 1079| r1079_2(int) = Load[e] : &:r1079_1, m1078_40 -# 1079| r1079_3(int) = Constant[0] : -# 1079| r1079_4(bool) = CompareGT : r1079_2, r1079_3 -# 1079| v1079_5(void) = ConditionalBranch : r1079_4 +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1080| Block 3 -# 1080| v1080_1(void) = NoOp : +# 1082| Block 3 +# 1082| v1082_1(void) = NoOp : #-----| Goto -> Block 4 -# 1078| Block 4 -# 1078| v1078_41(void) = NoOp : -# 1078| r1078_42(glval) = VariableAddress[(__begin)] : -# 1078| r1078_43(glval) = FunctionAddress[operator++] : -# 1078| r1078_44(iterator &) = Call[operator++] : func:r1078_43, this:r1078_42 -# 1078| m1078_45(unknown) = ^CallSideEffect : ~m1078_38 -# 1078| m1078_46(unknown) = Chi : total:m1078_38, partial:m1078_45 -# 1078| v1078_47(void) = ^IndirectReadSideEffect[-1] : &:r1078_42, m1078_23 -# 1078| m1078_48(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1078_42 -# 1078| m1078_49(iterator) = Chi : total:m1078_23, partial:m1078_48 -# 1078| r1078_50(glval) = CopyValue : r1078_44 +# 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 #-----| Goto (back edge) -> Block 1 -# 1084| Block 5 -# 1084| r1084_1(glval &>) = VariableAddress[(__range)] : -# 1084| r1084_2(glval &>) = VariableAddress[v] : -# 1084| r1084_3(vector &) = Load[v] : &:r1084_2, m1077_6 -# 1084| r1084_4(glval>) = CopyValue : r1084_3 -# 1084| r1084_5(vector &) = CopyValue : r1084_4 -# 1084| m1084_6(vector &) = Store[(__range)] : &:r1084_1, r1084_5 -# 1084| r1084_7(glval) = VariableAddress[(__begin)] : -# 1084| r1084_8(glval &>) = VariableAddress[(__range)] : -# 1084| r1084_9(vector &) = Load[(__range)] : &:r1084_8, m1084_6 -#-----| r0_9(glval>) = CopyValue : r1084_9 -# 1084| r1084_10(glval) = FunctionAddress[begin] : -# 1084| r1084_11(iterator) = Call[begin] : func:r1084_10, this:r0_9 -# 1084| m1084_12(unknown) = ^CallSideEffect : ~m1078_31 -# 1084| m1084_13(unknown) = Chi : total:m1078_31, partial:m1084_12 -#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m1077_8 -# 1084| m1084_14(iterator) = Store[(__begin)] : &:r1084_7, r1084_11 -# 1084| r1084_15(glval) = VariableAddress[(__end)] : -# 1084| r1084_16(glval &>) = VariableAddress[(__range)] : -# 1084| r1084_17(vector &) = Load[(__range)] : &:r1084_16, m1084_6 -#-----| r0_11(glval>) = CopyValue : r1084_17 -# 1084| r1084_18(glval) = FunctionAddress[end] : -# 1084| r1084_19(iterator) = Call[end] : func:r1084_18, this:r0_11 -# 1084| m1084_20(unknown) = ^CallSideEffect : ~m1084_13 -# 1084| m1084_21(unknown) = Chi : total:m1084_13, partial:m1084_20 -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1077_8 -# 1084| m1084_22(iterator) = Store[(__end)] : &:r1084_15, r1084_19 +# 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 #-----| Goto -> Block 6 -# 1084| Block 6 -# 1084| m1084_23(iterator) = Phi : from 5:m1084_14, from 7:m1084_40 -# 1084| m1084_24(unknown) = Phi : from 5:~m1084_21, from 7:~m1084_37 -# 1084| r1084_25(glval) = VariableAddress[(__begin)] : -#-----| r0_13(glval) = Convert : r1084_25 -# 1084| r1084_26(glval) = FunctionAddress[operator!=] : -# 1084| r1084_27(glval) = VariableAddress[(__end)] : -# 1084| r1084_28(iterator) = Load[(__end)] : &:r1084_27, m1084_22 -# 1084| r1084_29(bool) = Call[operator!=] : func:r1084_26, this:r0_13, 0:r1084_28 -# 1084| m1084_30(unknown) = ^CallSideEffect : ~m1084_24 -# 1084| m1084_31(unknown) = Chi : total:m1084_24, partial:m1084_30 -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_13, m1084_23 -# 1084| v1084_32(void) = ConditionalBranch : r1084_29 +# 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 #-----| False -> Block 10 #-----| True -> Block 8 -# 1084| Block 7 -# 1084| r1084_33(glval) = VariableAddress[(__begin)] : -# 1084| r1084_34(glval) = FunctionAddress[operator++] : -# 1084| r1084_35(iterator &) = Call[operator++] : func:r1084_34, this:r1084_33 -# 1084| m1084_36(unknown) = ^CallSideEffect : ~m1084_47 -# 1084| m1084_37(unknown) = Chi : total:m1084_47, partial:m1084_36 -# 1084| v1084_38(void) = ^IndirectReadSideEffect[-1] : &:r1084_33, m1084_23 -# 1084| m1084_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1084_33 -# 1084| m1084_40(iterator) = Chi : total:m1084_23, partial:m1084_39 -# 1084| r1084_41(glval) = CopyValue : r1084_35 +# 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 #-----| Goto (back edge) -> Block 6 -# 1084| Block 8 -# 1084| r1084_42(glval) = VariableAddress[e] : -# 1084| r1084_43(glval) = VariableAddress[(__begin)] : -#-----| r0_15(glval) = Convert : r1084_43 -# 1084| r1084_44(glval) = FunctionAddress[operator*] : -# 1084| r1084_45(int &) = Call[operator*] : func:r1084_44, this:r0_15 -# 1084| m1084_46(unknown) = ^CallSideEffect : ~m1084_31 -# 1084| m1084_47(unknown) = Chi : total:m1084_31, partial:m1084_46 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m1084_23 -# 1084| r1084_48(glval) = CopyValue : r1084_45 -# 1084| r1084_49(glval) = Convert : r1084_48 -# 1084| r1084_50(int &) = CopyValue : r1084_49 -# 1084| m1084_51(int &) = Store[e] : &:r1084_42, r1084_50 -# 1085| r1085_1(glval) = VariableAddress[e] : -# 1085| r1085_2(int &) = Load[e] : &:r1085_1, m1084_51 -# 1085| r1085_3(int) = Load[?] : &:r1085_2, ~m1084_47 -# 1085| r1085_4(int) = Constant[5] : -# 1085| r1085_5(bool) = CompareLT : r1085_3, r1085_4 -# 1085| v1085_6(void) = ConditionalBranch : r1085_5 +# 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 #-----| False -> Block 7 #-----| True -> Block 9 -# 1086| Block 9 -# 1086| v1086_1(void) = NoOp : +# 1088| Block 9 +# 1088| v1088_1(void) = NoOp : #-----| Goto -> Block 10 -# 1088| Block 10 -# 1088| m1088_1(unknown) = Phi : from 6:~m1084_31, from 9:~m1084_47 -# 1088| v1088_2(void) = NoOp : -# 1089| v1089_1(void) = NoOp : -# 1077| v1077_9(void) = ReturnIndirection[v] : &:r1077_7, m1077_8 -# 1077| v1077_10(void) = ReturnVoid : -# 1077| v1077_11(void) = AliasedUse : ~m1088_1 -# 1077| v1077_12(void) = ExitFunction : - -# 1108| int AsmStmt(int) -# 1108| Block 0 -# 1108| v1108_1(void) = EnterFunction : -# 1108| m1108_2(unknown) = AliasedDefinition : -# 1108| m1108_3(unknown) = InitializeNonLocal : -# 1108| m1108_4(unknown) = Chi : total:m1108_2, partial:m1108_3 -# 1108| r1108_5(glval) = VariableAddress[x] : -# 1108| m1108_6(int) = InitializeParameter[x] : &:r1108_5 -# 1109| m1109_1(unknown) = InlineAsm : ~m1108_4 -# 1109| m1109_2(unknown) = Chi : total:m1108_4, partial:m1109_1 -# 1110| r1110_1(glval) = VariableAddress[#return] : -# 1110| r1110_2(glval) = VariableAddress[x] : -# 1110| r1110_3(int) = Load[x] : &:r1110_2, m1108_6 -# 1110| m1110_4(int) = Store[#return] : &:r1110_1, r1110_3 -# 1108| r1108_7(glval) = VariableAddress[#return] : -# 1108| v1108_8(void) = ReturnValue : &:r1108_7, m1110_4 -# 1108| v1108_9(void) = AliasedUse : ~m1109_2 -# 1108| v1108_10(void) = ExitFunction : - -# 1113| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1113| Block 0 -# 1113| v1113_1(void) = EnterFunction : -# 1113| m1113_2(unknown) = AliasedDefinition : -# 1113| m1113_3(unknown) = InitializeNonLocal : -# 1113| m1113_4(unknown) = Chi : total:m1113_2, partial:m1113_3 -# 1113| r1113_5(glval) = VariableAddress[a] : -# 1113| m1113_6(unsigned int &) = InitializeParameter[a] : &:r1113_5 -# 1113| r1113_7(unsigned int &) = Load[a] : &:r1113_5, m1113_6 -# 1113| m1113_8(unknown) = InitializeIndirection[a] : &:r1113_7 -# 1113| r1113_9(glval) = VariableAddress[b] : -# 1113| m1113_10(unsigned int) = InitializeParameter[b] : &:r1113_9 -# 1113| r1113_11(glval) = VariableAddress[c] : -# 1113| m1113_12(unsigned int &) = InitializeParameter[c] : &:r1113_11 -# 1113| r1113_13(unsigned int &) = Load[c] : &:r1113_11, m1113_12 -# 1113| m1113_14(unknown) = InitializeIndirection[c] : &:r1113_13 -# 1113| r1113_15(glval) = VariableAddress[d] : -# 1113| m1113_16(unsigned int) = InitializeParameter[d] : &:r1113_15 -# 1118| r1118_1(glval) = VariableAddress[a] : -# 1118| r1118_2(unsigned int &) = Load[a] : &:r1118_1, m1113_6 -# 1118| r1118_3(glval) = CopyValue : r1118_2 -# 1118| r1118_4(glval) = VariableAddress[b] : -# 1118| r1118_5(glval) = VariableAddress[c] : -# 1118| r1118_6(unsigned int &) = Load[c] : &:r1118_5, m1113_12 -# 1118| r1118_7(unsigned int) = Load[?] : &:r1118_6, ~m1113_14 -# 1118| r1118_8(glval) = VariableAddress[d] : -# 1118| r1118_9(unsigned int) = Load[d] : &:r1118_8, m1113_16 -# 1115| m1115_1(unknown) = InlineAsm : ~m1113_4, 0:r1118_3, 1:r1118_4, 2:r1118_7, 3:r1118_9 -# 1115| m1115_2(unknown) = Chi : total:m1113_4, partial:m1115_1 -# 1120| v1120_1(void) = NoOp : -# 1113| v1113_17(void) = ReturnIndirection[a] : &:r1113_7, m1113_8 -# 1113| v1113_18(void) = ReturnIndirection[c] : &:r1113_13, m1113_14 -# 1113| v1113_19(void) = ReturnVoid : -# 1113| v1113_20(void) = AliasedUse : ~m1115_2 -# 1113| v1113_21(void) = ExitFunction : - -# 1122| void ExternDeclarations() -# 1122| Block 0 -# 1122| v1122_1(void) = EnterFunction : -# 1122| m1122_2(unknown) = AliasedDefinition : -# 1122| m1122_3(unknown) = InitializeNonLocal : -# 1122| m1122_4(unknown) = Chi : total:m1122_2, partial:m1122_3 -# 1125| r1125_1(glval) = VariableAddress[x] : -# 1125| m1125_2(int) = Uninitialized[x] : &:r1125_1 -# 1126| r1126_1(glval) = VariableAddress[y] : -# 1126| m1126_2(int) = Uninitialized[y] : &:r1126_1 -# 1127| r1127_1(glval) = VariableAddress[h] : -# 1127| m1127_2(int) = Uninitialized[h] : &:r1127_1 -# 1129| v1129_1(void) = NoOp : -# 1122| v1122_5(void) = ReturnVoid : -# 1122| v1122_6(void) = AliasedUse : m1122_3 -# 1122| v1122_7(void) = ExitFunction : - -# 1137| void ExternDeclarationsInMacro() -# 1137| Block 0 -# 1137| v1137_1(void) = EnterFunction : -# 1137| m1137_2(unknown) = AliasedDefinition : -# 1137| m1137_3(unknown) = InitializeNonLocal : -# 1137| m1137_4(unknown) = Chi : total:m1137_2, partial:m1137_3 -# 1139| r1139_1(glval) = VariableAddress[i] : -# 1139| r1139_2(int) = Constant[0] : -# 1139| m1139_3(int) = Store[i] : &:r1139_1, r1139_2 +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 #-----| Goto -> Block 1 -# 1139| Block 1 -# 1139| m1139_4(int) = Phi : from 0:m1139_3, from 2:m1139_14 -# 1139| r1139_5(glval) = VariableAddress[i] : -# 1139| r1139_6(int) = Load[i] : &:r1139_5, m1139_4 -# 1139| r1139_7(int) = Constant[10] : -# 1139| r1139_8(bool) = CompareLT : r1139_6, r1139_7 -# 1139| v1139_9(void) = ConditionalBranch : r1139_8 +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1139| Block 2 -# 1139| r1139_10(glval) = VariableAddress[i] : -# 1139| r1139_11(int) = Load[i] : &:r1139_10, m1139_4 -# 1139| r1139_12(int) = Constant[1] : -# 1139| r1139_13(int) = Add : r1139_11, r1139_12 -# 1139| m1139_14(int) = Store[i] : &:r1139_10, r1139_13 +# 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 #-----| Goto (back edge) -> Block 1 -# 1139| Block 3 -# 1139| v1139_15(void) = NoOp : -# 1140| v1140_1(void) = NoOp : -# 1137| v1137_5(void) = ReturnVoid : -# 1137| v1137_6(void) = AliasedUse : m1137_3 -# 1137| v1137_7(void) = ExitFunction : - -# 1142| void TryCatchNoCatchAny(bool) -# 1142| Block 0 -# 1142| v1142_1(void) = EnterFunction : -# 1142| m1142_2(unknown) = AliasedDefinition : -# 1142| m1142_3(unknown) = InitializeNonLocal : -# 1142| m1142_4(unknown) = Chi : total:m1142_2, partial:m1142_3 -# 1142| r1142_5(glval) = VariableAddress[b] : -# 1142| m1142_6(bool) = InitializeParameter[b] : &:r1142_5 -# 1144| r1144_1(glval) = VariableAddress[x] : -# 1144| r1144_2(int) = Constant[5] : -# 1144| m1144_3(int) = Store[x] : &:r1144_1, r1144_2 -# 1145| r1145_1(glval) = VariableAddress[b] : -# 1145| r1145_2(bool) = Load[b] : &:r1145_1, m1142_6 -# 1145| v1145_3(void) = ConditionalBranch : r1145_2 +# 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 : + +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1142| Block 1 -# 1142| m1142_7(unknown) = Phi : from 2:~m1142_10, from 10:~m1142_4 -# 1142| v1142_8(void) = AliasedUse : ~m1142_7 -# 1142| v1142_9(void) = ExitFunction : +# 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 : -# 1142| Block 2 -# 1142| m1142_10(unknown) = Phi : from 7:~m1154_8, from 8:~m1142_4 -# 1142| v1142_11(void) = Unwind : +# 1144| Block 2 +# 1144| m1144_10(unknown) = Phi : from 7:~m1156_8, from 8:~m1144_4 +# 1144| v1144_11(void) = Unwind : #-----| Goto -> Block 1 -# 1146| Block 3 -# 1146| r1146_1(glval) = VariableAddress[#throw1146:7] : -# 1146| r1146_2(glval) = StringConstant["string literal"] : -# 1146| r1146_3(char *) = Convert : r1146_2 -# 1146| m1146_4(char *) = Store[#throw1146:7] : &:r1146_1, r1146_3 -# 1146| v1146_5(void) = ThrowValue : &:r1146_1, m1146_4 +# 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 #-----| Exception -> Block 6 -# 1148| Block 4 -# 1148| r1148_1(glval) = VariableAddress[x] : -# 1148| r1148_2(int) = Load[x] : &:r1148_1, m1144_3 -# 1148| r1148_3(int) = Constant[2] : -# 1148| r1148_4(bool) = CompareLT : r1148_2, r1148_3 -# 1148| v1148_5(void) = ConditionalBranch : r1148_4 +# 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 #-----| False -> Block 5 #-----| True -> Block 11 -# 1151| Block 5 -# 1151| r1151_1(int) = Constant[7] : -# 1151| r1151_2(glval) = VariableAddress[x] : -# 1151| m1151_3(int) = Store[x] : &:r1151_2, r1151_1 +# 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 #-----| Goto -> Block 10 -# 1153| Block 6 -# 1153| v1153_1(void) = CatchByType[const char *] : +# 1155| Block 6 +# 1155| v1155_1(void) = CatchByType[const char *] : #-----| Exception -> Block 8 #-----| Goto -> Block 7 -# 1153| Block 7 -# 1153| r1153_2(glval) = VariableAddress[s] : -# 1153| m1153_3(char *) = InitializeParameter[s] : &:r1153_2 -# 1153| r1153_4(char *) = Load[s] : &:r1153_2, m1153_3 -# 1153| m1153_5(unknown) = InitializeIndirection[s] : &:r1153_4 -# 1154| r1154_1(glval) = VariableAddress[#throw1154:5] : -# 1154| m1154_2(String) = Uninitialized[#throw1154:5] : &:r1154_1 -# 1154| r1154_3(glval) = FunctionAddress[String] : -# 1154| r1154_4(glval) = VariableAddress[s] : -# 1154| r1154_5(char *) = Load[s] : &:r1154_4, m1153_3 -# 1154| v1154_6(void) = Call[String] : func:r1154_3, this:r1154_1, 0:r1154_5 -# 1154| m1154_7(unknown) = ^CallSideEffect : ~m1142_4 -# 1154| m1154_8(unknown) = Chi : total:m1142_4, partial:m1154_7 -# 1154| v1154_9(void) = ^BufferReadSideEffect[0] : &:r1154_5, ~m1153_5 -# 1154| m1154_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1154_1 -# 1154| m1154_11(String) = Chi : total:m1154_2, partial:m1154_10 -# 1154| v1154_12(void) = ThrowValue : &:r1154_1, m1154_11 +# 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 #-----| Exception -> Block 2 -# 1156| Block 8 -# 1156| v1156_1(void) = CatchByType[const String &] : +# 1158| Block 8 +# 1158| v1158_1(void) = CatchByType[const String &] : #-----| Exception -> Block 2 #-----| Goto -> Block 9 -# 1156| Block 9 -# 1156| r1156_2(glval) = VariableAddress[e] : -# 1156| m1156_3(String &) = InitializeParameter[e] : &:r1156_2 -# 1156| r1156_4(String &) = Load[e] : &:r1156_2, m1156_3 -# 1156| m1156_5(unknown) = InitializeIndirection[e] : &:r1156_4 -# 1156| v1156_6(void) = NoOp : +# 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 : #-----| Goto -> Block 10 -# 1158| Block 10 -# 1158| v1158_1(void) = NoOp : -# 1142| v1142_12(void) = ReturnVoid : +# 1160| Block 10 +# 1160| v1160_1(void) = NoOp : +# 1144| v1144_12(void) = ReturnVoid : #-----| Goto -> Block 1 -# 1142| Block 11 -# 1142| v1142_13(void) = Unreached : - -# 1162| void VectorTypes(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[i] : -# 1162| m1162_6(int) = InitializeParameter[i] : &:r1162_5 -# 1163| r1163_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1163| m1163_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1163_1 -# 1163| r1163_3(int) = Constant[0] : -# 1163| r1163_4(glval) = PointerAdd[4] : r1163_1, r1163_3 -# 1163| r1163_5(int) = Constant[0] : -# 1163| m1163_6(int) = Store[?] : &:r1163_4, r1163_5 -# 1163| m1163_7(__attribute((vector_size(16UL))) int) = Chi : total:m1163_2, partial:m1163_6 -# 1163| r1163_8(int) = Constant[1] : -# 1163| r1163_9(glval) = PointerAdd[4] : r1163_1, r1163_8 -# 1163| r1163_10(int) = Constant[1] : -# 1163| m1163_11(int) = Store[?] : &:r1163_9, r1163_10 -# 1163| m1163_12(__attribute((vector_size(16UL))) int) = Chi : total:m1163_7, partial:m1163_11 -# 1163| r1163_13(int) = Constant[2] : -# 1163| r1163_14(glval) = PointerAdd[4] : r1163_1, r1163_13 -# 1163| r1163_15(int) = Constant[2] : -# 1163| m1163_16(int) = Store[?] : &:r1163_14, r1163_15 -# 1163| m1163_17(__attribute((vector_size(16UL))) int) = Chi : total:m1163_12, partial:m1163_16 -# 1163| r1163_18(int) = Constant[3] : -# 1163| r1163_19(glval) = PointerAdd[4] : r1163_1, r1163_18 -# 1163| r1163_20(int) = Constant[3] : -# 1163| m1163_21(int) = Store[?] : &:r1163_19, r1163_20 -# 1163| m1163_22(__attribute((vector_size(16UL))) int) = Chi : total:m1163_17, partial:m1163_21 -# 1164| r1164_1(glval) = VariableAddress[x] : -# 1164| r1164_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1164| r1164_3(glval) = VariableAddress[i] : -# 1164| r1164_4(int) = Load[i] : &:r1164_3, m1162_6 -# 1164| r1164_5(glval) = PointerAdd[4] : r1164_2, r1164_4 -# 1164| r1164_6(int) = Load[?] : &:r1164_5, ~m1163_22 -# 1164| m1164_7(int) = Store[x] : &:r1164_1, r1164_6 -# 1165| r1165_1(glval) = VariableAddress[x] : -# 1165| r1165_2(int) = Load[x] : &:r1165_1, m1164_7 -# 1165| r1165_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1165| r1165_4(glval) = VariableAddress[i] : -# 1165| r1165_5(int) = Load[i] : &:r1165_4, m1162_6 -# 1165| r1165_6(glval) = PointerAdd[4] : r1165_3, r1165_5 -# 1165| m1165_7(int) = Store[?] : &:r1165_6, r1165_2 -# 1165| m1165_8(__attribute((vector_size(16UL))) int) = Chi : total:m1163_22, partial:m1165_7 -# 1166| r1166_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 1144| Block 11 +# 1144| v1144_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(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1166_2, m1165_8 -# 1166| r1166_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1166| r1166_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1166_4, m1165_8 -# 1166| r1166_6(int) = Constant[3] : -# 1166| r1166_7(int) = Constant[2] : -# 1166| r1166_8(int) = Constant[1] : -# 1166| r1166_9(int) = Constant[0] : -# 1166| r1166_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1166_3, 1:r1166_5, 2:r1166_6, 3:r1166_7, 4:r1166_8, 5:r1166_9 -# 1166| m1166_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1166_1, r1166_10 -# 1167| r1167_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| r1167_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1167_1, m1165_8 -# 1167| r1167_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1167| r1167_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1167_3, m1166_11 -# 1167| r1167_5(__attribute((vector_size(16UL))) int) = Add : r1167_2, r1167_4 -# 1167| r1167_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| m1167_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1167_6, r1167_5 -# 1168| v1168_1(void) = NoOp : -# 1162| v1162_7(void) = ReturnVoid : -# 1162| v1162_8(void) = AliasedUse : m1162_3 -# 1162| v1162_9(void) = ExitFunction : - -# 1172| int ModeledCallTarget(int) -# 1172| Block 0 -# 1172| v1172_1(void) = EnterFunction : -# 1172| m1172_2(unknown) = AliasedDefinition : -# 1172| m1172_3(unknown) = InitializeNonLocal : -# 1172| m1172_4(unknown) = Chi : total:m1172_2, partial:m1172_3 -# 1172| r1172_5(glval) = VariableAddress[x] : -# 1172| m1172_6(int) = InitializeParameter[x] : &:r1172_5 -# 1173| r1173_1(glval) = VariableAddress[y] : -# 1173| m1173_2(int) = Uninitialized[y] : &:r1173_1 -# 1174| r1174_1(glval) = FunctionAddress[memcpy] : -# 1174| r1174_2(glval) = VariableAddress[y] : -# 1174| r1174_3(int *) = CopyValue : r1174_2 -# 1174| r1174_4(void *) = Convert : r1174_3 +# 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 : + +# 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| r1174_6(int *) = CopyValue : r1174_5 -# 1174| r1174_7(void *) = Convert : r1174_6 -# 1174| r1174_8(int) = Constant[4] : -# 1174| r1174_9(void *) = Call[memcpy] : func:r1174_1, 0:r1174_4, 1:r1174_7, 2:r1174_8 -# 1174| v1174_10(void) = ^SizedBufferReadSideEffect[1] : &:r1174_7, r1174_8, ~m1172_6 -# 1174| m1174_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1174_4, r1174_8 -# 1174| m1174_12(int) = Chi : total:m1173_2, partial:m1174_11 -# 1175| r1175_1(glval) = VariableAddress[#return] : -# 1175| r1175_2(glval) = VariableAddress[y] : -# 1175| r1175_3(int) = Load[y] : &:r1175_2, m1174_12 -# 1175| m1175_4(int) = Store[#return] : &:r1175_1, r1175_3 -# 1172| r1172_7(glval) = VariableAddress[#return] : -# 1172| v1172_8(void) = ReturnValue : &:r1172_7, m1175_4 -# 1172| v1172_9(void) = AliasedUse : m1172_3 -# 1172| v1172_10(void) = ExitFunction : - -# 1178| String ReturnObjectImpl() -# 1178| Block 0 -# 1178| v1178_1(void) = EnterFunction : -# 1178| m1178_2(unknown) = AliasedDefinition : -# 1178| m1178_3(unknown) = InitializeNonLocal : -# 1178| m1178_4(unknown) = Chi : total:m1178_2, partial:m1178_3 -# 1179| r1179_1(glval) = VariableAddress[#return] : -# 1179| m1179_2(String) = Uninitialized[#return] : &:r1179_1 -# 1179| r1179_3(glval) = FunctionAddress[String] : -# 1179| r1179_4(glval) = StringConstant["foo"] : -# 1179| r1179_5(char *) = Convert : r1179_4 -# 1179| v1179_6(void) = Call[String] : func:r1179_3, this:r1179_1, 0:r1179_5 -# 1179| m1179_7(unknown) = ^CallSideEffect : ~m1178_4 -# 1179| m1179_8(unknown) = Chi : total:m1178_4, partial:m1179_7 -# 1179| v1179_9(void) = ^BufferReadSideEffect[0] : &:r1179_5, ~m1178_3 -# 1179| m1179_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1179_1 -# 1179| m1179_11(String) = Chi : total:m1179_2, partial:m1179_10 -# 1178| r1178_5(glval) = VariableAddress[#return] : -# 1178| v1178_6(void) = ReturnValue : &:r1178_5, m1179_11 -# 1178| v1178_7(void) = AliasedUse : ~m1179_8 -# 1178| v1178_8(void) = ExitFunction : - -# 1182| void switch1Case(int) -# 1182| Block 0 -# 1182| v1182_1(void) = EnterFunction : -# 1182| m1182_2(unknown) = AliasedDefinition : -# 1182| m1182_3(unknown) = InitializeNonLocal : -# 1182| m1182_4(unknown) = Chi : total:m1182_2, partial:m1182_3 -# 1182| r1182_5(glval) = VariableAddress[x] : -# 1182| m1182_6(int) = InitializeParameter[x] : &:r1182_5 -# 1183| r1183_1(glval) = VariableAddress[y] : -# 1183| r1183_2(int) = Constant[0] : -# 1183| m1183_3(int) = Store[y] : &:r1183_1, r1183_2 -# 1184| r1184_1(glval) = VariableAddress[x] : -# 1184| r1184_2(int) = Load[x] : &:r1184_1, m1182_6 -# 1184| v1184_3(void) = Switch : r1184_2 +# 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 : + +# 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 : + +# 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 #-----| Case[1] -> Block 1 #-----| Default -> Block 2 -# 1185| Block 1 -# 1185| v1185_1(void) = NoOp : -# 1186| r1186_1(int) = Constant[2] : -# 1186| r1186_2(glval) = VariableAddress[y] : -# 1186| m1186_3(int) = Store[y] : &:r1186_2, r1186_1 +# 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 #-----| Goto -> Block 2 -# 1188| Block 2 -# 1188| m1188_1(int) = Phi : from 0:m1183_3, from 1:m1186_3 -# 1188| r1188_2(glval) = VariableAddress[z] : -# 1188| r1188_3(glval) = VariableAddress[y] : -# 1188| r1188_4(int) = Load[y] : &:r1188_3, m1188_1 -# 1188| m1188_5(int) = Store[z] : &:r1188_2, r1188_4 -# 1189| v1189_1(void) = NoOp : -# 1182| v1182_7(void) = ReturnVoid : -# 1182| v1182_8(void) = AliasedUse : m1182_3 -# 1182| v1182_9(void) = ExitFunction : - -# 1191| void switch2Case_fallthrough(int) -# 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[x] : -# 1191| m1191_6(int) = InitializeParameter[x] : &:r1191_5 -# 1192| r1192_1(glval) = VariableAddress[y] : -# 1192| r1192_2(int) = Constant[0] : -# 1192| m1192_3(int) = Store[y] : &:r1192_1, r1192_2 -# 1193| r1193_1(glval) = VariableAddress[x] : -# 1193| r1193_2(int) = Load[x] : &:r1193_1, m1191_6 -# 1193| v1193_3(void) = Switch : r1193_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 : + +# 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 #-----| Case[1] -> Block 1 #-----| Case[2] -> Block 2 #-----| Default -> Block 3 -# 1194| Block 1 -# 1194| v1194_1(void) = NoOp : -# 1195| r1195_1(int) = Constant[2] : -# 1195| r1195_2(glval) = VariableAddress[y] : -# 1195| m1195_3(int) = Store[y] : &:r1195_2, r1195_1 -#-----| Goto -> Block 2 - -# 1196| Block 2 +# 1196| Block 1 # 1196| v1196_1(void) = NoOp : -# 1197| r1197_1(int) = Constant[3] : +# 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 -# 1199| Block 3 -# 1199| m1199_1(int) = Phi : from 0:m1192_3, from 2:m1197_3 -# 1199| r1199_2(glval) = VariableAddress[z] : -# 1199| r1199_3(glval) = VariableAddress[y] : -# 1199| r1199_4(int) = Load[y] : &:r1199_3, m1199_1 -# 1199| m1199_5(int) = Store[z] : &:r1199_2, r1199_4 -# 1200| v1200_1(void) = NoOp : -# 1191| v1191_7(void) = ReturnVoid : -# 1191| v1191_8(void) = AliasedUse : m1191_3 -# 1191| v1191_9(void) = ExitFunction : - -# 1202| void switch2Case(int) -# 1202| Block 0 -# 1202| v1202_1(void) = EnterFunction : -# 1202| m1202_2(unknown) = AliasedDefinition : -# 1202| m1202_3(unknown) = InitializeNonLocal : -# 1202| m1202_4(unknown) = Chi : total:m1202_2, partial:m1202_3 -# 1202| r1202_5(glval) = VariableAddress[x] : -# 1202| m1202_6(int) = InitializeParameter[x] : &:r1202_5 -# 1203| r1203_1(glval) = VariableAddress[y] : -# 1203| r1203_2(int) = Constant[0] : -# 1203| m1203_3(int) = Store[y] : &:r1203_1, r1203_2 -# 1204| r1204_1(glval) = VariableAddress[x] : -# 1204| r1204_2(int) = Load[x] : &:r1204_1, m1202_6 -# 1204| v1204_3(void) = Switch : r1204_2 +# 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 -# 1205| Block 1 -# 1205| v1205_1(void) = NoOp : -# 1206| r1206_1(int) = Constant[2] : -# 1206| r1206_2(glval) = VariableAddress[y] : -# 1206| m1206_3(int) = Store[y] : &:r1206_2, r1206_1 +# 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 -# 1208| Block 2 -# 1208| v1208_1(void) = NoOp : -# 1209| r1209_1(int) = Constant[3] : -# 1209| r1209_2(glval) = VariableAddress[y] : -# 1209| m1209_3(int) = Store[y] : &:r1209_2, r1209_1 +# 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 -# 1210| Block 3 -# 1210| m1210_1(int) = Phi : from 0:m1203_3, from 1:m1206_3, from 2:m1209_3 -# 1210| v1210_2(void) = NoOp : -# 1211| r1211_1(glval) = VariableAddress[z] : -# 1211| r1211_2(glval) = VariableAddress[y] : -# 1211| r1211_3(int) = Load[y] : &:r1211_2, m1210_1 -# 1211| m1211_4(int) = Store[z] : &:r1211_1, r1211_3 -# 1212| v1212_1(void) = NoOp : -# 1202| v1202_7(void) = ReturnVoid : -# 1202| v1202_8(void) = AliasedUse : m1202_3 -# 1202| v1202_9(void) = ExitFunction : - -# 1214| void switch2Case_default(int) -# 1214| Block 0 -# 1214| v1214_1(void) = EnterFunction : -# 1214| m1214_2(unknown) = AliasedDefinition : -# 1214| m1214_3(unknown) = InitializeNonLocal : -# 1214| m1214_4(unknown) = Chi : total:m1214_2, partial:m1214_3 -# 1214| r1214_5(glval) = VariableAddress[x] : -# 1214| m1214_6(int) = InitializeParameter[x] : &:r1214_5 -# 1215| r1215_1(glval) = VariableAddress[y] : -# 1215| r1215_2(int) = Constant[0] : -# 1215| m1215_3(int) = Store[y] : &:r1215_1, r1215_2 -# 1216| r1216_1(glval) = VariableAddress[x] : -# 1216| r1216_2(int) = Load[x] : &:r1216_1, m1214_6 -# 1216| v1216_3(void) = Switch : r1216_2 +# 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 -# 1217| Block 1 -# 1217| v1217_1(void) = NoOp : -# 1218| r1218_1(int) = Constant[2] : -# 1218| r1218_2(glval) = VariableAddress[y] : -# 1218| m1218_3(int) = Store[y] : &:r1218_2, r1218_1 +# 1219| Block 1 # 1219| v1219_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1221| Block 2 +# 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 : -# 1222| r1222_1(int) = Constant[3] : -# 1222| r1222_2(glval) = VariableAddress[y] : -# 1222| m1222_3(int) = Store[y] : &:r1222_2, r1222_1 -# 1223| v1223_1(void) = NoOp : #-----| Goto -> Block 4 -# 1225| Block 3 +# 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 : -# 1226| r1226_1(int) = Constant[4] : -# 1226| r1226_2(glval) = VariableAddress[y] : -# 1226| m1226_3(int) = Store[y] : &:r1226_2, r1226_1 #-----| Goto -> Block 4 -# 1227| Block 4 -# 1227| m1227_1(int) = Phi : from 1:m1218_3, from 2:m1222_3, from 3:m1226_3 -# 1227| v1227_2(void) = NoOp : -# 1228| r1228_1(glval) = VariableAddress[z] : +# 1227| Block 3 +# 1227| v1227_1(void) = NoOp : +# 1228| r1228_1(int) = Constant[4] : # 1228| r1228_2(glval) = VariableAddress[y] : -# 1228| r1228_3(int) = Load[y] : &:r1228_2, m1227_1 -# 1228| m1228_4(int) = Store[z] : &:r1228_1, r1228_3 -# 1229| v1229_1(void) = NoOp : -# 1214| v1214_7(void) = ReturnVoid : -# 1214| v1214_8(void) = AliasedUse : m1214_3 -# 1214| v1214_9(void) = ExitFunction : - -# 1231| int staticLocalInit(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 -# 1234| r1234_1(glval) = VariableAddress[c#init] : -# 1234| r1234_2(bool) = Load[c#init] : &:r1234_1, ~m1231_3 -# 1234| v1234_3(void) = ConditionalBranch : r1234_2 +# 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 -# 1234| Block 1 -# 1234| r1234_4(glval) = VariableAddress[c] : -# 1234| r1234_5(glval) = VariableAddress[x] : -# 1234| r1234_6(int) = Load[x] : &:r1234_5, m1231_6 -# 1234| m1234_7(int) = Store[c] : &:r1234_4, r1234_6 -# 1234| m1234_8(unknown) = Chi : total:m1231_4, partial:m1234_7 -# 1234| r1234_9(bool) = Constant[1] : -# 1234| m1234_10(bool) = Store[c#init] : &:r1234_1, r1234_9 -# 1234| m1234_11(unknown) = Chi : total:m1234_8, partial:m1234_10 +# 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 -# 1237| Block 2 -# 1237| m1237_1(int) = Phi : from 0:~m1231_3, from 1:m1234_7 -# 1237| m1237_2(unknown) = Phi : from 0:~m1231_4, from 1:~m1234_11 -# 1237| r1237_3(glval) = VariableAddress[#return] : -# 1237| r1237_4(glval) = VariableAddress[a] : -# 1237| r1237_5(int) = Load[a] : &:r1237_4, ~m1237_2 -# 1237| r1237_6(glval) = VariableAddress[b] : -# 1237| r1237_7(int) = Load[b] : &:r1237_6, ~m1237_2 -# 1237| r1237_8(int) = Add : r1237_5, r1237_7 -# 1237| r1237_9(glval) = VariableAddress[c] : -# 1237| r1237_10(int) = Load[c] : &:r1237_9, m1237_1 -# 1237| r1237_11(int) = Add : r1237_8, r1237_10 -# 1237| r1237_12(glval) = VariableAddress[d] : -# 1237| r1237_13(int) = Load[d] : &:r1237_12, ~m1237_2 -# 1237| r1237_14(int) = Add : r1237_11, r1237_13 -# 1237| m1237_15(int) = Store[#return] : &:r1237_3, r1237_14 -# 1231| r1231_7(glval) = VariableAddress[#return] : -# 1231| v1231_8(void) = ReturnValue : &:r1231_7, m1237_15 -# 1231| v1231_9(void) = AliasedUse : ~m1237_2 -# 1231| v1231_10(void) = ExitFunction : - -# 1232| int a -# 1232| Block 0 -# 1232| v1232_1(void) = EnterFunction : -# 1232| m1232_2(unknown) = AliasedDefinition : -# 1232| r1232_3(glval) = VariableAddress[a] : -# 1232| r1232_4(int) = Constant[0] : -# 1232| m1232_5(int) = Store[a] : &:r1232_3, r1232_4 -# 1232| m1232_6(unknown) = Chi : total:m1232_2, partial:m1232_5 -# 1232| v1232_7(void) = ReturnVoid : -# 1232| v1232_8(void) = AliasedUse : ~m1232_6 -# 1232| v1232_9(void) = ExitFunction : - -# 1233| int b -# 1233| Block 0 -# 1233| v1233_1(void) = EnterFunction : -# 1233| m1233_2(unknown) = AliasedDefinition : -# 1233| r1233_3(glval) = VariableAddress[b] : -# 1233| r1233_4(int) = Constant[4] : -# 1233| m1233_5(int) = Store[b] : &:r1233_3, r1233_4 -# 1233| m1233_6(unknown) = Chi : total:m1233_2, partial:m1233_5 -# 1233| v1233_7(void) = ReturnVoid : -# 1233| v1233_8(void) = AliasedUse : ~m1233_6 -# 1233| v1233_9(void) = ExitFunction : - -# 1240| void staticLocalWithConstructor(char const*) -# 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[dynamic] : -# 1240| m1240_6(char *) = InitializeParameter[dynamic] : &:r1240_5 -# 1240| r1240_7(char *) = Load[dynamic] : &:r1240_5, m1240_6 -# 1240| m1240_8(unknown) = InitializeIndirection[dynamic] : &:r1240_7 -# 1241| r1241_1(glval) = VariableAddress[a#init] : -# 1241| r1241_2(bool) = Load[a#init] : &:r1241_1, ~m1240_3 -# 1241| v1241_3(void) = ConditionalBranch : r1241_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 -# 1241| Block 1 -# 1241| r1241_4(glval) = VariableAddress[a] : +# 1243| Block 1 +# 1243| r1243_4(glval) = VariableAddress[a] : #-----| r0_1(glval) = FunctionAddress[String] : -#-----| v0_2(void) = Call[String] : func:r0_1, this:r1241_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m1240_4 -#-----| m0_4(unknown) = Chi : total:m1240_4, partial:m0_3 -#-----| m0_5(String) = ^IndirectMayWriteSideEffect[-1] : &:r1241_4 +#-----| 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 -# 1241| r1241_5(bool) = Constant[1] : -# 1241| m1241_6(bool) = Store[a#init] : &:r1241_1, r1241_5 -# 1241| m1241_7(unknown) = Chi : total:m0_6, partial:m1241_6 +# 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 #-----| Goto -> Block 2 -# 1242| Block 2 -# 1242| m1242_1(unknown) = Phi : from 0:~m1240_4, from 1:~m1241_7 -# 1242| r1242_2(glval) = VariableAddress[b#init] : -# 1242| r1242_3(bool) = Load[b#init] : &:r1242_2, ~m1242_1 -# 1242| v1242_4(void) = ConditionalBranch : r1242_3 +# 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 #-----| False -> Block 3 #-----| True -> Block 4 -# 1242| Block 3 -# 1242| r1242_5(glval) = VariableAddress[b] : -# 1242| r1242_6(glval) = FunctionAddress[String] : -# 1242| r1242_7(glval) = StringConstant["static"] : -# 1242| r1242_8(char *) = Convert : r1242_7 -# 1242| v1242_9(void) = Call[String] : func:r1242_6, this:r1242_5, 0:r1242_8 -# 1242| m1242_10(unknown) = ^CallSideEffect : ~m1242_1 -# 1242| m1242_11(unknown) = Chi : total:m1242_1, partial:m1242_10 -# 1242| v1242_12(void) = ^BufferReadSideEffect[0] : &:r1242_8, ~m1240_3 -# 1242| m1242_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1242_5 -# 1242| m1242_14(unknown) = Chi : total:m1242_11, partial:m1242_13 -# 1242| r1242_15(bool) = Constant[1] : -# 1242| m1242_16(bool) = Store[b#init] : &:r1242_2, r1242_15 -# 1242| m1242_17(unknown) = Chi : total:m1242_14, partial:m1242_16 +# 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 #-----| Goto -> Block 4 -# 1243| Block 4 -# 1243| m1243_1(unknown) = Phi : from 2:~m1242_1, from 3:~m1242_17 -# 1243| r1243_2(glval) = VariableAddress[c#init] : -# 1243| r1243_3(bool) = Load[c#init] : &:r1243_2, ~m1243_1 -# 1243| v1243_4(void) = ConditionalBranch : r1243_3 +# 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 #-----| False -> Block 5 #-----| True -> Block 6 -# 1243| Block 5 -# 1243| r1243_5(glval) = VariableAddress[c] : -# 1243| r1243_6(glval) = FunctionAddress[String] : -# 1243| r1243_7(glval) = VariableAddress[dynamic] : -# 1243| r1243_8(char *) = Load[dynamic] : &:r1243_7, m1240_6 -# 1243| v1243_9(void) = Call[String] : func:r1243_6, this:r1243_5, 0:r1243_8 -# 1243| m1243_10(unknown) = ^CallSideEffect : ~m1243_1 -# 1243| m1243_11(unknown) = Chi : total:m1243_1, partial:m1243_10 -# 1243| v1243_12(void) = ^BufferReadSideEffect[0] : &:r1243_8, ~m1240_8 -# 1243| m1243_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_5 -# 1243| m1243_14(unknown) = Chi : total:m1243_11, partial:m1243_13 -# 1243| r1243_15(bool) = Constant[1] : -# 1243| m1243_16(bool) = Store[c#init] : &:r1243_2, r1243_15 -# 1243| m1243_17(unknown) = Chi : total:m1243_14, partial:m1243_16 +# 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 #-----| Goto -> Block 6 -# 1244| Block 6 -# 1244| m1244_1(unknown) = Phi : from 4:~m1243_1, from 5:~m1243_17 -# 1244| v1244_2(void) = NoOp : -# 1240| v1240_9(void) = ReturnIndirection[dynamic] : &:r1240_7, m1240_8 -# 1240| v1240_10(void) = ReturnVoid : -# 1240| v1240_11(void) = AliasedUse : ~m1244_1 -# 1240| v1240_12(void) = ExitFunction : - -# 1251| void test_strings(char*, char*) -# 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[s1] : -# 1251| m1251_6(char *) = InitializeParameter[s1] : &:r1251_5 -# 1251| r1251_7(char *) = Load[s1] : &:r1251_5, m1251_6 -# 1251| m1251_8(unknown) = InitializeIndirection[s1] : &:r1251_7 -# 1251| r1251_9(glval) = VariableAddress[s2] : -# 1251| m1251_10(char *) = InitializeParameter[s2] : &:r1251_9 -# 1251| r1251_11(char *) = Load[s2] : &:r1251_9, m1251_10 -# 1251| m1251_12(unknown) = InitializeIndirection[s2] : &:r1251_11 -# 1252| r1252_1(glval) = VariableAddress[buffer] : -# 1252| m1252_2(char[1024]) = Uninitialized[buffer] : &:r1252_1 -# 1252| r1252_3(int) = Constant[0] : -# 1252| r1252_4(glval) = PointerAdd[1] : r1252_1, r1252_3 -# 1252| r1252_5(char) = Constant[0] : -# 1252| m1252_6(char) = Store[?] : &:r1252_4, r1252_5 -# 1252| m1252_7(char[1024]) = Chi : total:m1252_2, partial:m1252_6 -# 1252| r1252_8(int) = Constant[1] : -# 1252| r1252_9(glval) = PointerAdd[1] : r1252_1, r1252_8 -# 1252| r1252_10(unknown[1023]) = Constant[0] : -# 1252| m1252_11(unknown[1023]) = Store[?] : &:r1252_9, r1252_10 -# 1252| m1252_12(char[1024]) = Chi : total:m1252_7, partial:m1252_11 -# 1254| r1254_1(glval) = FunctionAddress[strcpy] : -# 1254| r1254_2(glval) = VariableAddress[buffer] : -# 1254| r1254_3(char *) = Convert : r1254_2 -# 1254| r1254_4(glval) = VariableAddress[s1] : -# 1254| r1254_5(char *) = Load[s1] : &:r1254_4, m1251_6 -# 1254| r1254_6(char *) = Convert : r1254_5 -# 1254| r1254_7(char *) = Call[strcpy] : func:r1254_1, 0:r1254_3, 1:r1254_6 -# 1254| v1254_8(void) = ^BufferReadSideEffect[1] : &:r1254_6, ~m1251_8 -# 1254| m1254_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1254_3 -# 1254| m1254_10(char[1024]) = Chi : total:m1252_12, partial:m1254_9 -# 1255| r1255_1(glval) = FunctionAddress[strcat] : -# 1255| r1255_2(glval) = VariableAddress[buffer] : -# 1255| r1255_3(char *) = Convert : r1255_2 -# 1255| r1255_4(glval) = VariableAddress[s2] : -# 1255| r1255_5(char *) = Load[s2] : &:r1255_4, m1251_10 -# 1255| r1255_6(char *) = Convert : r1255_5 -# 1255| r1255_7(char *) = Call[strcat] : func:r1255_1, 0:r1255_3, 1:r1255_6 -# 1255| v1255_8(void) = ^BufferReadSideEffect[0] : &:r1255_3, ~m1254_10 -# 1255| v1255_9(void) = ^BufferReadSideEffect[1] : &:r1255_6, ~m1251_12 -# 1255| m1255_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1255_3 -# 1255| m1255_11(char[1024]) = Chi : total:m1254_10, partial:m1255_10 -# 1256| v1256_1(void) = NoOp : -# 1251| v1251_13(void) = ReturnIndirection[s1] : &:r1251_7, m1251_8 -# 1251| v1251_14(void) = ReturnIndirection[s2] : &:r1251_11, m1251_12 -# 1251| v1251_15(void) = ReturnVoid : -# 1251| v1251_16(void) = AliasedUse : m1251_3 -# 1251| v1251_17(void) = ExitFunction : - -# 1261| void A::static_member(A*, int) -# 1261| Block 0 -# 1261| v1261_1(void) = EnterFunction : -# 1261| m1261_2(unknown) = AliasedDefinition : -# 1261| m1261_3(unknown) = InitializeNonLocal : -# 1261| m1261_4(unknown) = Chi : total:m1261_2, partial:m1261_3 -# 1261| r1261_5(glval) = VariableAddress[a] : -# 1261| m1261_6(A *) = InitializeParameter[a] : &:r1261_5 -# 1261| r1261_7(A *) = Load[a] : &:r1261_5, m1261_6 -# 1261| m1261_8(unknown) = InitializeIndirection[a] : &:r1261_7 -# 1261| r1261_9(glval) = VariableAddress[x] : -# 1261| m1261_10(int) = InitializeParameter[x] : &:r1261_9 -# 1262| r1262_1(glval) = VariableAddress[x] : -# 1262| r1262_2(int) = Load[x] : &:r1262_1, m1261_10 -# 1262| r1262_3(glval) = VariableAddress[a] : -# 1262| r1262_4(A *) = Load[a] : &:r1262_3, m1261_6 -# 1262| r1262_5(glval) = FieldAddress[member] : r1262_4 -# 1262| m1262_6(int) = Store[?] : &:r1262_5, r1262_2 -# 1262| m1262_7(unknown) = Chi : total:m1261_8, partial:m1262_6 -# 1263| v1263_1(void) = NoOp : -# 1261| v1261_11(void) = ReturnIndirection[a] : &:r1261_7, m1262_7 -# 1261| v1261_12(void) = ReturnVoid : -# 1261| v1261_13(void) = AliasedUse : m1261_3 -# 1261| v1261_14(void) = ExitFunction : - -# 1270| void test_static_member_functions(int, A*) -# 1270| Block 0 -# 1270| v1270_1(void) = EnterFunction : -# 1270| m1270_2(unknown) = AliasedDefinition : -# 1270| m1270_3(unknown) = InitializeNonLocal : -# 1270| m1270_4(unknown) = Chi : total:m1270_2, partial:m1270_3 -# 1270| r1270_5(glval) = VariableAddress[int_arg] : -# 1270| m1270_6(int) = InitializeParameter[int_arg] : &:r1270_5 -# 1270| r1270_7(glval) = VariableAddress[a_arg] : -# 1270| m1270_8(A *) = InitializeParameter[a_arg] : &:r1270_7 -# 1270| r1270_9(A *) = Load[a_arg] : &:r1270_7, m1270_8 -# 1270| m1270_10(unknown) = InitializeIndirection[a_arg] : &:r1270_9 -# 1271| r1271_1(glval) = VariableAddress[c] : -# 1271| m1271_2(C) = Uninitialized[c] : &:r1271_1 -# 1271| r1271_3(glval) = FunctionAddress[C] : -# 1271| v1271_4(void) = Call[C] : func:r1271_3, this:r1271_1 -# 1271| m1271_5(unknown) = ^CallSideEffect : ~m1270_4 -# 1271| m1271_6(unknown) = Chi : total:m1270_4, partial:m1271_5 -# 1271| m1271_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1271_1 -# 1271| m1271_8(C) = Chi : total:m1271_2, partial:m1271_7 -# 1272| r1272_1(glval) = VariableAddress[c] : -# 1272| r1272_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1272| r1272_3(int) = Constant[10] : -# 1272| r1272_4(int) = Call[StaticMemberFunction] : func:r1272_2, 0:r1272_3 -# 1272| m1272_5(unknown) = ^CallSideEffect : ~m1271_6 -# 1272| m1272_6(unknown) = Chi : total:m1271_6, partial:m1272_5 -# 1273| r1273_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1273| r1273_2(int) = Constant[10] : -# 1273| r1273_3(int) = Call[StaticMemberFunction] : func:r1273_1, 0:r1273_2 -# 1273| m1273_4(unknown) = ^CallSideEffect : ~m1272_6 -# 1273| m1273_5(unknown) = Chi : total:m1272_6, partial:m1273_4 -# 1275| r1275_1(glval) = VariableAddress[a] : -# 1275| m1275_2(A) = Uninitialized[a] : &:r1275_1 -# 1276| r1276_1(glval) = VariableAddress[a] : -# 1276| r1276_2(glval) = FunctionAddress[static_member] : -# 1276| r1276_3(glval) = VariableAddress[a] : -# 1276| r1276_4(A *) = CopyValue : r1276_3 -# 1276| r1276_5(glval) = VariableAddress[int_arg] : -# 1276| r1276_6(int) = Load[int_arg] : &:r1276_5, m1270_6 -# 1276| v1276_7(void) = Call[static_member] : func:r1276_2, 0:r1276_4, 1:r1276_6 -# 1276| m1276_8(unknown) = ^CallSideEffect : ~m1273_5 -# 1276| m1276_9(unknown) = Chi : total:m1273_5, partial:m1276_8 -# 1276| v1276_10(void) = ^BufferReadSideEffect[0] : &:r1276_4, ~m1275_2 -# 1276| m1276_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1276_4 -# 1276| m1276_12(A) = Chi : total:m1275_2, partial:m1276_11 -# 1277| r1277_1(glval) = FunctionAddress[static_member] : -# 1277| r1277_2(glval) = VariableAddress[a] : -# 1277| r1277_3(A *) = CopyValue : r1277_2 -# 1277| r1277_4(glval) = VariableAddress[int_arg] : -# 1277| r1277_5(int) = Load[int_arg] : &:r1277_4, m1270_6 -# 1277| v1277_6(void) = Call[static_member] : func:r1277_1, 0:r1277_3, 1:r1277_5 -# 1277| m1277_7(unknown) = ^CallSideEffect : ~m1276_9 -# 1277| m1277_8(unknown) = Chi : total:m1276_9, partial:m1277_7 -# 1277| v1277_9(void) = ^BufferReadSideEffect[0] : &:r1277_3, ~m1276_12 -# 1277| m1277_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1277_3 -# 1277| m1277_11(A) = Chi : total:m1276_12, partial:m1277_10 -# 1279| r1279_1(glval) = VariableAddress[a] : -# 1279| r1279_2(A *) = CopyValue : r1279_1 -# 1279| r1279_3(glval) = FunctionAddress[static_member] : -# 1279| r1279_4(glval) = VariableAddress[a_arg] : -# 1279| r1279_5(A *) = Load[a_arg] : &:r1279_4, m1270_8 -# 1279| r1279_6(glval) = VariableAddress[int_arg] : -# 1279| r1279_7(int) = Load[int_arg] : &:r1279_6, m1270_6 -# 1279| r1279_8(int) = Constant[2] : -# 1279| r1279_9(int) = Add : r1279_7, r1279_8 -# 1279| v1279_10(void) = Call[static_member] : func:r1279_3, 0:r1279_5, 1:r1279_9 -# 1279| m1279_11(unknown) = ^CallSideEffect : ~m1277_8 -# 1279| m1279_12(unknown) = Chi : total:m1277_8, partial:m1279_11 -# 1279| v1279_13(void) = ^BufferReadSideEffect[0] : &:r1279_5, ~m1270_10 -# 1279| m1279_14(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_5 -# 1279| m1279_15(unknown) = Chi : total:m1270_10, partial:m1279_14 -# 1280| r1280_1(glval) = VariableAddress[a_arg] : -# 1280| r1280_2(A *) = Load[a_arg] : &:r1280_1, m1270_8 -# 1280| r1280_3(glval) = CopyValue : r1280_2 -# 1280| r1280_4(glval) = FunctionAddress[static_member] : -# 1280| r1280_5(glval) = VariableAddress[a] : -# 1280| r1280_6(A *) = CopyValue : r1280_5 -# 1280| r1280_7(int) = Constant[99] : -# 1280| v1280_8(void) = Call[static_member] : func:r1280_4, 0:r1280_6, 1:r1280_7 -# 1280| m1280_9(unknown) = ^CallSideEffect : ~m1279_12 -# 1280| m1280_10(unknown) = Chi : total:m1279_12, partial:m1280_9 -# 1280| v1280_11(void) = ^BufferReadSideEffect[0] : &:r1280_6, ~m1277_11 -# 1280| m1280_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1280_6 -# 1280| m1280_13(A) = Chi : total:m1277_11, partial:m1280_12 -# 1281| r1281_1(glval) = VariableAddress[a_arg] : -# 1281| r1281_2(A *) = Load[a_arg] : &:r1281_1, m1270_8 +# 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 : + +# 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 : + +# 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 : + +# 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, m1270_8 -# 1281| r1281_6(int) = Constant[-1] : -# 1281| v1281_7(void) = Call[static_member] : func:r1281_3, 0:r1281_5, 1:r1281_6 -# 1281| m1281_8(unknown) = ^CallSideEffect : ~m1280_10 -# 1281| m1281_9(unknown) = Chi : total:m1280_10, partial:m1281_8 -# 1281| v1281_10(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~m1279_15 -# 1281| m1281_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5 -# 1281| m1281_12(unknown) = Chi : total:m1279_15, partial:m1281_11 -# 1283| r1283_1(glval) = VariableAddress[a] : -# 1283| r1283_2(glval) = FunctionAddress[static_member_without_def] : -# 1283| v1283_3(void) = Call[static_member_without_def] : func:r1283_2 -# 1283| m1283_4(unknown) = ^CallSideEffect : ~m1281_9 -# 1283| m1283_5(unknown) = Chi : total:m1281_9, partial:m1283_4 -# 1284| r1284_1(glval) = FunctionAddress[static_member_without_def] : -# 1284| v1284_2(void) = Call[static_member_without_def] : func:r1284_1 -# 1284| m1284_3(unknown) = ^CallSideEffect : ~m1283_5 -# 1284| m1284_4(unknown) = Chi : total:m1283_5, partial:m1284_3 -# 1286| r1286_1(glval) = FunctionAddress[getAnInstanceOfA] : -# 1286| r1286_2(A *) = Call[getAnInstanceOfA] : func:r1286_1 -# 1286| m1286_3(unknown) = ^CallSideEffect : ~m1284_4 -# 1286| m1286_4(unknown) = Chi : total:m1284_4, partial:m1286_3 -# 1286| r1286_5(glval) = FunctionAddress[static_member_without_def] : -# 1286| v1286_6(void) = Call[static_member_without_def] : func:r1286_5 -# 1286| m1286_7(unknown) = ^CallSideEffect : ~m1286_4 -# 1286| m1286_8(unknown) = Chi : total:m1286_4, partial:m1286_7 -# 1287| v1287_1(void) = NoOp : -# 1270| v1270_11(void) = ReturnIndirection[a_arg] : &:r1270_9, m1281_12 -# 1270| v1270_12(void) = ReturnVoid : -# 1270| v1270_13(void) = AliasedUse : ~m1286_8 -# 1270| v1270_14(void) = ExitFunction : - -# 1289| int missingReturnValue(bool, int) -# 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[b] : -# 1289| m1289_6(bool) = InitializeParameter[b] : &:r1289_5 -# 1289| r1289_7(glval) = VariableAddress[x] : -# 1289| m1289_8(int) = InitializeParameter[x] : &:r1289_7 -# 1290| r1290_1(glval) = VariableAddress[b] : -# 1290| r1290_2(bool) = Load[b] : &:r1290_1, m1289_6 -# 1290| v1290_3(void) = ConditionalBranch : r1290_2 +# 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 : +# 1272| v1272_11(void) = ReturnIndirection[a_arg] : &:r1272_9, m1283_12 +# 1272| v1272_12(void) = ReturnVoid : +# 1272| v1272_13(void) = AliasedUse : ~m1288_8 +# 1272| v1272_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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1289| Block 1 -# 1289| m1289_9(int) = Phi : from 2:m1291_4, from 3:m1293_2 -# 1289| r1289_10(glval) = VariableAddress[#return] : -# 1289| v1289_11(void) = ReturnValue : &:r1289_10, m1289_9 -# 1289| v1289_12(void) = AliasedUse : m1289_3 -# 1289| v1289_13(void) = ExitFunction : - -# 1291| Block 2 -# 1291| r1291_1(glval) = VariableAddress[#return] : -# 1291| r1291_2(glval) = VariableAddress[x] : -# 1291| r1291_3(int) = Load[x] : &:r1291_2, m1289_8 -# 1291| m1291_4(int) = Store[#return] : &:r1291_1, r1291_3 -#-----| Goto -> Block 1 +# 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 : -# 1293| Block 3 +# 1293| Block 2 # 1293| r1293_1(glval) = VariableAddress[#return] : -# 1293| m1293_2(int) = Uninitialized[#return] : &:r1293_1 +# 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 #-----| Goto -> Block 1 -# 1295| void returnVoid(int, int) -# 1295| Block 0 -# 1295| v1295_1(void) = EnterFunction : -# 1295| m1295_2(unknown) = AliasedDefinition : -# 1295| m1295_3(unknown) = InitializeNonLocal : -# 1295| m1295_4(unknown) = Chi : total:m1295_2, partial:m1295_3 -# 1295| r1295_5(glval) = VariableAddress[x] : -# 1295| m1295_6(int) = InitializeParameter[x] : &:r1295_5 -# 1295| r1295_7(glval) = VariableAddress[y] : -# 1295| m1295_8(int) = InitializeParameter[y] : &:r1295_7 -# 1296| r1296_1(glval) = FunctionAddress[IntegerOps] : -# 1296| r1296_2(glval) = VariableAddress[x] : -# 1296| r1296_3(int) = Load[x] : &:r1296_2, m1295_6 -# 1296| r1296_4(glval) = VariableAddress[y] : -# 1296| r1296_5(int) = Load[y] : &:r1296_4, m1295_8 -# 1296| v1296_6(void) = Call[IntegerOps] : func:r1296_1, 0:r1296_3, 1:r1296_5 -# 1296| m1296_7(unknown) = ^CallSideEffect : ~m1295_4 -# 1296| m1296_8(unknown) = Chi : total:m1295_4, partial:m1296_7 -# 1296| v1296_9(void) = NoOp : -# 1295| v1295_9(void) = ReturnVoid : -# 1295| v1295_10(void) = AliasedUse : ~m1296_8 -# 1295| v1295_11(void) = ExitFunction : - -# 1299| void gccBinaryConditional(bool, int, long) -# 1299| Block 0 -# 1299| v1299_1(void) = EnterFunction : -# 1299| m1299_2(unknown) = AliasedDefinition : -# 1299| m1299_3(unknown) = InitializeNonLocal : -# 1299| m1299_4(unknown) = Chi : total:m1299_2, partial:m1299_3 -# 1299| r1299_5(glval) = VariableAddress[b] : -# 1299| m1299_6(bool) = InitializeParameter[b] : &:r1299_5 -# 1299| r1299_7(glval) = VariableAddress[x] : -# 1299| m1299_8(int) = InitializeParameter[x] : &:r1299_7 -# 1299| r1299_9(glval) = VariableAddress[y] : -# 1299| m1299_10(long) = InitializeParameter[y] : &:r1299_9 -# 1300| r1300_1(glval) = VariableAddress[z] : -# 1300| r1300_2(glval) = VariableAddress[x] : -# 1300| r1300_3(int) = Load[x] : &:r1300_2, m1299_8 -# 1300| m1300_4(int) = Store[z] : &:r1300_1, r1300_3 -# 1301| r1301_1(glval) = VariableAddress[b] : -# 1301| r1301_2(bool) = Load[b] : &:r1301_1, m1299_6 -# 1301| v1301_3(void) = ConditionalBranch : r1301_2 +# 1295| Block 3 +# 1295| r1295_1(glval) = VariableAddress[#return] : +# 1295| m1295_2(int) = Uninitialized[#return] : &:r1295_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 : + +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1301| Block 1 -# 1301| m1301_4(int) = Phi : from 2:m1301_10, from 3:m1301_14 -# 1301| r1301_5(glval) = VariableAddress[#temp1301:9] : -# 1301| r1301_6(int) = Load[#temp1301:9] : &:r1301_5, m1301_4 -# 1301| r1301_7(glval) = VariableAddress[z] : -# 1301| m1301_8(int) = Store[z] : &:r1301_7, r1301_6 -# 1302| r1302_1(glval) = VariableAddress[b] : -# 1302| r1302_2(bool) = Load[b] : &:r1302_1, m1299_6 -# 1302| v1302_3(void) = ConditionalBranch : r1302_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 #-----| False -> Block 6 #-----| True -> Block 5 -# 1301| Block 2 -# 1301| r1301_9(glval) = VariableAddress[#temp1301:9] : -# 1301| m1301_10(int) = Store[#temp1301:9] : &:r1301_9, r1301_2 +# 1303| Block 2 +# 1303| r1303_9(glval) = VariableAddress[#temp1303:9] : +# 1303| m1303_10(int) = Store[#temp1303:9] : &:r1303_9, r1303_2 #-----| Goto -> Block 1 -# 1301| Block 3 -# 1301| r1301_11(glval) = VariableAddress[x] : -# 1301| r1301_12(int) = Load[x] : &:r1301_11, m1299_8 -# 1301| r1301_13(glval) = VariableAddress[#temp1301:9] : -# 1301| m1301_14(int) = Store[#temp1301:9] : &:r1301_13, r1301_12 +# 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 #-----| Goto -> Block 1 -# 1302| Block 4 -# 1302| m1302_4(long) = Phi : from 5:m1302_11, from 6:m1302_15 -# 1302| r1302_5(glval) = VariableAddress[#temp1302:9] : -# 1302| r1302_6(long) = Load[#temp1302:9] : &:r1302_5, m1302_4 -# 1302| r1302_7(int) = Convert : r1302_6 -# 1302| r1302_8(glval) = VariableAddress[z] : -# 1302| m1302_9(int) = Store[z] : &:r1302_8, r1302_7 -# 1303| r1303_1(glval) = VariableAddress[x] : -# 1303| r1303_2(int) = Load[x] : &:r1303_1, m1299_8 -# 1303| r1303_3(int) = Constant[0] : -# 1303| r1303_4(bool) = CompareNE : r1303_2, r1303_3 -# 1303| v1303_5(void) = ConditionalBranch : r1303_4 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 1302| Block 5 -# 1302| r1302_10(glval) = VariableAddress[#temp1302:9] : -# 1302| m1302_11(long) = Store[#temp1302:9] : &:r1302_10, r1302_2 +# 1304| Block 5 +# 1304| r1304_10(glval) = VariableAddress[#temp1304:9] : +# 1304| m1304_11(long) = Store[#temp1304:9] : &:r1304_10, r1304_2 #-----| Goto -> Block 4 -# 1302| Block 6 -# 1302| r1302_12(glval) = VariableAddress[y] : -# 1302| r1302_13(long) = Load[y] : &:r1302_12, m1299_10 -# 1302| r1302_14(glval) = VariableAddress[#temp1302:9] : -# 1302| m1302_15(long) = Store[#temp1302:9] : &:r1302_14, r1302_13 +# 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 #-----| Goto -> Block 4 -# 1303| Block 7 -# 1303| m1303_6(int) = Phi : from 8:m1303_12, from 9:m1303_16 -# 1303| r1303_7(glval) = VariableAddress[#temp1303:9] : -# 1303| r1303_8(int) = Load[#temp1303:9] : &:r1303_7, m1303_6 -# 1303| r1303_9(glval) = VariableAddress[z] : -# 1303| m1303_10(int) = Store[z] : &:r1303_9, r1303_8 -# 1304| r1304_1(glval) = VariableAddress[x] : -# 1304| r1304_2(int) = Load[x] : &:r1304_1, m1299_8 -# 1304| r1304_3(int) = Constant[0] : -# 1304| r1304_4(bool) = CompareNE : r1304_2, r1304_3 -# 1304| v1304_5(void) = ConditionalBranch : r1304_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 #-----| False -> Block 12 #-----| True -> Block 11 -# 1303| Block 8 -# 1303| r1303_11(glval) = VariableAddress[#temp1303:9] : -# 1303| m1303_12(int) = Store[#temp1303:9] : &:r1303_11, r1303_2 +# 1305| Block 8 +# 1305| r1305_11(glval) = VariableAddress[#temp1305:9] : +# 1305| m1305_12(int) = Store[#temp1305:9] : &:r1305_11, r1305_2 #-----| Goto -> Block 7 -# 1303| Block 9 -# 1303| r1303_13(glval) = VariableAddress[x] : -# 1303| r1303_14(int) = Load[x] : &:r1303_13, m1299_8 -# 1303| r1303_15(glval) = VariableAddress[#temp1303:9] : -# 1303| m1303_16(int) = Store[#temp1303:9] : &:r1303_15, r1303_14 +# 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 #-----| Goto -> Block 7 -# 1304| Block 10 -# 1304| m1304_6(long) = Phi : from 11:m1304_13, from 12:m1304_17 -# 1304| r1304_7(glval) = VariableAddress[#temp1304:9] : -# 1304| r1304_8(long) = Load[#temp1304:9] : &:r1304_7, m1304_6 -# 1304| r1304_9(int) = Convert : r1304_8 -# 1304| r1304_10(glval) = VariableAddress[z] : -# 1304| m1304_11(int) = Store[z] : &:r1304_10, r1304_9 -# 1305| r1305_1(glval) = VariableAddress[y] : -# 1305| r1305_2(long) = Load[y] : &:r1305_1, m1299_10 -# 1305| r1305_3(long) = Constant[0] : -# 1305| r1305_4(bool) = CompareNE : r1305_2, r1305_3 -# 1305| v1305_5(void) = ConditionalBranch : r1305_4 +# 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 #-----| False -> Block 15 #-----| True -> Block 14 -# 1304| Block 11 -# 1304| r1304_12(glval) = VariableAddress[#temp1304:9] : -# 1304| m1304_13(long) = Store[#temp1304:9] : &:r1304_12, r1304_2 +# 1306| Block 11 +# 1306| r1306_12(glval) = VariableAddress[#temp1306:9] : +# 1306| m1306_13(long) = Store[#temp1306:9] : &:r1306_12, r1306_2 #-----| Goto -> Block 10 -# 1304| Block 12 -# 1304| r1304_14(glval) = VariableAddress[y] : -# 1304| r1304_15(long) = Load[y] : &:r1304_14, m1299_10 -# 1304| r1304_16(glval) = VariableAddress[#temp1304:9] : -# 1304| m1304_17(long) = Store[#temp1304:9] : &:r1304_16, r1304_15 +# 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 #-----| Goto -> Block 10 -# 1305| Block 13 -# 1305| m1305_6(long) = Phi : from 14:m1305_13, from 15:m1305_18 -# 1305| r1305_7(glval) = VariableAddress[#temp1305:9] : -# 1305| r1305_8(long) = Load[#temp1305:9] : &:r1305_7, m1305_6 -# 1305| r1305_9(int) = Convert : r1305_8 -# 1305| r1305_10(glval) = VariableAddress[z] : -# 1305| m1305_11(int) = Store[z] : &:r1305_10, r1305_9 -# 1306| r1306_1(glval) = VariableAddress[y] : -# 1306| r1306_2(long) = Load[y] : &:r1306_1, m1299_10 -# 1306| r1306_3(long) = Constant[0] : -# 1306| r1306_4(bool) = CompareNE : r1306_2, r1306_3 -# 1306| v1306_5(void) = ConditionalBranch : r1306_4 +# 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 #-----| False -> Block 18 #-----| True -> Block 17 -# 1305| Block 14 -# 1305| r1305_12(glval) = VariableAddress[#temp1305:9] : -# 1305| m1305_13(long) = Store[#temp1305:9] : &:r1305_12, r1305_2 +# 1307| Block 14 +# 1307| r1307_12(glval) = VariableAddress[#temp1307:9] : +# 1307| m1307_13(long) = Store[#temp1307:9] : &:r1307_12, r1307_2 #-----| Goto -> Block 13 -# 1305| Block 15 -# 1305| r1305_14(glval) = VariableAddress[x] : -# 1305| r1305_15(int) = Load[x] : &:r1305_14, m1299_8 -# 1305| r1305_16(long) = Convert : r1305_15 -# 1305| r1305_17(glval) = VariableAddress[#temp1305:9] : -# 1305| m1305_18(long) = Store[#temp1305:9] : &:r1305_17, r1305_16 +# 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 #-----| Goto -> Block 13 -# 1306| Block 16 -# 1306| m1306_6(long) = Phi : from 17:m1306_13, from 18: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 -# 1308| r1308_1(glval) = VariableAddress[x] : -# 1308| r1308_2(int) = Load[x] : &:r1308_1, m1299_8 -# 1308| r1308_3(int) = Constant[0] : -# 1308| r1308_4(bool) = CompareNE : r1308_2, r1308_3 -# 1308| v1308_5(void) = ConditionalBranch : r1308_4 +# 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 #-----| False -> Block 25 #-----| True -> Block 24 -# 1306| Block 17 -# 1306| r1306_12(glval) = VariableAddress[#temp1306:9] : -# 1306| m1306_13(long) = Store[#temp1306:9] : &:r1306_12, r1306_2 +# 1308| Block 17 +# 1308| r1308_12(glval) = VariableAddress[#temp1308:9] : +# 1308| m1308_13(long) = Store[#temp1308:9] : &:r1308_12, r1308_2 #-----| Goto -> Block 16 -# 1306| Block 18 -# 1306| r1306_14(glval) = VariableAddress[y] : -# 1306| r1306_15(long) = Load[y] : &:r1306_14, m1299_10 -# 1306| r1306_16(glval) = VariableAddress[#temp1306:9] : -# 1306| m1306_17(long) = Store[#temp1306:9] : &:r1306_16, r1306_15 +# 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 #-----| Goto -> Block 16 -# 1308| Block 19 -# 1308| m1308_6(int) = Phi : from 20:m1308_12, from 26:m1308_34 -# 1308| r1308_7(glval) = VariableAddress[#temp1308:9] : -# 1308| r1308_8(int) = Load[#temp1308:9] : &:r1308_7, m1308_6 -# 1308| r1308_9(glval) = VariableAddress[z] : -# 1308| m1308_10(int) = Store[z] : &:r1308_9, r1308_8 -# 1309| v1309_1(void) = NoOp : -# 1299| v1299_11(void) = ReturnVoid : -# 1299| v1299_12(void) = AliasedUse : m1299_3 -# 1299| v1299_13(void) = ExitFunction : - -# 1308| Block 20 -# 1308| r1308_11(glval) = VariableAddress[#temp1308:9] : -# 1308| m1308_12(int) = Store[#temp1308:9] : &:r1308_11, r1308_18 +# 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 : + +# 1310| Block 20 +# 1310| r1310_11(glval) = VariableAddress[#temp1310:9] : +# 1310| m1310_12(int) = Store[#temp1310:9] : &:r1310_11, r1310_18 #-----| Goto -> Block 19 -# 1308| Block 21 -# 1308| r1308_13(glval) = VariableAddress[#temp1308:10] : -# 1308| r1308_14(bool) = Constant[0] : -# 1308| m1308_15(bool) = Store[#temp1308:10] : &:r1308_13, r1308_14 +# 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 #-----| Goto -> Block 22 -# 1308| Block 22 -# 1308| m1308_16(bool) = Phi : from 21:m1308_15, from 23:m1308_22 -# 1308| r1308_17(glval) = VariableAddress[#temp1308:10] : -# 1308| r1308_18(bool) = Load[#temp1308:10] : &:r1308_17, m1308_16 -# 1308| v1308_19(void) = ConditionalBranch : r1308_18 +# 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 #-----| False -> Block 26 #-----| True -> Block 20 -# 1308| Block 23 -# 1308| r1308_20(glval) = VariableAddress[#temp1308:10] : -# 1308| r1308_21(bool) = Constant[1] : -# 1308| m1308_22(bool) = Store[#temp1308:10] : &:r1308_20, r1308_21 +# 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 #-----| Goto -> Block 22 -# 1308| Block 24 -# 1308| r1308_23(glval) = VariableAddress[b] : -# 1308| r1308_24(bool) = Load[b] : &:r1308_23, m1299_6 -# 1308| v1308_25(void) = ConditionalBranch : r1308_24 +# 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 #-----| False -> Block 25 #-----| True -> Block 23 -# 1308| Block 25 -# 1308| r1308_26(glval) = VariableAddress[y] : -# 1308| r1308_27(long) = Load[y] : &:r1308_26, m1299_10 -# 1308| r1308_28(long) = Constant[0] : -# 1308| r1308_29(bool) = CompareNE : r1308_27, r1308_28 -# 1308| v1308_30(void) = ConditionalBranch : r1308_29 +# 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 #-----| False -> Block 21 #-----| True -> Block 23 -# 1308| Block 26 -# 1308| r1308_31(glval) = VariableAddress[x] : -# 1308| r1308_32(int) = Load[x] : &:r1308_31, m1299_8 -# 1308| r1308_33(glval) = VariableAddress[#temp1308:9] : -# 1308| m1308_34(int) = Store[#temp1308:9] : &:r1308_33, r1308_32 +# 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 #-----| Goto -> Block 19 -# 1314| int shortCircuitConditional(int, int) -# 1314| Block 0 -# 1314| v1314_1(void) = EnterFunction : -# 1314| m1314_2(unknown) = AliasedDefinition : -# 1314| m1314_3(unknown) = InitializeNonLocal : -# 1314| m1314_4(unknown) = Chi : total:m1314_2, partial:m1314_3 -# 1314| r1314_5(glval) = VariableAddress[x] : -# 1314| m1314_6(int) = InitializeParameter[x] : &:r1314_5 -# 1314| r1314_7(glval) = VariableAddress[y] : -# 1314| m1314_8(int) = InitializeParameter[y] : &:r1314_7 -# 1315| r1315_1(glval) = VariableAddress[#return] : -# 1315| r1315_2(glval) = FunctionAddress[predicateA] : -# 1315| r1315_3(bool) = Call[predicateA] : func:r1315_2 -# 1315| m1315_4(unknown) = ^CallSideEffect : ~m1314_4 -# 1315| m1315_5(unknown) = Chi : total:m1314_4, partial:m1315_4 -# 1315| v1315_6(void) = ConditionalBranch : r1315_3 +# 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 #-----| False -> Block 4 #-----| True -> Block 2 -# 1315| Block 1 -# 1315| m1315_7(unknown) = Phi : from 3:~m1315_15, from 4:~m1315_21 -# 1315| m1315_8(int) = Phi : from 3:m1315_20, from 4:m1315_25 -# 1315| r1315_9(glval) = VariableAddress[#temp1315:12] : -# 1315| r1315_10(int) = Load[#temp1315:12] : &:r1315_9, m1315_8 -# 1315| m1315_11(int) = Store[#return] : &:r1315_1, r1315_10 -# 1314| r1314_9(glval) = VariableAddress[#return] : -# 1314| v1314_10(void) = ReturnValue : &:r1314_9, m1315_11 -# 1314| v1314_11(void) = AliasedUse : ~m1315_7 -# 1314| v1314_12(void) = ExitFunction : - -# 1315| Block 2 -# 1315| r1315_12(glval) = FunctionAddress[predicateB] : -# 1315| r1315_13(bool) = Call[predicateB] : func:r1315_12 -# 1315| m1315_14(unknown) = ^CallSideEffect : ~m1315_5 -# 1315| m1315_15(unknown) = Chi : total:m1315_5, partial:m1315_14 -# 1315| v1315_16(void) = ConditionalBranch : r1315_13 +# 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 : + +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1315| Block 3 -# 1315| r1315_17(glval) = VariableAddress[x] : -# 1315| r1315_18(int) = Load[x] : &:r1315_17, m1314_6 -# 1315| r1315_19(glval) = VariableAddress[#temp1315:12] : -# 1315| m1315_20(int) = Store[#temp1315:12] : &:r1315_19, r1315_18 +# 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 #-----| Goto -> Block 1 -# 1315| Block 4 -# 1315| m1315_21(unknown) = Phi : from 0:~m1315_5, from 2:~m1315_15 -# 1315| r1315_22(glval) = VariableAddress[y] : -# 1315| r1315_23(int) = Load[y] : &:r1315_22, m1314_8 -# 1315| r1315_24(glval) = VariableAddress[#temp1315:12] : -# 1315| m1315_25(int) = Store[#temp1315:12] : &:r1315_24, r1315_23 +# 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 #-----| Goto -> Block 1 -# 1320| void f(int*) -# 1320| Block 0 -# 1320| v1320_1(void) = EnterFunction : -# 1320| m1320_2(unknown) = AliasedDefinition : -# 1320| m1320_3(unknown) = InitializeNonLocal : -# 1320| m1320_4(unknown) = Chi : total:m1320_2, partial:m1320_3 -# 1320| r1320_5(glval) = VariableAddress[p] : -# 1320| m1320_6(int *) = InitializeParameter[p] : &:r1320_5 -# 1320| r1320_7(int *) = Load[p] : &:r1320_5, m1320_6 -# 1320| m1320_8(unknown) = InitializeIndirection[p] : &:r1320_7 -# 1322| r1322_1(glval) = FunctionAddress[operator new] : -# 1322| r1322_2(unsigned long) = Constant[4] : -# 1322| r1322_3(glval) = VariableAddress[p] : -# 1322| r1322_4(int *) = Load[p] : &:r1322_3, m1320_6 -# 1322| r1322_5(void *) = Convert : r1322_4 -# 1322| r1322_6(void *) = Call[operator new] : func:r1322_1, 0:r1322_2, 1:r1322_5 -# 1322| m1322_7(unknown) = ^CallSideEffect : ~m1320_4 -# 1322| m1322_8(unknown) = Chi : total:m1320_4, partial:m1322_7 -# 1322| m1322_9(unknown) = ^InitializeDynamicAllocation : &:r1322_6 -# 1322| r1322_10(int *) = Convert : r1322_6 -# 1323| v1323_1(void) = NoOp : -# 1320| v1320_9(void) = ReturnIndirection[p] : &:r1320_7, m1320_8 -# 1320| v1320_10(void) = ReturnVoid : -# 1320| v1320_11(void) = AliasedUse : ~m1322_8 -# 1320| v1320_12(void) = ExitFunction : - -# 1326| Point defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| m1326_2(unknown) = AliasedDefinition : -# 1326| m1326_3(unknown) = InitializeNonLocal : -# 1326| m1326_4(unknown) = Chi : total:m1326_2, partial:m1326_3 -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| r1327_2(Point) = Constant[0] : -# 1327| m1327_3(Point) = Store[#return] : &:r1327_1, r1327_2 -# 1326| r1326_5(glval) = VariableAddress[#return] : -# 1326| v1326_6(void) = ReturnValue : &:r1326_5, m1327_3 -# 1326| v1326_7(void) = AliasedUse : m1326_3 -# 1326| v1326_8(void) = ExitFunction : - -# 1326| String defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| m1326_2(unknown) = AliasedDefinition : -# 1326| m1326_3(unknown) = InitializeNonLocal : -# 1326| m1326_4(unknown) = Chi : total:m1326_2, partial:m1326_3 -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| m1327_2(String) = Uninitialized[#return] : &:r1327_1 -# 1327| r1327_3(glval) = FunctionAddress[String] : -# 1327| v1327_4(void) = Call[String] : func:r1327_3, this:r1327_1 -# 1327| m1327_5(unknown) = ^CallSideEffect : ~m1326_4 -# 1327| m1327_6(unknown) = Chi : total:m1326_4, partial:m1327_5 -# 1327| m1327_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1327_1 -# 1327| m1327_8(String) = Chi : total:m1327_2, partial:m1327_7 -# 1326| r1326_5(glval) = VariableAddress[#return] : -# 1326| v1326_6(void) = ReturnValue : &:r1326_5, m1327_8 -# 1326| v1326_7(void) = AliasedUse : ~m1327_6 -# 1326| v1326_8(void) = ExitFunction : - -# 1326| copy_constructor defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| m1326_2(unknown) = AliasedDefinition : -# 1326| m1326_3(unknown) = InitializeNonLocal : -# 1326| m1326_4(unknown) = Chi : total:m1326_2, partial:m1326_3 -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| m1327_2(copy_constructor) = Uninitialized[#return] : &:r1327_1 -# 1327| r1327_3(glval) = FunctionAddress[copy_constructor] : -# 1327| v1327_4(void) = Call[copy_constructor] : func:r1327_3, this:r1327_1 -# 1327| m1327_5(unknown) = ^CallSideEffect : ~m1326_4 -# 1327| m1327_6(unknown) = Chi : total:m1326_4, partial:m1327_5 -# 1327| m1327_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1327_1 -# 1327| m1327_8(copy_constructor) = Chi : total:m1327_2, partial:m1327_7 -# 1326| r1326_5(glval) = VariableAddress[#return] : -# 1326| v1326_6(void) = ReturnValue : &:r1326_5, m1327_8 -# 1326| v1326_7(void) = AliasedUse : ~m1327_6 -# 1326| v1326_8(void) = ExitFunction : - -# 1326| destructor_only defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| m1326_2(unknown) = AliasedDefinition : -# 1326| m1326_3(unknown) = InitializeNonLocal : -# 1326| m1326_4(unknown) = Chi : total:m1326_2, partial:m1326_3 -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| r1327_2(destructor_only) = Constant[0] : -# 1327| m1327_3(destructor_only) = Store[#return] : &:r1327_1, r1327_2 -# 1326| r1326_5(glval) = VariableAddress[#return] : -# 1326| v1326_6(void) = ReturnValue : &:r1326_5, m1327_3 -# 1326| v1326_7(void) = AliasedUse : m1326_3 -# 1326| v1326_8(void) = ExitFunction : - -# 1365| void temporary_string() -# 1365| Block 0 -# 1365| v1365_1(void) = EnterFunction : -# 1365| m1365_2(unknown) = AliasedDefinition : -# 1365| m1365_3(unknown) = InitializeNonLocal : -# 1365| m1365_4(unknown) = Chi : total:m1365_2, partial:m1365_3 -# 1366| r1366_1(glval) = VariableAddress[s] : -# 1366| r1366_2(glval) = FunctionAddress[returnValue] : -# 1366| r1366_3(String) = Call[returnValue] : func:r1366_2 -# 1366| m1366_4(unknown) = ^CallSideEffect : ~m1365_4 -# 1366| m1366_5(unknown) = Chi : total:m1365_4, partial:m1366_4 -# 1366| m1366_6(String) = Store[s] : &:r1366_1, r1366_3 -# 1367| r1367_1(glval) = VariableAddress[rs] : -# 1367| r1367_2(glval) = VariableAddress[#temp1367:24] : -# 1367| r1367_3(glval) = FunctionAddress[returnValue] : -# 1367| r1367_4(String) = Call[returnValue] : func:r1367_3 -# 1367| m1367_5(unknown) = ^CallSideEffect : ~m1366_5 -# 1367| m1367_6(unknown) = Chi : total:m1366_5, partial:m1367_5 -# 1367| m1367_7(String) = Store[#temp1367:24] : &:r1367_2, r1367_4 -# 1367| r1367_8(glval) = Convert : r1367_2 -# 1367| r1367_9(String &) = CopyValue : r1367_8 -# 1367| m1367_10(String &) = Store[rs] : &:r1367_1, r1367_9 -# 1369| r1369_1(glval) = FunctionAddress[acceptRef] : -# 1369| r1369_2(glval) = VariableAddress[s] : -# 1369| r1369_3(glval) = Convert : r1369_2 -# 1369| r1369_4(String &) = CopyValue : r1369_3 -# 1369| v1369_5(void) = Call[acceptRef] : func:r1369_1, 0:r1369_4 -# 1369| m1369_6(unknown) = ^CallSideEffect : ~m1367_6 -# 1369| m1369_7(unknown) = Chi : total:m1367_6, partial:m1369_6 -# 1369| v1369_8(void) = ^BufferReadSideEffect[0] : &:r1369_4, ~m1366_6 -# 1370| r1370_1(glval) = FunctionAddress[acceptRef] : -# 1370| r1370_2(glval) = VariableAddress[#temp1370:23] : -# 1370| m1370_3(String) = Uninitialized[#temp1370:23] : &:r1370_2 -# 1370| r1370_4(glval) = FunctionAddress[String] : -# 1370| r1370_5(glval) = StringConstant["foo"] : -# 1370| r1370_6(char *) = Convert : r1370_5 -# 1370| v1370_7(void) = Call[String] : func:r1370_4, this:r1370_2, 0:r1370_6 -# 1370| m1370_8(unknown) = ^CallSideEffect : ~m1369_7 -# 1370| m1370_9(unknown) = Chi : total:m1369_7, partial:m1370_8 -# 1370| v1370_10(void) = ^BufferReadSideEffect[0] : &:r1370_6, ~m1365_3 -# 1370| m1370_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1370_2 -# 1370| m1370_12(String) = Chi : total:m1370_3, partial:m1370_11 -# 1370| r1370_13(String &) = CopyValue : r1370_2 -# 1370| v1370_14(void) = Call[acceptRef] : func:r1370_1, 0:r1370_13 -# 1370| m1370_15(unknown) = ^CallSideEffect : ~m1370_9 -# 1370| m1370_16(unknown) = Chi : total:m1370_9, partial:m1370_15 -# 1370| v1370_17(void) = ^BufferReadSideEffect[0] : &:r1370_13, ~m1370_12 -# 1371| r1371_1(glval) = FunctionAddress[acceptValue] : -# 1371| r1371_2(glval) = VariableAddress[#temp1371:17] : -# 1371| m1371_3(String) = Uninitialized[#temp1371:17] : &:r1371_2 -# 1371| r1371_4(glval) = FunctionAddress[String] : -# 1371| r1371_5(glval) = VariableAddress[s] : -# 1371| r1371_6(glval) = Convert : r1371_5 -# 1371| r1371_7(String &) = CopyValue : r1371_6 -# 1371| v1371_8(void) = Call[String] : func:r1371_4, this:r1371_2, 0:r1371_7 -# 1371| m1371_9(unknown) = ^CallSideEffect : ~m1370_16 -# 1371| m1371_10(unknown) = Chi : total:m1370_16, partial:m1371_9 -# 1371| v1371_11(void) = ^BufferReadSideEffect[0] : &:r1371_7, ~m1366_6 -# 1371| m1371_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r1371_2 -# 1371| m1371_13(String) = Chi : total:m1371_3, partial:m1371_12 -# 1371| r1371_14(String) = Load[#temp1371:17] : &:r1371_2, m1371_13 -# 1371| v1371_15(void) = Call[acceptValue] : func:r1371_1, 0:r1371_14 -# 1371| m1371_16(unknown) = ^CallSideEffect : ~m1371_10 -# 1371| m1371_17(unknown) = Chi : total:m1371_10, partial:m1371_16 -# 1372| r1372_1(glval) = FunctionAddress[acceptValue] : -# 1372| r1372_2(glval) = VariableAddress[#temp1372:25] : -# 1372| m1372_3(String) = Uninitialized[#temp1372:25] : &:r1372_2 +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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_17 -# 1372| m1372_9(unknown) = Chi : total:m1371_17, partial:m1372_8 -# 1372| v1372_10(void) = ^BufferReadSideEffect[0] : &:r1372_6, ~m1365_3 +# 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) = Load[#temp1372:25] : &:r1372_2, m1372_12 -# 1372| v1372_14(void) = Call[acceptValue] : func:r1372_1, 0:r1372_13 +# 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 -# 1373| r1373_1(glval) = VariableAddress[#temp1373:5] : -# 1373| m1373_2(String) = Uninitialized[#temp1373:5] : &:r1373_1 -# 1373| r1373_3(glval) = FunctionAddress[String] : -# 1373| v1373_4(void) = Call[String] : func:r1373_3, this:r1373_1 -# 1373| m1373_5(unknown) = ^CallSideEffect : ~m1372_16 -# 1373| m1373_6(unknown) = Chi : total:m1372_16, partial:m1373_5 -# 1373| m1373_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r1373_1 -# 1373| m1373_8(String) = Chi : total:m1373_2, partial:m1373_7 -# 1373| r1373_9(glval) = Convert : r1373_1 -# 1373| r1373_10(glval) = FunctionAddress[c_str] : -# 1373| r1373_11(char *) = Call[c_str] : func:r1373_10, this:r1373_9 -# 1373| m1373_12(unknown) = ^CallSideEffect : ~m1373_6 -# 1373| m1373_13(unknown) = Chi : total:m1373_6, partial:m1373_12 -# 1373| v1373_14(void) = ^IndirectReadSideEffect[-1] : &:r1373_9, m1373_8 -# 1374| r1374_1(glval) = VariableAddress[#temp1374:5] : -# 1374| r1374_2(glval) = FunctionAddress[returnValue] : -# 1374| r1374_3(String) = Call[returnValue] : func:r1374_2 -# 1374| m1374_4(unknown) = ^CallSideEffect : ~m1373_13 -# 1374| m1374_5(unknown) = Chi : total:m1373_13, partial:m1374_4 -# 1374| m1374_6(String) = Store[#temp1374:5] : &:r1374_1, r1374_3 -# 1374| r1374_7(glval) = Convert : r1374_1 -# 1374| r1374_8(glval) = FunctionAddress[c_str] : -# 1374| r1374_9(char *) = Call[c_str] : func:r1374_8, this:r1374_7 -# 1374| m1374_10(unknown) = ^CallSideEffect : ~m1374_5 -# 1374| m1374_11(unknown) = Chi : total:m1374_5, partial:m1374_10 -# 1374| v1374_12(void) = ^IndirectReadSideEffect[-1] : &:r1374_7, m1374_6 +# 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[defaultConstruct] : -# 1376| r1376_3(String) = Call[defaultConstruct] : func:r1376_2 -# 1376| m1376_4(unknown) = ^CallSideEffect : ~m1374_11 -# 1376| m1376_5(unknown) = Chi : total:m1374_11, partial:m1376_4 +# 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 -# 1377| v1377_1(void) = NoOp : -# 1365| v1365_5(void) = ReturnVoid : -# 1365| v1365_6(void) = AliasedUse : ~m1376_5 -# 1365| v1365_7(void) = ExitFunction : - -# 1379| void temporary_destructor_only() -# 1379| Block 0 -# 1379| v1379_1(void) = EnterFunction : -# 1379| m1379_2(unknown) = AliasedDefinition : -# 1379| m1379_3(unknown) = InitializeNonLocal : -# 1379| m1379_4(unknown) = Chi : total:m1379_2, partial:m1379_3 -# 1380| r1380_1(glval) = VariableAddress[d] : -# 1380| r1380_2(glval) = FunctionAddress[returnValue] : -# 1380| r1380_3(destructor_only) = Call[returnValue] : func:r1380_2 -# 1380| m1380_4(unknown) = ^CallSideEffect : ~m1379_4 -# 1380| m1380_5(unknown) = Chi : total:m1379_4, partial:m1380_4 -# 1380| m1380_6(destructor_only) = Store[d] : &:r1380_1, r1380_3 -# 1381| r1381_1(glval) = VariableAddress[rd] : -# 1381| r1381_2(glval) = VariableAddress[#temp1381:33] : -# 1381| r1381_3(glval) = FunctionAddress[returnValue] : -# 1381| r1381_4(destructor_only) = Call[returnValue] : func:r1381_3 -# 1381| m1381_5(unknown) = ^CallSideEffect : ~m1380_5 -# 1381| m1381_6(unknown) = Chi : total:m1380_5, partial:m1381_5 -# 1381| m1381_7(destructor_only) = Store[#temp1381:33] : &:r1381_2, r1381_4 -# 1381| r1381_8(glval) = Convert : r1381_2 -# 1381| r1381_9(destructor_only &) = CopyValue : r1381_8 -# 1381| m1381_10(destructor_only &) = Store[rd] : &:r1381_1, r1381_9 -# 1382| r1382_1(glval) = VariableAddress[d2] : -# 1382| m1382_2(destructor_only) = Uninitialized[d2] : &:r1382_1 -# 1383| r1383_1(glval) = FunctionAddress[acceptRef] : -# 1383| r1383_2(glval) = VariableAddress[d] : -# 1383| r1383_3(glval) = Convert : r1383_2 -# 1383| r1383_4(destructor_only &) = CopyValue : r1383_3 -# 1383| v1383_5(void) = Call[acceptRef] : func:r1383_1, 0:r1383_4 -# 1383| m1383_6(unknown) = ^CallSideEffect : ~m1381_6 -# 1383| m1383_7(unknown) = Chi : total:m1381_6, partial:m1383_6 -# 1383| v1383_8(void) = ^BufferReadSideEffect[0] : &:r1383_4, ~m1380_6 -# 1384| r1384_1(glval) = FunctionAddress[acceptValue] : -# 1384| r1384_2(glval) = VariableAddress[#temp1384:17] : -# 1384| r1384_3(glval) = VariableAddress[d] : -# 1384| r1384_4(destructor_only) = Load[d] : &:r1384_3, m1380_6 -# 1384| m1384_5(destructor_only) = Store[#temp1384:17] : &:r1384_2, r1384_4 -# 1384| r1384_6(destructor_only) = Load[#temp1384:17] : &:r1384_2, m1384_5 -# 1384| v1384_7(void) = Call[acceptValue] : func:r1384_1, 0:r1384_6 -# 1384| m1384_8(unknown) = ^CallSideEffect : ~m1383_7 -# 1384| m1384_9(unknown) = Chi : total:m1383_7, partial:m1384_8 -# 1385| r1385_1(glval) = VariableAddress[#temp1385:5] : -# 1385| r1385_2(destructor_only) = Constant[0] : -# 1385| m1385_3(destructor_only) = Store[#temp1385:5] : &:r1385_1, r1385_2 -# 1385| r1385_4(glval) = FunctionAddress[method] : -# 1385| v1385_5(void) = Call[method] : func:r1385_4, this:r1385_1 -# 1385| m1385_6(unknown) = ^CallSideEffect : ~m1384_9 -# 1385| m1385_7(unknown) = Chi : total:m1384_9, partial:m1385_6 -# 1385| v1385_8(void) = ^IndirectReadSideEffect[-1] : &:r1385_1, m1385_3 -# 1385| m1385_9(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1385_1 -# 1385| m1385_10(destructor_only) = Chi : total:m1385_3, partial:m1385_9 -# 1386| r1386_1(glval) = VariableAddress[#temp1386:5] : -# 1386| r1386_2(glval) = FunctionAddress[returnValue] : -# 1386| r1386_3(destructor_only) = Call[returnValue] : func:r1386_2 -# 1386| m1386_4(unknown) = ^CallSideEffect : ~m1385_7 -# 1386| m1386_5(unknown) = Chi : total:m1385_7, partial:m1386_4 -# 1386| m1386_6(destructor_only) = Store[#temp1386:5] : &:r1386_1, r1386_3 -# 1386| r1386_7(glval) = FunctionAddress[method] : -# 1386| v1386_8(void) = Call[method] : func:r1386_7, this:r1386_1 -# 1386| m1386_9(unknown) = ^CallSideEffect : ~m1386_5 -# 1386| m1386_10(unknown) = Chi : total:m1386_5, partial:m1386_9 -# 1386| v1386_11(void) = ^IndirectReadSideEffect[-1] : &:r1386_1, m1386_6 -# 1386| m1386_12(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1386_1 -# 1386| m1386_13(destructor_only) = Chi : total:m1386_6, partial:m1386_12 +# 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 : +# 1367| v1367_5(void) = ReturnVoid : +# 1367| v1367_6(void) = AliasedUse : ~m1378_5 +# 1367| v1367_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[defaultConstruct] : -# 1388| r1388_3(destructor_only) = Call[defaultConstruct] : func:r1388_2 -# 1388| m1388_4(unknown) = ^CallSideEffect : ~m1386_10 -# 1388| m1388_5(unknown) = Chi : total:m1386_10, partial:m1388_4 +# 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 -# 1389| v1389_1(void) = NoOp : -# 1379| v1379_5(void) = ReturnVoid : -# 1379| v1379_6(void) = AliasedUse : ~m1388_5 -# 1379| v1379_7(void) = ExitFunction : - -# 1391| void temporary_copy_constructor() -# 1391| Block 0 -# 1391| v1391_1(void) = EnterFunction : -# 1391| m1391_2(unknown) = AliasedDefinition : -# 1391| m1391_3(unknown) = InitializeNonLocal : -# 1391| m1391_4(unknown) = Chi : total:m1391_2, partial:m1391_3 -# 1392| r1392_1(glval) = VariableAddress[d] : -# 1392| r1392_2(glval) = FunctionAddress[returnValue] : -# 1392| r1392_3(copy_constructor) = Call[returnValue] : func:r1392_2 -# 1392| m1392_4(unknown) = ^CallSideEffect : ~m1391_4 -# 1392| m1392_5(unknown) = Chi : total:m1391_4, partial:m1392_4 -# 1392| m1392_6(copy_constructor) = Store[d] : &:r1392_1, r1392_3 -# 1393| r1393_1(glval) = VariableAddress[rd] : -# 1393| r1393_2(glval) = VariableAddress[#temp1393:34] : -# 1393| r1393_3(glval) = FunctionAddress[returnValue] : -# 1393| r1393_4(copy_constructor) = Call[returnValue] : func:r1393_3 -# 1393| m1393_5(unknown) = ^CallSideEffect : ~m1392_5 -# 1393| m1393_6(unknown) = Chi : total:m1392_5, partial:m1393_5 -# 1393| m1393_7(copy_constructor) = Store[#temp1393:34] : &:r1393_2, r1393_4 -# 1393| r1393_8(glval) = Convert : r1393_2 -# 1393| r1393_9(copy_constructor &) = CopyValue : r1393_8 -# 1393| m1393_10(copy_constructor &) = Store[rd] : &:r1393_1, r1393_9 -# 1394| r1394_1(glval) = VariableAddress[d2] : -# 1394| m1394_2(copy_constructor) = Uninitialized[d2] : &:r1394_1 -# 1394| r1394_3(glval) = FunctionAddress[copy_constructor] : -# 1394| v1394_4(void) = Call[copy_constructor] : func:r1394_3, this:r1394_1 -# 1394| m1394_5(unknown) = ^CallSideEffect : ~m1393_6 -# 1394| m1394_6(unknown) = Chi : total:m1393_6, partial:m1394_5 -# 1394| m1394_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1394_1 -# 1394| m1394_8(copy_constructor) = Chi : total:m1394_2, partial:m1394_7 -# 1395| r1395_1(glval) = FunctionAddress[acceptRef] : -# 1395| r1395_2(glval) = VariableAddress[d] : -# 1395| r1395_3(glval) = Convert : r1395_2 -# 1395| r1395_4(copy_constructor &) = CopyValue : r1395_3 -# 1395| v1395_5(void) = Call[acceptRef] : func:r1395_1, 0:r1395_4 -# 1395| m1395_6(unknown) = ^CallSideEffect : ~m1394_6 -# 1395| m1395_7(unknown) = Chi : total:m1394_6, partial:m1395_6 -# 1395| v1395_8(void) = ^BufferReadSideEffect[0] : &:r1395_4, ~m1392_6 -# 1396| r1396_1(glval) = FunctionAddress[acceptValue] : -# 1396| r1396_2(glval) = VariableAddress[#temp1396:17] : -# 1396| m1396_3(copy_constructor) = Uninitialized[#temp1396:17] : &:r1396_2 -# 1396| r1396_4(glval) = FunctionAddress[copy_constructor] : -# 1396| r1396_5(glval) = VariableAddress[d] : -# 1396| r1396_6(glval) = Convert : r1396_5 -# 1396| r1396_7(copy_constructor &) = CopyValue : r1396_6 -# 1396| v1396_8(void) = Call[copy_constructor] : func:r1396_4, this:r1396_2, 0:r1396_7 -# 1396| m1396_9(unknown) = ^CallSideEffect : ~m1395_7 -# 1396| m1396_10(unknown) = Chi : total:m1395_7, partial:m1396_9 -# 1396| v1396_11(void) = ^BufferReadSideEffect[0] : &:r1396_7, ~m1392_6 -# 1396| m1396_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1396_2 -# 1396| m1396_13(copy_constructor) = Chi : total:m1396_3, partial:m1396_12 -# 1396| r1396_14(copy_constructor) = Load[#temp1396:17] : &:r1396_2, m1396_13 -# 1396| v1396_15(void) = Call[acceptValue] : func:r1396_1, 0:r1396_14 -# 1396| m1396_16(unknown) = ^CallSideEffect : ~m1396_10 -# 1396| m1396_17(unknown) = Chi : total:m1396_10, partial:m1396_16 -# 1397| r1397_1(glval) = VariableAddress[#temp1397:5] : -# 1397| m1397_2(copy_constructor) = Uninitialized[#temp1397:5] : &:r1397_1 -# 1397| r1397_3(glval) = FunctionAddress[copy_constructor] : -# 1397| v1397_4(void) = Call[copy_constructor] : func:r1397_3, this:r1397_1 -# 1397| m1397_5(unknown) = ^CallSideEffect : ~m1396_17 -# 1397| m1397_6(unknown) = Chi : total:m1396_17, partial:m1397_5 -# 1397| m1397_7(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1397_1 -# 1397| m1397_8(copy_constructor) = Chi : total:m1397_2, partial:m1397_7 -# 1397| r1397_9(glval) = FunctionAddress[method] : -# 1397| v1397_10(void) = Call[method] : func:r1397_9, this:r1397_1 -# 1397| m1397_11(unknown) = ^CallSideEffect : ~m1397_6 -# 1397| m1397_12(unknown) = Chi : total:m1397_6, partial:m1397_11 -# 1397| v1397_13(void) = ^IndirectReadSideEffect[-1] : &:r1397_1, m1397_8 -# 1397| m1397_14(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1397_1 -# 1397| m1397_15(copy_constructor) = Chi : total:m1397_8, partial:m1397_14 -# 1398| r1398_1(glval) = VariableAddress[#temp1398:5] : -# 1398| r1398_2(glval) = FunctionAddress[returnValue] : -# 1398| r1398_3(copy_constructor) = Call[returnValue] : func:r1398_2 -# 1398| m1398_4(unknown) = ^CallSideEffect : ~m1397_12 -# 1398| m1398_5(unknown) = Chi : total:m1397_12, partial:m1398_4 -# 1398| m1398_6(copy_constructor) = Store[#temp1398:5] : &:r1398_1, r1398_3 -# 1398| r1398_7(glval) = FunctionAddress[method] : -# 1398| v1398_8(void) = Call[method] : func:r1398_7, this:r1398_1 -# 1398| m1398_9(unknown) = ^CallSideEffect : ~m1398_5 -# 1398| m1398_10(unknown) = Chi : total:m1398_5, partial:m1398_9 -# 1398| v1398_11(void) = ^IndirectReadSideEffect[-1] : &:r1398_1, m1398_6 -# 1398| m1398_12(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1398_1 -# 1398| m1398_13(copy_constructor) = Chi : total:m1398_6, partial:m1398_12 +# 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 : +# 1381| v1381_5(void) = ReturnVoid : +# 1381| v1381_6(void) = AliasedUse : ~m1390_5 +# 1381| v1381_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| r1399_2(glval) = FunctionAddress[defaultConstruct] : -# 1399| r1399_3(copy_constructor) = Call[defaultConstruct] : func:r1399_2 -# 1399| m1399_4(unknown) = ^CallSideEffect : ~m1398_10 -# 1399| m1399_5(unknown) = Chi : total:m1398_10, partial:m1399_4 -# 1399| m1399_6(copy_constructor) = Store[#temp1399:5] : &:r1399_1, r1399_3 -# 1401| r1401_1(glval) = VariableAddress[y] : -# 1401| r1401_2(glval) = VariableAddress[#temp1401:13] : -# 1401| r1401_3(glval) = FunctionAddress[returnValue] : -# 1401| r1401_4(copy_constructor) = Call[returnValue] : func:r1401_3 -# 1401| m1401_5(unknown) = ^CallSideEffect : ~m1399_5 -# 1401| m1401_6(unknown) = Chi : total:m1399_5, partial:m1401_5 -# 1401| m1401_7(copy_constructor) = Store[#temp1401:13] : &:r1401_2, r1401_4 -# 1401| r1401_8(glval) = FieldAddress[y] : r1401_2 -# 1401| r1401_9(int) = Load[?] : &:r1401_8, ~m1401_7 -# 1401| m1401_10(int) = Store[y] : &:r1401_1, r1401_9 -# 1402| v1402_1(void) = NoOp : -# 1391| v1391_5(void) = ReturnVoid : -# 1391| v1391_6(void) = AliasedUse : ~m1401_6 -# 1391| v1391_7(void) = ExitFunction : - -# 1404| void temporary_point() -# 1404| Block 0 -# 1404| v1404_1(void) = EnterFunction : -# 1404| m1404_2(unknown) = AliasedDefinition : -# 1404| m1404_3(unknown) = InitializeNonLocal : -# 1404| m1404_4(unknown) = Chi : total:m1404_2, partial:m1404_3 -# 1405| r1405_1(glval) = VariableAddress[p] : -# 1405| r1405_2(glval) = FunctionAddress[returnValue] : -# 1405| r1405_3(Point) = Call[returnValue] : func:r1405_2 -# 1405| m1405_4(unknown) = ^CallSideEffect : ~m1404_4 -# 1405| m1405_5(unknown) = Chi : total:m1404_4, partial:m1405_4 -# 1405| m1405_6(Point) = Store[p] : &:r1405_1, r1405_3 -# 1406| r1406_1(glval) = VariableAddress[rp] : -# 1406| r1406_2(glval) = VariableAddress[#temp1406:23] : -# 1406| r1406_3(glval) = FunctionAddress[returnValue] : -# 1406| r1406_4(Point) = Call[returnValue] : func:r1406_3 -# 1406| m1406_5(unknown) = ^CallSideEffect : ~m1405_5 -# 1406| m1406_6(unknown) = Chi : total:m1405_5, partial:m1406_5 -# 1406| m1406_7(Point) = Store[#temp1406:23] : &:r1406_2, r1406_4 -# 1406| r1406_8(glval) = Convert : r1406_2 -# 1406| r1406_9(Point &) = CopyValue : r1406_8 -# 1406| m1406_10(Point &) = Store[rp] : &:r1406_1, r1406_9 -# 1408| r1408_1(glval) = FunctionAddress[acceptRef] : -# 1408| r1408_2(glval) = VariableAddress[p] : -# 1408| r1408_3(glval) = Convert : r1408_2 -# 1408| r1408_4(Point &) = CopyValue : r1408_3 -# 1408| v1408_5(void) = Call[acceptRef] : func:r1408_1, 0:r1408_4 -# 1408| m1408_6(unknown) = ^CallSideEffect : ~m1406_6 -# 1408| m1408_7(unknown) = Chi : total:m1406_6, partial:m1408_6 -# 1408| v1408_8(void) = ^BufferReadSideEffect[0] : &:r1408_4, ~m1405_6 -# 1409| r1409_1(glval) = FunctionAddress[acceptValue] : -# 1409| r1409_2(glval) = VariableAddress[p] : -# 1409| r1409_3(Point) = Load[p] : &:r1409_2, m1405_6 -# 1409| v1409_4(void) = Call[acceptValue] : func:r1409_1, 0:r1409_3 -# 1409| m1409_5(unknown) = ^CallSideEffect : ~m1408_7 -# 1409| m1409_6(unknown) = Chi : total:m1408_7, partial:m1409_5 -# 1410| r1410_1(int) = Constant[0] : -# 1411| r1411_1(glval) = VariableAddress[y] : -# 1411| r1411_2(glval) = FunctionAddress[returnValue] : -# 1411| r1411_3(Point) = Call[returnValue] : func:r1411_2 -# 1411| m1411_4(unknown) = ^CallSideEffect : ~m1409_6 -# 1411| m1411_5(unknown) = Chi : total:m1409_6, partial:m1411_4 -# 1411| r1411_6(glval) = VariableAddress[#temp1411:13] : -# 1411| m1411_7(Point) = Store[#temp1411:13] : &:r1411_6, r1411_3 -# 1411| r1411_8(glval) = FieldAddress[y] : r1411_6 -# 1411| r1411_9(int) = Load[?] : &:r1411_8, ~m1411_7 -# 1411| m1411_10(int) = Store[y] : &:r1411_1, r1411_9 -# 1413| r1413_1(glval) = FunctionAddress[defaultConstruct] : -# 1413| r1413_2(Point) = Call[defaultConstruct] : func:r1413_1 -# 1413| m1413_3(unknown) = ^CallSideEffect : ~m1411_5 -# 1413| m1413_4(unknown) = Chi : total:m1411_5, partial:m1413_3 -# 1414| v1414_1(void) = NoOp : -# 1404| v1404_5(void) = ReturnVoid : -# 1404| v1404_6(void) = AliasedUse : ~m1413_4 -# 1404| v1404_7(void) = ExitFunction : - -# 1421| void temporary_unusual_fields() -# 1421| Block 0 -# 1421| v1421_1(void) = EnterFunction : -# 1421| m1421_2(unknown) = AliasedDefinition : -# 1421| m1421_3(unknown) = InitializeNonLocal : -# 1421| m1421_4(unknown) = Chi : total:m1421_2, partial:m1421_3 -# 1422| r1422_1(glval) = VariableAddress[rx] : -# 1422| r1422_2(glval) = FunctionAddress[returnValue] : -# 1422| r1422_3(UnusualFields) = Call[returnValue] : func:r1422_2 -# 1422| m1422_4(unknown) = ^CallSideEffect : ~m1421_4 -# 1422| m1422_5(unknown) = Chi : total:m1421_4, partial:m1422_4 -# 1422| r1422_6(glval) = VariableAddress[#temp1422:21] : -# 1422| m1422_7(UnusualFields) = Store[#temp1422:21] : &:r1422_6, r1422_3 -# 1422| r1422_8(glval) = FieldAddress[r] : r1422_6 -# 1422| r1422_9(int &) = Load[?] : &:r1422_8, ~m1422_7 -# 1422| r1422_10(glval) = CopyValue : r1422_9 -# 1422| r1422_11(glval) = Convert : r1422_10 -# 1422| r1422_12(int &) = CopyValue : r1422_11 -# 1422| m1422_13(int &) = Store[rx] : &:r1422_1, r1422_12 -# 1423| r1423_1(glval) = VariableAddress[x] : -# 1423| r1423_2(glval) = FunctionAddress[returnValue] : -# 1423| r1423_3(UnusualFields) = Call[returnValue] : func:r1423_2 -# 1423| m1423_4(unknown) = ^CallSideEffect : ~m1422_5 -# 1423| m1423_5(unknown) = Chi : total:m1422_5, partial:m1423_4 -# 1423| r1423_6(glval) = VariableAddress[#temp1423:13] : -# 1423| m1423_7(UnusualFields) = Store[#temp1423:13] : &:r1423_6, r1423_3 -# 1423| r1423_8(glval) = FieldAddress[r] : r1423_6 -# 1423| r1423_9(int &) = Load[?] : &:r1423_8, ~m1423_7 -# 1423| r1423_10(int) = Load[?] : &:r1423_9, ~m1423_5 -# 1423| m1423_11(int) = Store[x] : &:r1423_1, r1423_10 -# 1425| r1425_1(glval) = VariableAddress[rf] : +# 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 : + +# 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 : + +# 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 : ~m1423_5 -# 1425| m1425_5(unknown) = Chi : total:m1423_5, partial:m1425_4 -# 1425| r1425_6(glval) = VariableAddress[#temp1425:23] : -# 1425| m1425_7(UnusualFields) = Store[#temp1425:23] : &:r1425_6, r1425_3 -# 1425| r1425_8(glval) = FieldAddress[a] : r1425_6 -# 1425| r1425_9(float *) = Convert : r1425_8 -# 1425| r1425_10(int) = Constant[3] : -# 1425| r1425_11(glval) = PointerAdd[4] : r1425_9, r1425_10 -# 1425| r1425_12(glval) = Convert : r1425_11 -# 1425| r1425_13(float &) = CopyValue : r1425_12 -# 1425| m1425_14(float &) = Store[rf] : &:r1425_1, r1425_13 -# 1426| r1426_1(glval) = VariableAddress[f] : -# 1426| r1426_2(glval) = FunctionAddress[returnValue] : -# 1426| r1426_3(UnusualFields) = Call[returnValue] : func:r1426_2 -# 1426| m1426_4(unknown) = ^CallSideEffect : ~m1425_5 -# 1426| m1426_5(unknown) = Chi : total:m1425_5, partial:m1426_4 -# 1426| r1426_6(glval) = VariableAddress[#temp1426:15] : -# 1426| m1426_7(UnusualFields) = Store[#temp1426:15] : &:r1426_6, r1426_3 -# 1426| r1426_8(glval) = FieldAddress[a] : r1426_6 -# 1426| r1426_9(float *) = Convert : r1426_8 -# 1426| r1426_10(int) = Constant[5] : -# 1426| r1426_11(glval) = PointerAdd[4] : r1426_9, r1426_10 -# 1426| r1426_12(float) = Load[?] : &:r1426_11, ~m1426_7 -# 1426| m1426_13(float) = Store[f] : &:r1426_1, r1426_12 -# 1427| v1427_1(void) = NoOp : -# 1421| v1421_5(void) = ReturnVoid : -# 1421| v1421_6(void) = AliasedUse : ~m1426_5 -# 1421| v1421_7(void) = ExitFunction : - -# 1443| void temporary_hierarchy() -# 1443| Block 0 -# 1443| v1443_1(void) = EnterFunction : -# 1443| m1443_2(unknown) = AliasedDefinition : -# 1443| m1443_3(unknown) = InitializeNonLocal : -# 1443| m1443_4(unknown) = Chi : total:m1443_2, partial:m1443_3 -# 1444| r1444_1(glval) = VariableAddress[b] : +# 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 : + +# 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] : #-----| r0_1(glval) = VariableAddress[#temp0:0] : -# 1444| r1444_2(glval) = FunctionAddress[returnValue] : -# 1444| r1444_3(POD_Middle) = Call[returnValue] : func:r1444_2 -# 1444| m1444_4(unknown) = ^CallSideEffect : ~m1443_4 -# 1444| m1444_5(unknown) = Chi : total:m1443_4, partial:m1444_4 -# 1444| m1444_6(POD_Middle) = Store[#temp0:0] : &:r0_1, r1444_3 -#-----| r0_2(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1 -#-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m1444_6 -#-----| m0_4(POD_Base) = Store[b] : &:r1444_1, r0_3 -# 1445| r1445_1(glval) = VariableAddress[#temp1445:9] : -# 1445| r1445_2(glval) = FunctionAddress[returnValue] : -# 1445| r1445_3(POD_Derived) = Call[returnValue] : func:r1445_2 -# 1445| m1445_4(unknown) = ^CallSideEffect : ~m1444_5 -# 1445| m1445_5(unknown) = Chi : total:m1444_5, partial:m1445_4 -# 1445| m1445_6(POD_Derived) = Store[#temp1445:9] : &:r1445_1, r1445_3 -# 1445| r1445_7(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1445_1 -# 1445| r1445_8(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1445_7 -# 1445| r1445_9(POD_Base) = Load[?] : &:r1445_8, ~m1445_6 -# 1445| r1445_10(glval) = VariableAddress[b] : -# 1445| m1445_11(POD_Base) = Store[b] : &:r1445_10, r1445_9 -# 1446| r1446_1(glval) = VariableAddress[x] : -#-----| r0_5(glval) = VariableAddress[#temp0:0] : # 1446| r1446_2(glval) = FunctionAddress[returnValue] : -# 1446| r1446_3(POD_Derived) = Call[returnValue] : func:r1446_2 -# 1446| m1446_4(unknown) = ^CallSideEffect : ~m1445_5 -# 1446| m1446_5(unknown) = Chi : total:m1445_5, partial:m1446_4 -# 1446| m1446_6(POD_Derived) = Store[#temp0:0] : &:r0_5, r1446_3 -#-----| r0_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5 -#-----| r0_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6 -# 1446| r1446_7(glval) = FieldAddress[x] : r0_7 -# 1446| r1446_8(int) = Load[?] : &:r1446_7, ~m1446_6 -# 1446| m1446_9(int) = Store[x] : &:r1446_1, r1446_8 -# 1447| r1447_1(glval) = VariableAddress[f] : -#-----| r0_8(glval) = VariableAddress[#temp0:0] : +# 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 +#-----| 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[#temp0:0] : &:r0_8, r1447_3 +# 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_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 +#-----| 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] : +#-----| 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 #-----| 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 -# 1447| r1447_7(glval) = FunctionAddress[f] : -# 1447| r1447_8(float) = Call[f] : func:r1447_7, this:r0_11 -# 1447| m1447_9(unknown) = ^CallSideEffect : ~m1447_5 -# 1447| m1447_10(unknown) = Chi : total:m1447_5, partial:m1447_9 -#-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m1447_6 -# 1447| m1447_11(float) = Store[f] : &:r1447_1, r1447_8 -# 1448| v1448_1(void) = NoOp : -# 1443| v1443_5(void) = ReturnVoid : -# 1443| v1443_6(void) = AliasedUse : ~m1447_10 -# 1443| v1443_7(void) = ExitFunction : - -# 1451| void Inheritance_Test_B::~Inheritance_Test_B() -# 1451| Block 0 -# 1451| v1451_1(void) = EnterFunction : -# 1451| m1451_2(unknown) = AliasedDefinition : -# 1451| m1451_3(unknown) = InitializeNonLocal : -# 1451| m1451_4(unknown) = Chi : total:m1451_2, partial:m1451_3 -# 1451| r1451_5(glval) = VariableAddress[#this] : -# 1451| m1451_6(glval) = InitializeParameter[#this] : &:r1451_5 -# 1451| r1451_7(glval) = Load[#this] : &:r1451_5, m1451_6 -# 1451| m1451_8(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1451_7 -# 1451| v1451_9(void) = NoOp : -# 1451| v1451_10(void) = ReturnIndirection[#this] : &:r1451_7, m1451_8 -# 1451| v1451_11(void) = ReturnVoid : -# 1451| v1451_12(void) = AliasedUse : m1451_3 -# 1451| v1451_13(void) = ExitFunction : - -# 1457| void Inheritance_Test_A::Inheritance_Test_A() -# 1457| Block 0 -# 1457| v1457_1(void) = EnterFunction : -# 1457| m1457_2(unknown) = AliasedDefinition : -# 1457| m1457_3(unknown) = InitializeNonLocal : -# 1457| m1457_4(unknown) = Chi : total:m1457_2, partial:m1457_3 -# 1457| r1457_5(glval) = VariableAddress[#this] : -# 1457| m1457_6(glval) = InitializeParameter[#this] : &:r1457_5 -# 1457| r1457_7(glval) = Load[#this] : &:r1457_5, m1457_6 -# 1457| m1457_8(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1457_7 -# 1457| r1457_9(glval) = FieldAddress[x] : m1457_6 -# 1457| r1457_10(int) = Constant[42] : -# 1457| m1457_11(int) = Store[?] : &:r1457_9, r1457_10 -# 1457| m1457_12(unknown) = Chi : total:m1457_8, partial:m1457_11 -# 1458| r1458_1(int) = Constant[3] : -# 1458| r1458_2(glval) = VariableAddress[#this] : -# 1458| r1458_3(Inheritance_Test_A *) = Load[#this] : &:r1458_2, m1457_6 -# 1458| r1458_4(glval) = FieldAddress[y] : r1458_3 -# 1458| m1458_5(int) = Store[?] : &:r1458_4, r1458_1 -# 1458| m1458_6(unknown) = Chi : total:m1457_12, partial:m1458_5 -# 1459| v1459_1(void) = NoOp : -# 1457| v1457_13(void) = ReturnIndirection[#this] : &:r1457_7, m1458_6 -# 1457| v1457_14(void) = ReturnVoid : -# 1457| v1457_15(void) = AliasedUse : m1457_3 -# 1457| v1457_16(void) = ExitFunction : - -# 1462| void array_structured_binding() -# 1462| Block 0 -# 1462| v1462_1(void) = EnterFunction : -# 1462| m1462_2(unknown) = AliasedDefinition : -# 1462| m1462_3(unknown) = InitializeNonLocal : -# 1462| m1462_4(unknown) = Chi : total:m1462_2, partial:m1462_3 -# 1463| r1463_1(glval) = VariableAddress[xs] : -# 1463| m1463_2(int[2]) = Uninitialized[xs] : &:r1463_1 -# 1463| r1463_3(int) = Constant[0] : -# 1463| r1463_4(glval) = PointerAdd[4] : r1463_1, r1463_3 -# 1463| r1463_5(int) = Constant[1] : -# 1463| m1463_6(int) = Store[?] : &:r1463_4, r1463_5 -# 1463| m1463_7(int[2]) = Chi : total:m1463_2, partial:m1463_6 -# 1463| r1463_8(int) = Constant[1] : -# 1463| r1463_9(glval) = PointerAdd[4] : r1463_1, r1463_8 -# 1463| r1463_10(int) = Constant[2] : -# 1463| m1463_11(int) = Store[?] : &:r1463_9, r1463_10 -# 1463| m1463_12(int[2]) = Chi : total:m1463_7, partial:m1463_11 -# 1466| r1466_1(glval) = VariableAddress[(unnamed local variable)] : -# 1466| r1466_2(glval) = VariableAddress[xs] : -# 1466| r1466_3(int(&)[2]) = CopyValue : r1466_2 -# 1466| m1466_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1466_1, r1466_3 -# 1466| r1466_5(glval) = VariableAddress[x0] : +# 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 : + +# 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 : + +# 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 : + +# 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] : #-----| r0_1(glval) = VariableAddress[(unnamed local variable)] : -#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1466_4 +#-----| r0_2(int(&)[2]) = Load[(unnamed local variable)] : &:r0_1, m1468_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] : &:r1466_5, r0_6 -# 1466| r1466_6(glval) = VariableAddress[x1] : +#-----| m0_7(int &) = Store[x0] : &:r1468_5, r0_6 +# 1468| r1468_6(glval) = VariableAddress[x1] : #-----| r0_8(glval) = VariableAddress[(unnamed local variable)] : -#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1466_4 +#-----| r0_9(int(&)[2]) = Load[(unnamed local variable)] : &:r0_8, m1468_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] : &:r1466_6, r0_13 -# 1467| r1467_1(int) = Constant[3] : -# 1467| r1467_2(glval) = VariableAddress[x1] : -# 1467| r1467_3(int &) = Load[x1] : &:r1467_2, m0_14 -# 1467| m1467_4(int) = Store[?] : &:r1467_3, r1467_1 -# 1467| m1467_5(int[2]) = Chi : total:m1463_12, partial:m1467_4 -# 1468| r1468_1(glval) = VariableAddress[rx1] : -# 1468| r1468_2(glval) = VariableAddress[x1] : -# 1468| r1468_3(int &) = Load[x1] : &:r1468_2, m0_14 -# 1468| r1468_4(int &) = CopyValue : r1468_3 -# 1468| m1468_5(int &) = Store[rx1] : &:r1468_1, r1468_4 -# 1469| r1469_1(glval) = VariableAddress[x] : +#-----| 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| r1469_4(int) = Load[?] : &:r1469_3, m1467_4 -# 1469| m1469_5(int) = Store[x] : &:r1469_1, r1469_4 -# 1473| r1473_1(glval) = VariableAddress[unnamed_local_variable] : -# 1473| r1473_2(glval) = VariableAddress[xs] : -# 1473| r1473_3(int(&)[2]) = CopyValue : r1473_2 -# 1473| m1473_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1473_1, r1473_3 -# 1474| r1474_1(glval) = VariableAddress[x0] : -# 1474| r1474_2(glval) = VariableAddress[unnamed_local_variable] : -# 1474| r1474_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1474_2, m1473_4 -# 1474| r1474_4(glval) = CopyValue : r1474_3 -# 1474| r1474_5(int *) = Convert : r1474_4 -# 1474| r1474_6(int) = Constant[0] : -# 1474| r1474_7(glval) = PointerAdd[4] : r1474_5, r1474_6 -# 1474| r1474_8(int &) = CopyValue : r1474_7 -# 1474| m1474_9(int &) = Store[x0] : &:r1474_1, r1474_8 -# 1475| r1475_1(glval) = VariableAddress[x1] : -# 1475| r1475_2(glval) = VariableAddress[unnamed_local_variable] : -# 1475| r1475_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1475_2, m1473_4 -# 1475| r1475_4(glval) = CopyValue : r1475_3 -# 1475| r1475_5(int *) = Convert : r1475_4 -# 1475| r1475_6(int) = Constant[1] : -# 1475| r1475_7(glval) = PointerAdd[4] : r1475_5, r1475_6 -# 1475| r1475_8(int &) = CopyValue : r1475_7 -# 1475| m1475_9(int &) = Store[x1] : &:r1475_1, r1475_8 -# 1476| r1476_1(int) = Constant[3] : -# 1476| r1476_2(glval) = VariableAddress[x1] : -# 1476| r1476_3(int &) = Load[x1] : &:r1476_2, m1475_9 -# 1476| r1476_4(glval) = CopyValue : r1476_3 -# 1476| m1476_5(int) = Store[?] : &:r1476_4, r1476_1 -# 1476| m1476_6(int[2]) = Chi : total:m1467_5, partial:m1476_5 -# 1477| r1477_1(glval) = VariableAddress[rx1] : -# 1477| r1477_2(glval) = VariableAddress[x1] : -# 1477| r1477_3(int &) = Load[x1] : &:r1477_2, m1475_9 -# 1477| r1477_4(glval) = CopyValue : r1477_3 -# 1477| r1477_5(int &) = CopyValue : r1477_4 -# 1477| m1477_6(int &) = Store[rx1] : &:r1477_1, r1477_5 -# 1478| r1478_1(glval) = VariableAddress[x] : +# 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, m1475_9 -# 1478| r1478_4(int) = Load[?] : &:r1478_3, m1476_5 -# 1478| m1478_5(int) = Store[x] : &:r1478_1, r1478_4 -# 1480| v1480_1(void) = NoOp : -# 1462| v1462_5(void) = ReturnVoid : -# 1462| v1462_6(void) = AliasedUse : m1462_3 -# 1462| v1462_7(void) = ExitFunction : - -# 1482| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1482| Block 0 -# 1482| v1482_1(void) = EnterFunction : -# 1482| m1482_2(unknown) = AliasedDefinition : -# 1482| m1482_3(unknown) = InitializeNonLocal : -# 1482| m1482_4(unknown) = Chi : total:m1482_2, partial:m1482_3 -# 1482| r1482_5(glval) = VariableAddress[#this] : -# 1482| m1482_6(glval) = InitializeParameter[#this] : &:r1482_5 -# 1482| r1482_7(glval) = Load[#this] : &:r1482_5, m1482_6 -# 1482| m1482_8(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1482_7 -# 1482| v1482_9(void) = NoOp : -# 1482| v1482_10(void) = ReturnIndirection[#this] : &:r1482_7, m1482_8 -# 1482| v1482_11(void) = ReturnVoid : -# 1482| v1482_12(void) = AliasedUse : m1482_3 -# 1482| v1482_13(void) = ExitFunction : - -# 1486| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1486| Block 0 -# 1486| v1486_1(void) = EnterFunction : -# 1486| m1486_2(unknown) = AliasedDefinition : -# 1486| m1486_3(unknown) = InitializeNonLocal : -# 1486| m1486_4(unknown) = Chi : total:m1486_2, partial:m1486_3 -# 1486| r1486_5(glval) = VariableAddress[#this] : -# 1486| m1486_6(glval) = InitializeParameter[#this] : &:r1486_5 -# 1486| r1486_7(glval) = Load[#this] : &:r1486_5, m1486_6 -# 1486| m1486_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1486_7 -# 1486| v1486_9(void) = NoOp : -# 1486| v1486_10(void) = ReturnIndirection[#this] : &:r1486_7, m1486_8 -# 1486| v1486_11(void) = ReturnVoid : -# 1486| v1486_12(void) = AliasedUse : m1486_3 -# 1486| v1486_13(void) = ExitFunction : - -# 1486| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1486| Block 0 -# 1486| v1486_1(void) = EnterFunction : -# 1486| m1486_2(unknown) = AliasedDefinition : -# 1486| m1486_3(unknown) = InitializeNonLocal : -# 1486| m1486_4(unknown) = Chi : total:m1486_2, partial:m1486_3 -# 1486| r1486_5(glval) = VariableAddress[#this] : -# 1486| m1486_6(glval) = InitializeParameter[#this] : &:r1486_5 -# 1486| r1486_7(glval) = Load[#this] : &:r1486_5, m1486_6 -# 1486| m1486_8(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1486_7 +# 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 : + +# 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 : + +# 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 : + +# 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 #-----| 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 -# 1486| r1486_9(glval) = FieldAddress[i] : m1486_6 -# 1486| r1486_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_11(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_10, m0_2 -# 1486| r1486_12(glval) = CopyValue : r1486_11 -# 1486| r1486_13(glval) = FieldAddress[i] : r1486_12 -# 1486| r1486_14(int) = Load[?] : &:r1486_13, ~m0_4 -# 1486| m1486_15(int) = Store[?] : &:r1486_9, r1486_14 -# 1486| m1486_16(unknown) = Chi : total:m1486_8, partial:m1486_15 -# 1486| r1486_17(glval) = FieldAddress[d] : m1486_6 -# 1486| r1486_18(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_19(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_18, m0_2 -# 1486| r1486_20(glval) = CopyValue : r1486_19 -# 1486| r1486_21(glval) = FieldAddress[d] : r1486_20 -# 1486| r1486_22(double) = Load[?] : &:r1486_21, ~m0_4 -# 1486| m1486_23(double) = Store[?] : &:r1486_17, r1486_22 -# 1486| m1486_24(unknown) = Chi : total:m1486_16, partial:m1486_23 -# 1486| r1486_25(glval) = FieldAddress[b] : m1486_6 -# 1486| r1486_26(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_27(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_26, m0_2 -# 1486| r1486_28(glval) = CopyValue : r1486_27 -# 1486| r1486_29(glval) = FieldAddress[b] : r1486_28 -# 1486| r1486_30(unsigned int) = Load[?] : &:r1486_29, ~m0_4 -# 1486| m1486_31(unsigned int) = Store[?] : &:r1486_25, r1486_30 -# 1486| m1486_32(unknown) = Chi : total:m1486_24, partial:m1486_31 -# 1486| r1486_33(glval) = FieldAddress[r] : m1486_6 -# 1486| r1486_34(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_35(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_34, m0_2 -# 1486| r1486_36(glval) = CopyValue : r1486_35 -# 1486| r1486_37(glval) = FieldAddress[r] : r1486_36 -# 1486| r1486_38(int &) = Load[?] : &:r1486_37, ~m0_4 -# 1486| m1486_39(int &) = Store[?] : &:r1486_33, r1486_38 -# 1486| m1486_40(unknown) = Chi : total:m1486_32, partial:m1486_39 -# 1486| r1486_41(glval) = FieldAddress[p] : m1486_6 -# 1486| r1486_42(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_43(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_42, m0_2 -# 1486| r1486_44(glval) = CopyValue : r1486_43 -# 1486| r1486_45(glval) = FieldAddress[p] : r1486_44 -# 1486| r1486_46(int *) = Load[?] : &:r1486_45, ~m0_4 -# 1486| m1486_47(int *) = Store[?] : &:r1486_41, r1486_46 -# 1486| m1486_48(unknown) = Chi : total:m1486_40, partial:m1486_47 -# 1486| r1486_49(glval) = FieldAddress[xs] : m1486_6 -# 1486| r1486_50(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_51(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_50, m0_2 -# 1486| r1486_52(glval) = CopyValue : r1486_51 -# 1486| r1486_53(glval) = FieldAddress[xs] : r1486_52 -# 1486| r1486_54(int[2]) = Load[?] : &:r1486_53, ~m0_4 -# 1486| m1486_55(int[2]) = Store[?] : &:r1486_49, r1486_54 -# 1486| m1486_56(unknown) = Chi : total:m1486_48, partial:m1486_55 -# 1486| r1486_57(glval) = FieldAddress[r_alt] : m1486_6 -# 1486| r1486_58(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_58, m0_2 -# 1486| r1486_60(glval) = CopyValue : r1486_59 -# 1486| r1486_61(glval) = FieldAddress[r_alt] : r1486_60 -# 1486| r1486_62(int &) = Load[?] : &:r1486_61, ~m0_4 -# 1486| m1486_63(int &) = Store[?] : &:r1486_57, r1486_62 -# 1486| m1486_64(unknown) = Chi : total:m1486_56, partial:m1486_63 -# 1486| r1486_65(glval) = FieldAddress[m] : m1486_6 -# 1486| r1486_66(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_67(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_66, m0_2 -# 1486| r1486_68(glval) = CopyValue : r1486_67 -# 1486| r1486_69(glval) = FieldAddress[m] : r1486_68 -# 1486| r1486_70(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1486_69, ~m0_4 -# 1486| m1486_71(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1486_65, r1486_70 -# 1486| m1486_72(unknown) = Chi : total:m1486_64, partial:m1486_71 -# 1486| v1486_73(void) = NoOp : -# 1486| v1486_74(void) = ReturnIndirection[#this] : &:r1486_7, m1486_72 +# 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 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1486| v1486_75(void) = ReturnVoid : -# 1486| v1486_76(void) = AliasedUse : m1486_3 -# 1486| v1486_77(void) = ExitFunction : - -# 1499| void data_member_structured_binding() -# 1499| Block 0 -# 1499| v1499_1(void) = EnterFunction : -# 1499| m1499_2(unknown) = AliasedDefinition : -# 1499| m1499_3(unknown) = InitializeNonLocal : -# 1499| m1499_4(unknown) = Chi : total:m1499_2, partial:m1499_3 -# 1500| r1500_1(glval) = VariableAddress[s] : -# 1500| m1500_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1500_1 -# 1500| r1500_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : -# 1500| v1500_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1500_3, this:r1500_1 -# 1500| m1500_5(unknown) = ^CallSideEffect : ~m1499_4 -# 1500| m1500_6(unknown) = Chi : total:m1499_4, partial:m1500_5 -# 1500| m1500_7(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1500_1 -# 1500| m1500_8(StructuredBindingDataMemberStruct) = Chi : total:m1500_2, partial:m1500_7 -# 1503| r1503_1(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_2(glval) = VariableAddress[s] : -# 1503| r1503_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1503_2, m1500_8 -# 1503| m1503_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1503_1, r1503_3 -# 1503| r1503_5(glval) = VariableAddress[i] : -# 1503| r1503_6(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_7(glval) = FieldAddress[i] : r1503_6 -# 1503| m1503_8(int &) = Store[i] : &:r1503_5, r1503_7 -# 1503| r1503_9(glval) = VariableAddress[d] : -# 1503| r1503_10(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_11(glval) = FieldAddress[d] : r1503_10 -# 1503| m1503_12(double &) = Store[d] : &:r1503_9, r1503_11 -# 1503| r1503_13(glval) = VariableAddress[b] : -# 1503| r1503_14(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_15(glval) = FieldAddress[b] : r1503_14 -# 1503| m1503_16(unsigned int &) = Store[b] : &:r1503_13, r1503_15 -# 1503| r1503_17(glval) = VariableAddress[r] : -# 1503| r1503_18(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_19(glval) = FieldAddress[r] : r1503_18 -# 1503| r1503_20(int &) = Load[?] : &:r1503_19, ~m1503_4 -# 1503| r1503_21(glval) = CopyValue : r1503_20 -# 1503| m1503_22(int &) = Store[r] : &:r1503_17, r1503_21 -# 1503| r1503_23(glval) = VariableAddress[p] : -# 1503| r1503_24(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_25(glval) = FieldAddress[p] : r1503_24 -# 1503| m1503_26(int *&) = Store[p] : &:r1503_23, r1503_25 -# 1503| r1503_27(glval) = VariableAddress[xs] : -# 1503| r1503_28(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_29(glval) = FieldAddress[xs] : r1503_28 -# 1503| m1503_30(int(&)[2]) = Store[xs] : &:r1503_27, r1503_29 -# 1503| r1503_31(glval) = VariableAddress[r_alt] : -# 1503| r1503_32(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_33(glval) = FieldAddress[r_alt] : r1503_32 -# 1503| r1503_34(int &) = Load[?] : &:r1503_33, ~m1503_4 -# 1503| r1503_35(glval) = CopyValue : r1503_34 -# 1503| m1503_36(int &) = Store[r_alt] : &:r1503_31, r1503_35 -# 1503| r1503_37(glval) = VariableAddress[m] : -# 1503| r1503_38(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_39(glval) = FieldAddress[m] : r1503_38 -# 1503| m1503_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1503_37, r1503_39 -# 1504| r1504_1(double) = Constant[4.0] : -# 1504| r1504_2(glval) = VariableAddress[d] : -# 1504| r1504_3(double &) = Load[d] : &:r1504_2, m1503_12 -# 1504| m1504_4(double) = Store[?] : &:r1504_3, r1504_1 -# 1504| m1504_5(StructuredBindingDataMemberStruct) = Chi : total:m1503_4, partial:m1504_4 -# 1505| r1505_1(glval) = VariableAddress[rd] : -# 1505| r1505_2(glval) = VariableAddress[d] : -# 1505| r1505_3(double &) = Load[d] : &:r1505_2, m1503_12 -# 1505| r1505_4(double &) = CopyValue : r1505_3 -# 1505| m1505_5(double &) = Store[rd] : &:r1505_1, r1505_4 -# 1506| r1506_1(glval) = VariableAddress[v] : -# 1506| r1506_2(glval) = VariableAddress[i] : -# 1506| r1506_3(int &) = Load[i] : &:r1506_2, m1503_8 -# 1506| r1506_4(int) = Load[?] : &:r1506_3, ~m1503_4 -# 1506| m1506_5(int) = Store[v] : &:r1506_1, r1506_4 -# 1507| r1507_1(int) = Constant[5] : -# 1507| r1507_2(glval) = VariableAddress[r] : -# 1507| r1507_3(int &) = Load[r] : &:r1507_2, m1503_22 -# 1507| m1507_4(int) = Store[?] : &:r1507_3, r1507_1 -# 1507| m1507_5(unknown) = Chi : total:m1500_6, partial:m1507_4 -# 1508| r1508_1(int) = Constant[6] : -# 1508| r1508_2(glval) = VariableAddress[p] : -# 1508| r1508_3(int *&) = Load[p] : &:r1508_2, m1503_26 -# 1508| r1508_4(int *) = Load[?] : &:r1508_3, ~m1503_4 -# 1508| r1508_5(glval) = CopyValue : r1508_4 -# 1508| m1508_6(int) = Store[?] : &:r1508_5, r1508_1 -# 1508| m1508_7(unknown) = Chi : total:m1507_5, partial:m1508_6 -# 1509| r1509_1(glval) = VariableAddress[rr] : +# 1488| v1488_75(void) = ReturnVoid : +# 1488| v1488_76(void) = AliasedUse : m1488_3 +# 1488| v1488_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, m1503_22 -# 1509| r1509_4(int &) = CopyValue : r1509_3 -# 1509| m1509_5(int &) = Store[rr] : &:r1509_1, r1509_4 -# 1510| r1510_1(glval) = VariableAddress[pr] : -# 1510| r1510_2(glval) = VariableAddress[r] : -# 1510| r1510_3(int &) = Load[r] : &:r1510_2, m1503_22 -# 1510| r1510_4(int *) = CopyValue : r1510_3 -# 1510| m1510_5(int *) = Store[pr] : &:r1510_1, r1510_4 -# 1511| r1511_1(glval) = VariableAddress[w] : +# 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, m1503_22 -# 1511| r1511_4(int) = Load[?] : &:r1511_3, ~m1508_7 -# 1511| m1511_5(int) = Store[w] : &:r1511_1, r1511_4 -# 1515| r1515_1(glval) = VariableAddress[unnamed_local_variable] : -# 1515| r1515_2(glval) = VariableAddress[s] : -# 1515| r1515_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1515_2, m1500_8 -# 1515| m1515_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1515_1, r1515_3 -# 1516| r1516_1(glval) = VariableAddress[i] : -# 1516| r1516_2(glval) = VariableAddress[unnamed_local_variable] : -# 1516| r1516_3(glval) = FieldAddress[i] : r1516_2 -# 1516| r1516_4(int &) = CopyValue : r1516_3 -# 1516| m1516_5(int &) = Store[i] : &:r1516_1, r1516_4 -# 1517| r1517_1(glval) = VariableAddress[d] : -# 1517| r1517_2(glval) = VariableAddress[unnamed_local_variable] : -# 1517| r1517_3(glval) = FieldAddress[d] : r1517_2 -# 1517| r1517_4(double &) = CopyValue : r1517_3 -# 1517| m1517_5(double &) = Store[d] : &:r1517_1, r1517_4 -# 1519| r1519_1(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[r] : r1519_2 -# 1519| r1519_4(int &) = Load[?] : &:r1519_3, ~m1515_4 -# 1519| r1519_5(glval) = CopyValue : r1519_4 -# 1519| r1519_6(int &) = CopyValue : r1519_5 -# 1519| m1519_7(int &) = Store[r] : &:r1519_1, r1519_6 -# 1520| r1520_1(glval) = VariableAddress[p] : -# 1520| r1520_2(glval) = VariableAddress[unnamed_local_variable] : -# 1520| r1520_3(glval) = FieldAddress[p] : r1520_2 -# 1520| r1520_4(int *&) = CopyValue : r1520_3 -# 1520| m1520_5(int *&) = Store[p] : &:r1520_1, r1520_4 -# 1521| r1521_1(double) = Constant[4.0] : -# 1521| r1521_2(glval) = VariableAddress[d] : -# 1521| r1521_3(double &) = Load[d] : &:r1521_2, m1517_5 -# 1521| r1521_4(glval) = CopyValue : r1521_3 -# 1521| m1521_5(double) = Store[?] : &:r1521_4, r1521_1 -# 1521| m1521_6(StructuredBindingDataMemberStruct) = Chi : total:m1515_4, partial:m1521_5 -# 1522| r1522_1(glval) = VariableAddress[rd] : -# 1522| r1522_2(glval) = VariableAddress[d] : -# 1522| r1522_3(double &) = Load[d] : &:r1522_2, m1517_5 -# 1522| r1522_4(glval) = CopyValue : r1522_3 -# 1522| r1522_5(double &) = CopyValue : r1522_4 -# 1522| m1522_6(double &) = Store[rd] : &:r1522_1, r1522_5 -# 1523| r1523_1(glval) = VariableAddress[v] : -# 1523| r1523_2(glval) = VariableAddress[i] : -# 1523| r1523_3(int &) = Load[i] : &:r1523_2, m1516_5 -# 1523| r1523_4(int) = Load[?] : &:r1523_3, ~m1515_4 -# 1523| m1523_5(int) = Store[v] : &:r1523_1, r1523_4 -# 1524| r1524_1(int) = Constant[5] : -# 1524| r1524_2(glval) = VariableAddress[r] : -# 1524| r1524_3(int &) = Load[r] : &:r1524_2, m1519_7 -# 1524| r1524_4(glval) = CopyValue : r1524_3 -# 1524| m1524_5(int) = Store[?] : &:r1524_4, r1524_1 -# 1524| m1524_6(unknown) = Chi : total:m1508_7, partial:m1524_5 -# 1525| r1525_1(int) = Constant[6] : -# 1525| r1525_2(glval) = VariableAddress[p] : -# 1525| r1525_3(int *&) = Load[p] : &:r1525_2, m1520_5 -# 1525| r1525_4(int *) = Load[?] : &:r1525_3, ~m1515_4 -# 1525| r1525_5(glval) = CopyValue : r1525_4 -# 1525| m1525_6(int) = Store[?] : &:r1525_5, r1525_1 -# 1525| m1525_7(unknown) = Chi : total:m1524_6, partial:m1525_6 -# 1526| r1526_1(glval) = VariableAddress[rr] : +# 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, m1519_7 +# 1526| r1526_3(int &) = Load[r] : &:r1526_2, m1521_7 # 1526| r1526_4(glval) = CopyValue : r1526_3 -# 1526| r1526_5(int &) = CopyValue : r1526_4 -# 1526| m1526_6(int &) = Store[rr] : &:r1526_1, r1526_5 -# 1527| r1527_1(glval) = VariableAddress[pr] : -# 1527| r1527_2(glval) = VariableAddress[r] : -# 1527| r1527_3(int &) = Load[r] : &:r1527_2, m1519_7 -# 1527| r1527_4(glval) = CopyValue : r1527_3 -# 1527| r1527_5(int *) = CopyValue : r1527_4 -# 1527| m1527_6(int *) = Store[pr] : &:r1527_1, r1527_5 -# 1528| r1528_1(glval) = VariableAddress[w] : +# 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, m1519_7 -# 1528| r1528_4(int) = Load[?] : &:r1528_3, ~m1525_7 -# 1528| m1528_5(int) = Store[w] : &:r1528_1, r1528_4 -# 1530| v1530_1(void) = NoOp : -# 1499| v1499_5(void) = ReturnVoid : -# 1499| v1499_6(void) = AliasedUse : ~m1525_7 -# 1499| v1499_7(void) = ExitFunction : - -# 1539| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1539| Block 0 -# 1539| v1539_1(void) = EnterFunction : -# 1539| m1539_2(unknown) = AliasedDefinition : -# 1539| m1539_3(unknown) = InitializeNonLocal : -# 1539| m1539_4(unknown) = Chi : total:m1539_2, partial:m1539_3 -# 1539| r1539_5(glval) = VariableAddress[#this] : -# 1539| m1539_6(glval) = InitializeParameter[#this] : &:r1539_5 -# 1539| r1539_7(glval) = Load[#this] : &:r1539_5, m1539_6 -# 1539| m1539_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1539_7 -# 1539| v1539_9(void) = NoOp : -# 1539| v1539_10(void) = ReturnIndirection[#this] : &:r1539_7, m1539_8 -# 1539| v1539_11(void) = ReturnVoid : -# 1539| v1539_12(void) = AliasedUse : m1539_3 -# 1539| v1539_13(void) = ExitFunction : - -# 1539| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1539| Block 0 -# 1539| v1539_1(void) = EnterFunction : -# 1539| m1539_2(unknown) = AliasedDefinition : -# 1539| m1539_3(unknown) = InitializeNonLocal : -# 1539| m1539_4(unknown) = Chi : total:m1539_2, partial:m1539_3 -# 1539| r1539_5(glval) = VariableAddress[#this] : -# 1539| m1539_6(glval) = InitializeParameter[#this] : &:r1539_5 -# 1539| r1539_7(glval) = Load[#this] : &:r1539_5, m1539_6 -# 1539| m1539_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1539_7 +# 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 : + +# 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 : + +# 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 #-----| 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 -# 1539| r1539_9(glval) = FieldAddress[i] : m1539_6 -# 1539| r1539_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1539| r1539_11(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_10, m0_2 -# 1539| r1539_12(glval) = CopyValue : r1539_11 -# 1539| r1539_13(glval) = FieldAddress[i] : r1539_12 -# 1539| r1539_14(int) = Load[?] : &:r1539_13, ~m0_4 -# 1539| m1539_15(int) = Store[?] : &:r1539_9, r1539_14 -# 1539| m1539_16(unknown) = Chi : total:m1539_8, partial:m1539_15 -# 1539| r1539_17(glval) = FieldAddress[d] : m1539_6 -# 1539| r1539_18(glval) = VariableAddress[(unnamed parameter 0)] : -# 1539| r1539_19(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_18, m0_2 -# 1539| r1539_20(glval) = CopyValue : r1539_19 -# 1539| r1539_21(glval) = FieldAddress[d] : r1539_20 -# 1539| r1539_22(double) = Load[?] : &:r1539_21, ~m0_4 -# 1539| m1539_23(double) = Store[?] : &:r1539_17, r1539_22 -# 1539| m1539_24(unknown) = Chi : total:m1539_16, partial:m1539_23 -# 1539| r1539_25(glval) = FieldAddress[r] : m1539_6 -# 1539| r1539_26(glval) = VariableAddress[(unnamed parameter 0)] : -# 1539| r1539_27(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_26, m0_2 -# 1539| r1539_28(glval) = CopyValue : r1539_27 -# 1539| r1539_29(glval) = FieldAddress[r] : r1539_28 -# 1539| r1539_30(int &) = Load[?] : &:r1539_29, ~m0_4 -# 1539| m1539_31(int &) = Store[?] : &:r1539_25, r1539_30 -# 1539| m1539_32(unknown) = Chi : total:m1539_24, partial:m1539_31 -# 1539| v1539_33(void) = NoOp : -# 1539| v1539_34(void) = ReturnIndirection[#this] : &:r1539_7, m1539_32 +# 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 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1539| v1539_35(void) = ReturnVoid : -# 1539| v1539_36(void) = AliasedUse : m1539_3 -# 1539| v1539_37(void) = ExitFunction : - -# 1567| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1567| Block 0 -# 1567| v1567_1(void) = EnterFunction : -# 1567| m1567_2(unknown) = AliasedDefinition : -# 1567| m1567_3(unknown) = InitializeNonLocal : -# 1567| m1567_4(unknown) = Chi : total:m1567_2, partial:m1567_3 -# 1567| r1567_5(glval) = VariableAddress[#this] : -# 1567| m1567_6(glval) = InitializeParameter[#this] : &:r1567_5 -# 1567| r1567_7(glval) = Load[#this] : &:r1567_5, m1567_6 -# 1567| m1567_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1567_7 -# 1568| r1568_1(glval) = VariableAddress[#return] : -# 1568| r1568_2(glval) = VariableAddress[#this] : -# 1568| r1568_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1568_2, m1567_6 -# 1568| r1568_4(glval) = FieldAddress[i] : r1568_3 -#-----| r0_1(int &) = CopyValue : r1568_4 -#-----| m0_2(int &) = Store[#return] : &:r1568_1, r0_1 -# 1567| v1567_9(void) = ReturnIndirection[#this] : &:r1567_7, m1567_8 -# 1567| r1567_10(glval) = VariableAddress[#return] : -# 1567| v1567_11(void) = ReturnValue : &:r1567_10, m0_2 -# 1567| v1567_12(void) = AliasedUse : m1567_3 -# 1567| v1567_13(void) = ExitFunction : - -# 1571| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1571| Block 0 -# 1571| v1571_1(void) = EnterFunction : -# 1571| m1571_2(unknown) = AliasedDefinition : -# 1571| m1571_3(unknown) = InitializeNonLocal : -# 1571| m1571_4(unknown) = Chi : total:m1571_2, partial:m1571_3 -# 1571| r1571_5(glval) = VariableAddress[#this] : -# 1571| m1571_6(glval) = InitializeParameter[#this] : &:r1571_5 -# 1571| r1571_7(glval) = Load[#this] : &:r1571_5, m1571_6 -# 1571| m1571_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1571_7 -# 1572| r1572_1(glval) = VariableAddress[#return] : -# 1572| r1572_2(glval) = VariableAddress[#this] : -# 1572| r1572_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1572_2, m1571_6 -# 1572| r1572_4(glval) = FieldAddress[d] : r1572_3 -#-----| r0_1(double &) = CopyValue : r1572_4 -#-----| m0_2(double &) = Store[#return] : &:r1572_1, r0_1 -# 1571| v1571_9(void) = ReturnIndirection[#this] : &:r1571_7, m1571_8 -# 1571| r1571_10(glval) = VariableAddress[#return] : -# 1571| v1571_11(void) = ReturnValue : &:r1571_10, m0_2 -# 1571| v1571_12(void) = AliasedUse : m1571_3 -# 1571| v1571_13(void) = ExitFunction : - -# 1575| std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1575| Block 0 -# 1575| v1575_1(void) = EnterFunction : -# 1575| m1575_2(unknown) = AliasedDefinition : -# 1575| m1575_3(unknown) = InitializeNonLocal : -# 1575| m1575_4(unknown) = Chi : total:m1575_2, partial:m1575_3 -# 1575| r1575_5(glval) = VariableAddress[#this] : -# 1575| m1575_6(glval) = InitializeParameter[#this] : &:r1575_5 -# 1575| r1575_7(glval) = Load[#this] : &:r1575_5, m1575_6 -# 1575| m1575_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1575_7 -# 1576| r1576_1(glval) = VariableAddress[#return] : -# 1576| r1576_2(glval) = VariableAddress[#this] : -# 1576| r1576_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1576_2, m1575_6 -# 1576| r1576_4(glval) = FieldAddress[r] : r1576_3 -# 1576| r1576_5(int &) = Load[?] : &:r1576_4, ~m1575_8 -# 1576| r1576_6(glval) = CopyValue : r1576_5 -# 1576| r1576_7(int &) = CopyValue : r1576_6 -# 1576| m1576_8(int &) = Store[#return] : &:r1576_1, r1576_7 -# 1575| v1575_9(void) = ReturnIndirection[#this] : &:r1575_7, m1575_8 -# 1575| r1575_10(glval) = VariableAddress[#return] : -# 1575| v1575_11(void) = ReturnValue : &:r1575_10, m1576_8 -# 1575| v1575_12(void) = AliasedUse : m1575_3 -# 1575| v1575_13(void) = ExitFunction : - -# 1579| void tuple_structured_binding_ref_get() -# 1579| Block 0 -# 1579| v1579_1(void) = EnterFunction : -# 1579| m1579_2(unknown) = AliasedDefinition : -# 1579| m1579_3(unknown) = InitializeNonLocal : -# 1579| m1579_4(unknown) = Chi : total:m1579_2, partial:m1579_3 -# 1580| r1580_1(glval) = VariableAddress[t] : -# 1580| m1580_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1580_1 -# 1580| r1580_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : -# 1580| v1580_4(void) = Call[StructuredBindingTupleRefGet] : func:r1580_3, this:r1580_1 -# 1580| m1580_5(unknown) = ^CallSideEffect : ~m1579_4 -# 1580| m1580_6(unknown) = Chi : total:m1579_4, partial:m1580_5 -# 1580| m1580_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1580_1 -# 1580| m1580_8(StructuredBindingTupleRefGet) = Chi : total:m1580_2, partial:m1580_7 -# 1583| r1583_1(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_2(glval) = VariableAddress[t] : -# 1583| r1583_3(StructuredBindingTupleRefGet) = Load[t] : &:r1583_2, m1580_8 -# 1583| m1583_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1583_1, r1583_3 -# 1583| r1583_5(glval) = VariableAddress[i] : -# 1583| r1583_6(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_7(glval) = FunctionAddress[get] : -# 1583| r1583_8(int &) = Call[get] : func:r1583_7, this:r1583_6 -# 1583| m1583_9(unknown) = ^CallSideEffect : ~m1580_6 -# 1583| m1583_10(unknown) = Chi : total:m1580_6, partial:m1583_9 -# 1583| v1583_11(void) = ^IndirectReadSideEffect[-1] : &:r1583_6, m1583_4 -# 1583| m1583_12(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1583_6 -# 1583| m1583_13(StructuredBindingTupleRefGet) = Chi : total:m1583_4, partial:m1583_12 -# 1583| r1583_14(glval) = CopyValue : r1583_8 -# 1583| r1583_15(int &) = CopyValue : r1583_14 -# 1583| m1583_16(int &) = Store[i] : &:r1583_5, r1583_15 -# 1583| r1583_17(glval) = VariableAddress[d] : -# 1583| r1583_18(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_19(glval) = FunctionAddress[get] : -# 1583| r1583_20(double &) = Call[get] : func:r1583_19, this:r1583_18 -# 1583| m1583_21(unknown) = ^CallSideEffect : ~m1583_10 -# 1583| m1583_22(unknown) = Chi : total:m1583_10, partial:m1583_21 -# 1583| v1583_23(void) = ^IndirectReadSideEffect[-1] : &:r1583_18, m1583_13 -# 1583| m1583_24(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1583_18 -# 1583| m1583_25(StructuredBindingTupleRefGet) = Chi : total:m1583_13, partial:m1583_24 -# 1583| r1583_26(glval) = CopyValue : r1583_20 -# 1583| r1583_27(double &) = CopyValue : r1583_26 -# 1583| m1583_28(double &) = Store[d] : &:r1583_17, r1583_27 -# 1583| r1583_29(glval) = VariableAddress[r] : -# 1583| r1583_30(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_31(glval) = FunctionAddress[get] : -# 1583| r1583_32(int &) = Call[get] : func:r1583_31, this:r1583_30 -# 1583| m1583_33(unknown) = ^CallSideEffect : ~m1583_22 -# 1583| m1583_34(unknown) = Chi : total:m1583_22, partial:m1583_33 -# 1583| v1583_35(void) = ^IndirectReadSideEffect[-1] : &:r1583_30, m1583_25 -# 1583| m1583_36(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1583_30 -# 1583| m1583_37(StructuredBindingTupleRefGet) = Chi : total:m1583_25, partial:m1583_36 -# 1583| r1583_38(glval) = CopyValue : r1583_32 -# 1583| r1583_39(int &) = CopyValue : r1583_38 -# 1583| m1583_40(int &) = Store[r] : &:r1583_29, r1583_39 -# 1584| r1584_1(double) = Constant[4.0] : -# 1584| r1584_2(glval) = VariableAddress[d] : -# 1584| r1584_3(double &) = Load[d] : &:r1584_2, m1583_28 -# 1584| r1584_4(glval) = CopyValue : r1584_3 -# 1584| m1584_5(double) = Store[?] : &:r1584_4, r1584_1 -# 1584| m1584_6(StructuredBindingTupleRefGet) = Chi : total:m1583_37, partial:m1584_5 -# 1585| r1585_1(glval) = VariableAddress[rd] : -# 1585| r1585_2(glval) = VariableAddress[d] : -# 1585| r1585_3(double &) = Load[d] : &:r1585_2, m1583_28 -# 1585| r1585_4(glval) = CopyValue : r1585_3 -# 1585| r1585_5(double &) = CopyValue : r1585_4 -# 1585| m1585_6(double &) = Store[rd] : &:r1585_1, r1585_5 -# 1586| r1586_1(glval) = VariableAddress[v] : -# 1586| r1586_2(glval) = VariableAddress[i] : -# 1586| r1586_3(int &) = Load[i] : &:r1586_2, m1583_16 -# 1586| r1586_4(int) = Load[?] : &:r1586_3, ~m1583_37 -# 1586| m1586_5(int) = Store[v] : &:r1586_1, r1586_4 -# 1587| r1587_1(int) = Constant[5] : -# 1587| r1587_2(glval) = VariableAddress[r] : -# 1587| r1587_3(int &) = Load[r] : &:r1587_2, m1583_40 -# 1587| r1587_4(glval) = CopyValue : r1587_3 -# 1587| m1587_5(int) = Store[?] : &:r1587_4, r1587_1 -# 1587| m1587_6(unknown) = Chi : total:m1583_34, partial:m1587_5 -# 1588| r1588_1(glval) = VariableAddress[rr] : -# 1588| r1588_2(glval) = VariableAddress[r] : -# 1588| r1588_3(int &) = Load[r] : &:r1588_2, m1583_40 -# 1588| r1588_4(glval) = CopyValue : r1588_3 -# 1588| r1588_5(int &) = CopyValue : r1588_4 -# 1588| m1588_6(int &) = Store[rr] : &:r1588_1, r1588_5 -# 1589| r1589_1(glval) = VariableAddress[w] : +# 1541| v1541_35(void) = ReturnVoid : +# 1541| v1541_36(void) = AliasedUse : m1541_3 +# 1541| v1541_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 : + +# 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 : + +# 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 : + +# 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, m1583_40 -# 1589| r1589_4(int) = Load[?] : &:r1589_3, ~m1587_6 -# 1589| m1589_5(int) = Store[w] : &:r1589_1, r1589_4 -# 1593| r1593_1(glval) = VariableAddress[unnamed_local_variable] : -# 1593| r1593_2(glval) = VariableAddress[t] : -# 1593| r1593_3(StructuredBindingTupleRefGet) = Load[t] : &:r1593_2, m1580_8 -# 1593| m1593_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1593_1, r1593_3 -# 1594| r1594_1(glval) = VariableAddress[i] : -# 1594| r1594_2(glval) = VariableAddress[unnamed_local_variable] : -# 1594| r1594_3(glval) = FunctionAddress[get] : -# 1594| r1594_4(int &) = Call[get] : func:r1594_3, this:r1594_2 -# 1594| m1594_5(unknown) = ^CallSideEffect : ~m1587_6 -# 1594| m1594_6(unknown) = Chi : total:m1587_6, partial:m1594_5 -# 1594| v1594_7(void) = ^IndirectReadSideEffect[-1] : &:r1594_2, m1593_4 -# 1594| m1594_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1594_2 -# 1594| m1594_9(StructuredBindingTupleRefGet) = Chi : total:m1593_4, partial:m1594_8 -# 1594| r1594_10(glval) = CopyValue : r1594_4 -# 1594| r1594_11(int &) = CopyValue : r1594_10 -# 1594| m1594_12(int &) = Store[i] : &:r1594_1, r1594_11 -# 1595| r1595_1(glval) = VariableAddress[d] : -# 1595| r1595_2(glval) = VariableAddress[unnamed_local_variable] : -# 1595| r1595_3(glval) = FunctionAddress[get] : -# 1595| r1595_4(double &) = Call[get] : func:r1595_3, this:r1595_2 -# 1595| m1595_5(unknown) = ^CallSideEffect : ~m1594_6 -# 1595| m1595_6(unknown) = Chi : total:m1594_6, partial:m1595_5 -# 1595| v1595_7(void) = ^IndirectReadSideEffect[-1] : &:r1595_2, m1594_9 -# 1595| m1595_8(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1595_2 -# 1595| m1595_9(StructuredBindingTupleRefGet) = Chi : total:m1594_9, partial:m1595_8 -# 1595| r1595_10(glval) = CopyValue : r1595_4 -# 1595| r1595_11(double &) = CopyValue : r1595_10 -# 1595| m1595_12(double &) = Store[d] : &:r1595_1, r1595_11 -# 1596| r1596_1(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 : ~m1595_6 -# 1596| m1596_6(unknown) = Chi : total:m1595_6, partial:m1596_5 -# 1596| v1596_7(void) = ^IndirectReadSideEffect[-1] : &:r1596_2, m1595_9 +# 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_9, partial:m1596_8 +# 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[r] : &:r1596_1, r1596_11 -# 1597| r1597_1(double) = Constant[4.0] : -# 1597| r1597_2(glval) = VariableAddress[d] : -# 1597| r1597_3(double &) = Load[d] : &:r1597_2, m1595_12 -# 1597| r1597_4(glval) = CopyValue : r1597_3 -# 1597| m1597_5(double) = Store[?] : &:r1597_4, r1597_1 -# 1597| m1597_6(StructuredBindingTupleRefGet) = Chi : total:m1596_9, partial:m1597_5 -# 1598| r1598_1(glval) = VariableAddress[rd] : -# 1598| r1598_2(glval) = VariableAddress[d] : -# 1598| r1598_3(double &) = Load[d] : &:r1598_2, m1595_12 -# 1598| r1598_4(glval) = CopyValue : r1598_3 -# 1598| r1598_5(double &) = CopyValue : r1598_4 -# 1598| m1598_6(double &) = Store[rd] : &:r1598_1, r1598_5 -# 1599| r1599_1(glval) = VariableAddress[v] : -# 1599| r1599_2(glval) = VariableAddress[i] : -# 1599| r1599_3(int &) = Load[i] : &:r1599_2, m1594_12 -# 1599| r1599_4(int) = Load[?] : &:r1599_3, ~m1596_9 -# 1599| m1599_5(int) = Store[v] : &:r1599_1, r1599_4 -# 1600| r1600_1(int) = Constant[5] : -# 1600| r1600_2(glval) = VariableAddress[r] : -# 1600| r1600_3(int &) = Load[r] : &:r1600_2, m1596_12 -# 1600| r1600_4(glval) = CopyValue : r1600_3 -# 1600| m1600_5(int) = Store[?] : &:r1600_4, r1600_1 -# 1600| m1600_6(unknown) = Chi : total:m1596_6, partial:m1600_5 -# 1601| r1601_1(glval) = VariableAddress[rr] : -# 1601| r1601_2(glval) = VariableAddress[r] : -# 1601| r1601_3(int &) = Load[r] : &:r1601_2, m1596_12 -# 1601| r1601_4(glval) = CopyValue : r1601_3 -# 1601| r1601_5(int &) = CopyValue : r1601_4 -# 1601| m1601_6(int &) = Store[rr] : &:r1601_1, r1601_5 -# 1602| r1602_1(glval) = VariableAddress[w] : +# 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, m1596_12 -# 1602| r1602_4(int) = Load[?] : &:r1602_3, ~m1600_6 -# 1602| m1602_5(int) = Store[w] : &:r1602_1, r1602_4 -# 1604| v1604_1(void) = NoOp : -# 1579| v1579_5(void) = ReturnVoid : -# 1579| v1579_6(void) = AliasedUse : ~m1600_6 -# 1579| v1579_7(void) = ExitFunction : - -# 1606| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1606| Block 0 -# 1606| v1606_1(void) = EnterFunction : -# 1606| m1606_2(unknown) = AliasedDefinition : -# 1606| m1606_3(unknown) = InitializeNonLocal : -# 1606| m1606_4(unknown) = Chi : total:m1606_2, partial:m1606_3 -# 1606| r1606_5(glval) = VariableAddress[#this] : -# 1606| m1606_6(glval) = InitializeParameter[#this] : &:r1606_5 -# 1606| r1606_7(glval) = Load[#this] : &:r1606_5, m1606_6 -# 1606| m1606_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1606_7 -# 1606| v1606_9(void) = NoOp : -# 1606| v1606_10(void) = ReturnIndirection[#this] : &:r1606_7, m1606_8 -# 1606| v1606_11(void) = ReturnVoid : -# 1606| v1606_12(void) = AliasedUse : m1606_3 -# 1606| v1606_13(void) = ExitFunction : - -# 1633| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1633| Block 0 -# 1633| v1633_1(void) = EnterFunction : -# 1633| m1633_2(unknown) = AliasedDefinition : -# 1633| m1633_3(unknown) = InitializeNonLocal : -# 1633| m1633_4(unknown) = Chi : total:m1633_2, partial:m1633_3 -# 1633| r1633_5(glval) = VariableAddress[#this] : -# 1633| m1633_6(glval) = InitializeParameter[#this] : &:r1633_5 -# 1633| r1633_7(glval) = Load[#this] : &:r1633_5, m1633_6 -# 1633| m1633_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1633_7 -# 1634| r1634_1(glval) = VariableAddress[#return] : -# 1634| r1634_2(glval) = VariableAddress[#this] : -# 1634| r1634_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1634_2, m1633_6 -# 1634| r1634_4(glval) = FieldAddress[i] : r1634_3 -# 1634| r1634_5(int) = Load[?] : &:r1634_4, ~m1633_8 -# 1634| m1634_6(int) = Store[#return] : &:r1634_1, r1634_5 -# 1633| v1633_9(void) = ReturnIndirection[#this] : &:r1633_7, m1633_8 -# 1633| r1633_10(glval) = VariableAddress[#return] : -# 1633| v1633_11(void) = ReturnValue : &:r1633_10, m1634_6 -# 1633| v1633_12(void) = AliasedUse : m1633_3 -# 1633| v1633_13(void) = ExitFunction : - -# 1637| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1637| Block 0 -# 1637| v1637_1(void) = EnterFunction : -# 1637| m1637_2(unknown) = AliasedDefinition : -# 1637| m1637_3(unknown) = InitializeNonLocal : -# 1637| m1637_4(unknown) = Chi : total:m1637_2, partial:m1637_3 -# 1637| r1637_5(glval) = VariableAddress[#this] : -# 1637| m1637_6(glval) = InitializeParameter[#this] : &:r1637_5 -# 1637| r1637_7(glval) = Load[#this] : &:r1637_5, m1637_6 -# 1637| m1637_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1637_7 -# 1638| r1638_1(glval) = VariableAddress[#return] : -# 1638| r1638_2(glval) = VariableAddress[#this] : -# 1638| r1638_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1638_2, m1637_6 -# 1638| r1638_4(glval) = FieldAddress[r] : r1638_3 -# 1638| r1638_5(int &) = Load[?] : &:r1638_4, ~m1637_8 -# 1638| r1638_6(glval) = CopyValue : r1638_5 -# 1638| r1638_7(int &) = CopyValue : r1638_6 -# 1638| m1638_8(int &) = Store[#return] : &:r1638_1, r1638_7 -# 1637| v1637_9(void) = ReturnIndirection[#this] : &:r1637_7, m1637_8 -# 1637| r1637_10(glval) = VariableAddress[#return] : -# 1637| v1637_11(void) = ReturnValue : &:r1637_10, m1638_8 -# 1637| v1637_12(void) = AliasedUse : m1637_3 -# 1637| v1637_13(void) = ExitFunction : - -# 1641| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1641| Block 0 -# 1641| v1641_1(void) = EnterFunction : -# 1641| m1641_2(unknown) = AliasedDefinition : -# 1641| m1641_3(unknown) = InitializeNonLocal : -# 1641| m1641_4(unknown) = Chi : total:m1641_2, partial:m1641_3 -# 1641| r1641_5(glval) = VariableAddress[#this] : -# 1641| m1641_6(glval) = InitializeParameter[#this] : &:r1641_5 -# 1641| r1641_7(glval) = Load[#this] : &:r1641_5, m1641_6 -# 1641| m1641_8(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1641_7 -# 1642| r1642_1(glval) = VariableAddress[#return] : -# 1642| r1642_2(glval) = VariableAddress[#temp1642:12] : -# 1642| r1642_3(int) = Constant[5] : -# 1642| m1642_4(int) = Store[#temp1642:12] : &:r1642_2, r1642_3 -# 1642| r1642_5(int &) = CopyValue : r1642_2 -# 1642| m1642_6(int &&) = Store[#return] : &:r1642_1, r1642_5 -# 1641| v1641_9(void) = ReturnIndirection[#this] : &:r1641_7, m1641_8 -# 1641| r1641_10(glval) = VariableAddress[#return] : -# 1641| v1641_11(void) = ReturnValue : &:r1641_10, m1642_6 -# 1641| v1641_12(void) = AliasedUse : m1641_3 -# 1641| v1641_13(void) = ExitFunction : - -# 1645| void tuple_structured_binding_no_ref_get() -# 1645| Block 0 -# 1645| v1645_1(void) = EnterFunction : -# 1645| m1645_2(unknown) = AliasedDefinition : -# 1645| m1645_3(unknown) = InitializeNonLocal : -# 1645| m1645_4(unknown) = Chi : total:m1645_2, partial:m1645_3 -# 1646| r1646_1(glval) = VariableAddress[t] : -# 1646| m1646_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1646_1 -# 1646| r1646_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : -# 1646| v1646_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1646_3, this:r1646_1 -# 1646| m1646_5(unknown) = ^CallSideEffect : ~m1645_4 -# 1646| m1646_6(unknown) = Chi : total:m1645_4, partial:m1646_5 -# 1646| m1646_7(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1646_1 -# 1646| m1646_8(StructuredBindingTupleNoRefGet) = Chi : total:m1646_2, partial:m1646_7 -# 1649| r1649_1(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_2(glval) = VariableAddress[t] : -# 1649| r1649_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1649_2 -# 1649| m1649_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1649_1, r1649_3 -# 1649| r1649_5(glval) = VariableAddress[i] : -# 1649| r1649_6(glval) = VariableAddress[#temp1649:16] : -# 1649| r1649_7(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1649_7, m1649_4 -# 1649| r1649_9(glval) = CopyValue : r1649_8 -# 1649| r1649_10(glval) = FunctionAddress[get] : -# 1649| r1649_11(int) = Call[get] : func:r1649_10, this:r1649_9 -# 1649| m1649_12(unknown) = ^CallSideEffect : ~m1646_6 -# 1649| m1649_13(unknown) = Chi : total:m1646_6, partial:m1649_12 -# 1649| v1649_14(void) = ^IndirectReadSideEffect[-1] : &:r1649_9, m1646_8 -# 1649| m1649_15(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1649_9 -# 1649| m1649_16(StructuredBindingTupleNoRefGet) = Chi : total:m1646_8, partial:m1649_15 -# 1649| m1649_17(int) = Store[#temp1649:16] : &:r1649_6, r1649_11 -# 1649| r1649_18(int &) = CopyValue : r1649_6 -# 1649| m1649_19(int &&) = Store[i] : &:r1649_5, r1649_18 -# 1649| r1649_20(glval) = VariableAddress[r] : -# 1649| r1649_21(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_22(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1649_21, m1649_4 -# 1649| r1649_23(glval) = CopyValue : r1649_22 -# 1649| r1649_24(glval) = FunctionAddress[get] : -# 1649| r1649_25(int &) = Call[get] : func:r1649_24, this:r1649_23 -# 1649| m1649_26(unknown) = ^CallSideEffect : ~m1649_13 -# 1649| m1649_27(unknown) = Chi : total:m1649_13, partial:m1649_26 -# 1649| v1649_28(void) = ^IndirectReadSideEffect[-1] : &:r1649_23, m1649_16 -# 1649| m1649_29(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1649_23 -# 1649| m1649_30(StructuredBindingTupleNoRefGet) = Chi : total:m1649_16, partial:m1649_29 -# 1649| r1649_31(glval) = CopyValue : r1649_25 -# 1649| r1649_32(int &) = CopyValue : r1649_31 -# 1649| m1649_33(int &) = Store[r] : &:r1649_20, r1649_32 -# 1649| r1649_34(glval) = VariableAddress[rv] : -# 1649| r1649_35(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_36(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1649_35, m1649_4 -# 1649| r1649_37(glval) = CopyValue : r1649_36 -# 1649| r1649_38(glval) = FunctionAddress[get] : -# 1649| r1649_39(int &&) = Call[get] : func:r1649_38, this:r1649_37 -# 1649| m1649_40(unknown) = ^CallSideEffect : ~m1649_27 -# 1649| m1649_41(unknown) = Chi : total:m1649_27, partial:m1649_40 -# 1649| v1649_42(void) = ^IndirectReadSideEffect[-1] : &:r1649_37, m1649_30 -# 1649| m1649_43(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1649_37 -# 1649| m1649_44(StructuredBindingTupleNoRefGet) = Chi : total:m1649_30, partial:m1649_43 -# 1649| r1649_45(glval) = CopyValue : r1649_39 -# 1649| r1649_46(int &) = CopyValue : r1649_45 -# 1649| m1649_47(int &&) = Store[rv] : &:r1649_34, r1649_46 -# 1650| r1650_1(int) = Constant[4] : -# 1650| r1650_2(glval) = VariableAddress[i] : -# 1650| r1650_3(int &&) = Load[i] : &:r1650_2, m1649_19 -# 1650| r1650_4(glval) = CopyValue : r1650_3 -# 1650| m1650_5(int) = Store[?] : &:r1650_4, r1650_1 -# 1651| r1651_1(glval) = VariableAddress[ri] : -# 1651| r1651_2(glval) = VariableAddress[i] : -# 1651| r1651_3(int &&) = Load[i] : &:r1651_2, m1649_19 -# 1651| r1651_4(glval) = CopyValue : r1651_3 -# 1651| r1651_5(int &) = CopyValue : r1651_4 -# 1651| m1651_6(int &) = Store[ri] : &:r1651_1, r1651_5 -# 1652| r1652_1(glval) = VariableAddress[v] : +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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, m1649_19 -# 1652| r1652_4(int) = Load[?] : &:r1652_3, m1650_5 -# 1652| m1652_5(int) = Store[v] : &:r1652_1, r1652_4 -# 1653| r1653_1(int) = Constant[5] : -# 1653| r1653_2(glval) = VariableAddress[r] : -# 1653| r1653_3(int &) = Load[r] : &:r1653_2, m1649_33 +# 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| m1653_5(int) = Store[?] : &:r1653_4, r1653_1 -# 1653| m1653_6(unknown) = Chi : total:m1649_41, partial:m1653_5 -# 1654| r1654_1(glval) = VariableAddress[rr] : -# 1654| r1654_2(glval) = VariableAddress[r] : -# 1654| r1654_3(int &) = Load[r] : &:r1654_2, m1649_33 -# 1654| r1654_4(glval) = CopyValue : r1654_3 -# 1654| r1654_5(int &) = CopyValue : r1654_4 -# 1654| m1654_6(int &) = Store[rr] : &:r1654_1, r1654_5 -# 1655| r1655_1(glval) = VariableAddress[w] : +# 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, m1649_33 -# 1655| r1655_4(int) = Load[?] : &:r1655_3, ~m1653_6 -# 1655| m1655_5(int) = Store[w] : &:r1655_1, r1655_4 -# 1659| r1659_1(glval) = VariableAddress[unnamed_local_variable] : -# 1659| r1659_2(glval) = VariableAddress[t] : -# 1659| r1659_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1659_2 -# 1659| m1659_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1659_1, r1659_3 -# 1660| r1660_1(glval) = VariableAddress[i] : -# 1660| r1660_2(glval) = VariableAddress[#temp1660:20] : -# 1660| r1660_3(glval) = VariableAddress[unnamed_local_variable] : -# 1660| r1660_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1660_3, m1659_4 -# 1660| r1660_5(glval) = CopyValue : r1660_4 -# 1660| r1660_6(glval) = FunctionAddress[get] : -# 1660| r1660_7(int) = Call[get] : func:r1660_6, this:r1660_5 -# 1660| m1660_8(unknown) = ^CallSideEffect : ~m1653_6 -# 1660| m1660_9(unknown) = Chi : total:m1653_6, partial:m1660_8 -# 1660| v1660_10(void) = ^IndirectReadSideEffect[-1] : &:r1660_5, m1649_44 -# 1660| m1660_11(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1660_5 -# 1660| m1660_12(StructuredBindingTupleNoRefGet) = Chi : total:m1649_44, partial:m1660_11 -# 1660| m1660_13(int) = Store[#temp1660:20] : &:r1660_2, r1660_7 -# 1660| r1660_14(int &) = CopyValue : r1660_2 -# 1660| m1660_15(int &&) = Store[i] : &:r1660_1, r1660_14 -# 1661| r1661_1(glval) = VariableAddress[r] : -# 1661| r1661_2(glval) = VariableAddress[unnamed_local_variable] : -# 1661| r1661_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1661_2, m1659_4 -# 1661| r1661_4(glval) = CopyValue : r1661_3 -# 1661| r1661_5(glval) = FunctionAddress[get] : -# 1661| r1661_6(int &) = Call[get] : func:r1661_5, this:r1661_4 -# 1661| m1661_7(unknown) = ^CallSideEffect : ~m1660_9 -# 1661| m1661_8(unknown) = Chi : total:m1660_9, partial:m1661_7 -# 1661| v1661_9(void) = ^IndirectReadSideEffect[-1] : &:r1661_4, m1660_12 -# 1661| m1661_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1661_4 -# 1661| m1661_11(StructuredBindingTupleNoRefGet) = Chi : total:m1660_12, partial:m1661_10 -# 1661| r1661_12(glval) = CopyValue : r1661_6 -# 1661| r1661_13(int &) = CopyValue : r1661_12 -# 1661| m1661_14(int &) = Store[r] : &:r1661_1, r1661_13 -# 1662| r1662_1(glval) = VariableAddress[rv] : -# 1662| r1662_2(glval) = VariableAddress[unnamed_local_variable] : -# 1662| r1662_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1662_2, m1659_4 -# 1662| r1662_4(glval) = CopyValue : r1662_3 -# 1662| r1662_5(glval) = FunctionAddress[get] : -# 1662| r1662_6(int &&) = Call[get] : func:r1662_5, this:r1662_4 -# 1662| m1662_7(unknown) = ^CallSideEffect : ~m1661_8 -# 1662| m1662_8(unknown) = Chi : total:m1661_8, partial:m1662_7 -# 1662| v1662_9(void) = ^IndirectReadSideEffect[-1] : &:r1662_4, m1661_11 -# 1662| m1662_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1662_4 -# 1662| m1662_11(StructuredBindingTupleNoRefGet) = Chi : total:m1661_11, partial:m1662_10 -# 1662| r1662_12(glval) = CopyValue : r1662_6 -# 1662| r1662_13(int &) = CopyValue : r1662_12 -# 1662| m1662_14(int &&) = Store[rv] : &:r1662_1, r1662_13 -# 1663| r1663_1(int) = Constant[4] : -# 1663| r1663_2(glval) = VariableAddress[i] : -# 1663| r1663_3(int &&) = Load[i] : &:r1663_2, m1660_15 -# 1663| r1663_4(glval) = CopyValue : r1663_3 -# 1663| m1663_5(int) = Store[?] : &:r1663_4, r1663_1 -# 1664| r1664_1(glval) = VariableAddress[ri] : -# 1664| r1664_2(glval) = VariableAddress[i] : -# 1664| r1664_3(int &&) = Load[i] : &:r1664_2, m1660_15 -# 1664| r1664_4(glval) = CopyValue : r1664_3 -# 1664| r1664_5(int &) = CopyValue : r1664_4 -# 1664| m1664_6(int &) = Store[ri] : &:r1664_1, r1664_5 -# 1665| r1665_1(glval) = VariableAddress[v] : +# 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, m1660_15 -# 1665| r1665_4(int) = Load[?] : &:r1665_3, m1663_5 -# 1665| m1665_5(int) = Store[v] : &:r1665_1, r1665_4 -# 1666| r1666_1(int) = Constant[5] : -# 1666| r1666_2(glval) = VariableAddress[r] : -# 1666| r1666_3(int &) = Load[r] : &:r1666_2, m1661_14 +# 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| m1666_5(int) = Store[?] : &:r1666_4, r1666_1 -# 1666| m1666_6(unknown) = Chi : total:m1662_8, partial:m1666_5 -# 1667| r1667_1(glval) = VariableAddress[rr] : -# 1667| r1667_2(glval) = VariableAddress[r] : -# 1667| r1667_3(int &) = Load[r] : &:r1667_2, m1661_14 -# 1667| r1667_4(glval) = CopyValue : r1667_3 -# 1667| r1667_5(int &) = CopyValue : r1667_4 -# 1667| m1667_6(int &) = Store[rr] : &:r1667_1, r1667_5 -# 1668| r1668_1(glval) = VariableAddress[w] : +# 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, m1661_14 -# 1668| r1668_4(int) = Load[?] : &:r1668_3, ~m1666_6 -# 1668| m1668_5(int) = Store[w] : &:r1668_1, r1668_4 -# 1670| v1670_1(void) = NoOp : -# 1645| v1645_5(void) = ReturnVoid : -# 1645| v1645_6(void) = AliasedUse : ~m1666_6 -# 1645| v1645_7(void) = ExitFunction : - -# 1672| void array_structured_binding_non_ref_init() -# 1672| Block 0 -# 1672| v1672_1(void) = EnterFunction : -# 1672| m1672_2(unknown) = AliasedDefinition : -# 1672| m1672_3(unknown) = InitializeNonLocal : -# 1672| m1672_4(unknown) = Chi : total:m1672_2, partial:m1672_3 -# 1673| r1673_1(glval) = VariableAddress[xs] : -# 1673| m1673_2(int[2]) = Uninitialized[xs] : &:r1673_1 -# 1673| r1673_3(int) = Constant[0] : -# 1673| r1673_4(glval) = PointerAdd[4] : r1673_1, r1673_3 -# 1673| r1673_5(int) = Constant[1] : -# 1673| m1673_6(int) = Store[?] : &:r1673_4, r1673_5 -# 1673| m1673_7(int[2]) = Chi : total:m1673_2, partial:m1673_6 -# 1673| r1673_8(int) = Constant[1] : -# 1673| r1673_9(glval) = PointerAdd[4] : r1673_1, r1673_8 -# 1673| r1673_10(int) = Constant[2] : -# 1673| m1673_11(int) = Store[?] : &:r1673_9, r1673_10 -# 1673| m1673_12(int[2]) = Chi : total:m1673_7, partial:m1673_11 -# 1674| r1674_1(glval) = VariableAddress[(unnamed local variable)] : -# 1674| r1674_2(glval) = VariableAddress[xs] : -# 1674| r1674_3(int[2]) = Load[xs] : &:r1674_2, m1673_12 -# 1674| m1674_4(int[2]) = Store[(unnamed local variable)] : &:r1674_1, r1674_3 -# 1674| r1674_5(glval) = VariableAddress[x0] : +# 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 : + +# 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] : #-----| 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] : &:r1674_5, r0_4 -# 1674| r1674_6(glval) = VariableAddress[x1] : +#-----| m0_5(int &) = Store[x0] : &:r1676_5, r0_4 +# 1676| r1676_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] : &:r1674_6, r0_9 -# 1675| v1675_1(void) = NoOp : -# 1672| v1672_5(void) = ReturnVoid : -# 1672| v1672_6(void) = AliasedUse : m1672_3 -# 1672| v1672_7(void) = ExitFunction : - -# 1680| void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1680| Block 0 -# 1680| v1680_1(void) = EnterFunction : -# 1680| m1680_2(unknown) = AliasedDefinition : -# 1680| m1680_3(unknown) = InitializeNonLocal : -# 1680| m1680_4(unknown) = Chi : total:m1680_2, partial:m1680_3 -# 1680| r1680_5(glval) = VariableAddress[#this] : -# 1680| m1680_6(glval) = InitializeParameter[#this] : &:r1680_5 -# 1680| r1680_7(glval) = Load[#this] : &:r1680_5, m1680_6 -# 1680| m1680_8(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1680_7 -# 1680| v1680_9(void) = NoOp : -# 1680| v1680_10(void) = ReturnIndirection[#this] : &:r1680_7, m1680_8 -# 1680| v1680_11(void) = ReturnVoid : -# 1680| v1680_12(void) = AliasedUse : m1680_3 -# 1680| v1680_13(void) = ExitFunction : - -# 1683| void captured_lambda(int, int&, int&&) -# 1683| Block 0 -# 1683| v1683_1(void) = EnterFunction : -# 1683| m1683_2(unknown) = AliasedDefinition : -# 1683| m1683_3(unknown) = InitializeNonLocal : -# 1683| m1683_4(unknown) = Chi : total:m1683_2, partial:m1683_3 -# 1683| r1683_5(glval) = VariableAddress[x] : -# 1683| m1683_6(int) = InitializeParameter[x] : &:r1683_5 -# 1683| r1683_7(glval) = VariableAddress[y] : -# 1683| m1683_8(int &) = InitializeParameter[y] : &:r1683_7 -# 1683| r1683_9(int &) = Load[y] : &:r1683_7, m1683_8 -# 1683| m1683_10(unknown) = InitializeIndirection[y] : &:r1683_9 -# 1683| r1683_11(glval) = VariableAddress[z] : -# 1683| m1683_12(int &&) = InitializeParameter[z] : &:r1683_11 -# 1683| r1683_13(int &&) = Load[z] : &:r1683_11, m1683_12 -# 1683| m1683_14(unknown) = InitializeIndirection[z] : &:r1683_13 -# 1685| r1685_1(glval) = VariableAddress[obj1] : -# 1685| r1685_2(glval) = VariableAddress[#temp1685:24] : -# 1685| m1685_3(CapturedLambdaMyObj) = Uninitialized[#temp1685:24] : &:r1685_2 -# 1685| r1685_4(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1685| v1685_5(void) = Call[CapturedLambdaMyObj] : func:r1685_4, this:r1685_2 -# 1685| m1685_6(unknown) = ^CallSideEffect : ~m1683_4 -# 1685| m1685_7(unknown) = Chi : total:m1683_4, partial:m1685_6 -# 1685| m1685_8(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1685_2 -# 1685| m1685_9(CapturedLambdaMyObj) = Chi : total:m1685_3, partial:m1685_8 -# 1685| r1685_10(glval) = Convert : r1685_2 -# 1685| r1685_11(CapturedLambdaMyObj &) = CopyValue : r1685_10 -# 1685| m1685_12(CapturedLambdaMyObj &) = Store[obj1] : &:r1685_1, r1685_11 -# 1686| r1686_1(glval) = VariableAddress[obj2] : -# 1686| m1686_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1686_1 -# 1686| r1686_3(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1686| v1686_4(void) = Call[CapturedLambdaMyObj] : func:r1686_3, this:r1686_1 -# 1686| m1686_5(unknown) = ^CallSideEffect : ~m1685_7 -# 1686| m1686_6(unknown) = Chi : total:m1685_7, partial:m1686_5 -# 1686| m1686_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1686_1 -# 1686| m1686_8(CapturedLambdaMyObj) = Chi : total:m1686_2, partial:m1686_7 -# 1688| r1688_1(glval) = VariableAddress[lambda_outer] : -# 1688| r1688_2(glval) = VariableAddress[#temp1688:24] : -# 1688| m1688_3(decltype([...](...){...})) = Uninitialized[#temp1688:24] : &:r1688_2 -# 1688| r1688_4(glval) = FieldAddress[obj1] : r1688_2 -# 1688| r1688_5(glval) = VariableAddress[obj1] : -# 1688| r1688_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1688_5, m1685_12 -#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1688_6, m1685_9 -#-----| m0_2(CapturedLambdaMyObj) = Store[?] : &:r1688_4, r0_1 -#-----| m0_3(decltype([...](...){...})) = Chi : total:m1688_3, partial:m0_2 -# 1688| r1688_7(glval) = FieldAddress[obj2] : r1688_2 -# 1688| r1688_8(glval) = VariableAddress[obj2] : -# 1688| r1688_9(CapturedLambdaMyObj) = Load[obj2] : &:r1688_8, m1686_8 -# 1688| m1688_10(CapturedLambdaMyObj) = Store[?] : &:r1688_7, r1688_9 -# 1688| m1688_11(decltype([...](...){...})) = Chi : total:m0_3, partial:m1688_10 -# 1688| r1688_12(glval) = FieldAddress[x] : r1688_2 -# 1688| r1688_13(glval) = VariableAddress[x] : -# 1688| r1688_14(int) = Load[x] : &:r1688_13, m1683_6 -# 1688| m1688_15(int) = Store[?] : &:r1688_12, r1688_14 -# 1688| m1688_16(decltype([...](...){...})) = Chi : total:m1688_11, partial:m1688_15 -# 1688| r1688_17(glval) = FieldAddress[y] : r1688_2 -# 1688| r1688_18(glval) = VariableAddress[y] : -# 1688| r1688_19(int &) = Load[y] : &:r1688_18, m1683_8 -# 1690| r1690_1(int) = Load[?] : &:r1688_19, ~m1683_10 -# 1690| m1690_2(int) = Store[?] : &:r1688_17, r1690_1 -# 1690| m1690_3(decltype([...](...){...})) = Chi : total:m1688_16, partial:m1690_2 -# 1688| r1688_20(glval) = FieldAddress[z] : r1688_2 -# 1688| r1688_21(glval) = VariableAddress[z] : -# 1688| r1688_22(int &&) = Load[z] : &:r1688_21, m1683_12 -# 1690| r1690_4(int) = Load[?] : &:r1688_22, ~m1683_14 -# 1690| m1690_5(int) = Store[?] : &:r1688_20, r1690_4 -# 1690| m1690_6(decltype([...](...){...})) = Chi : total:m1690_3, partial:m1690_5 -# 1688| r1688_23(decltype([...](...){...})) = Load[#temp1688:24] : &:r1688_2, m1690_6 -# 1688| m1688_24(decltype([...](...){...})) = Store[lambda_outer] : &:r1688_1, r1688_23 -# 1691| v1691_1(void) = NoOp : -# 1683| v1683_15(void) = ReturnIndirection[y] : &:r1683_9, m1683_10 -# 1683| v1683_16(void) = ReturnIndirection[z] : &:r1683_13, m1683_14 -# 1683| v1683_17(void) = ReturnVoid : -# 1683| v1683_18(void) = AliasedUse : ~m1686_6 -# 1683| v1683_19(void) = ExitFunction : - -# 1688| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const -# 1688| Block 0 -# 1688| v1688_1(void) = EnterFunction : -# 1688| m1688_2(unknown) = AliasedDefinition : -# 1688| m1688_3(unknown) = InitializeNonLocal : -# 1688| m1688_4(unknown) = Chi : total:m1688_2, partial:m1688_3 -# 1688| r1688_5(glval) = VariableAddress[#this] : -# 1688| m1688_6(glval) = InitializeParameter[#this] : &:r1688_5 -# 1688| r1688_7(glval) = Load[#this] : &:r1688_5, m1688_6 -# 1688| m1688_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1688_7 -# 1689| r1689_1(glval) = VariableAddress[lambda_inner] : -# 1689| r1689_2(glval) = VariableAddress[#temp1689:28] : -# 1689| m1689_3(decltype([...](...){...})) = Uninitialized[#temp1689:28] : &:r1689_2 -# 1689| r1689_4(glval) = FieldAddress[obj1] : r1689_2 -# 1689| r1689_5(glval) = VariableAddress[#this] : -# 1689| r1689_6(lambda [] type at line 1689, col. 29 *) = Load[#this] : &:r1689_5, m1688_6 -# 1689| r1689_7(glval) = FieldAddress[obj1] : r1689_6 -# 1689| r1689_8(CapturedLambdaMyObj) = Load[?] : &:r1689_7, ~m1688_8 -# 1689| m1689_9(CapturedLambdaMyObj) = Store[?] : &:r1689_4, r1689_8 -# 1689| m1689_10(decltype([...](...){...})) = Chi : total:m1689_3, partial:m1689_9 -# 1689| r1689_11(glval) = FieldAddress[obj2] : r1689_2 -# 1689| r1689_12(glval) = VariableAddress[#this] : -# 1689| r1689_13(lambda [] type at line 1689, col. 29 *) = Load[#this] : &:r1689_12, m1688_6 -# 1689| r1689_14(glval) = FieldAddress[obj2] : r1689_13 -# 1689| r1689_15(CapturedLambdaMyObj) = Load[?] : &:r1689_14, ~m1688_8 -# 1689| m1689_16(CapturedLambdaMyObj) = Store[?] : &:r1689_11, r1689_15 -# 1689| m1689_17(decltype([...](...){...})) = Chi : total:m1689_10, partial:m1689_16 -# 1689| r1689_18(glval) = FieldAddress[x] : r1689_2 -# 1689| r1689_19(glval) = VariableAddress[#this] : -# 1689| r1689_20(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_19, m1688_6 -# 1689| r1689_21(glval) = FieldAddress[x] : r1689_20 -# 1689| r1689_22(int) = Load[?] : &:r1689_21, ~m1688_8 -# 1689| m1689_23(int) = Store[?] : &:r1689_18, r1689_22 -# 1689| m1689_24(decltype([...](...){...})) = Chi : total:m1689_17, partial:m1689_23 -# 1689| r1689_25(glval) = FieldAddress[y] : r1689_2 -# 1689| r1689_26(glval) = VariableAddress[#this] : -# 1689| r1689_27(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_26, m1688_6 -# 1689| r1689_28(glval) = FieldAddress[y] : r1689_27 -# 1689| r1689_29(int) = Load[?] : &:r1689_28, ~m1688_8 -# 1689| m1689_30(int) = Store[?] : &:r1689_25, r1689_29 -# 1689| m1689_31(decltype([...](...){...})) = Chi : total:m1689_24, partial:m1689_30 -# 1689| r1689_32(glval) = FieldAddress[z] : r1689_2 -# 1689| r1689_33(glval) = VariableAddress[#this] : -# 1689| r1689_34(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_33, m1688_6 -# 1689| r1689_35(glval) = FieldAddress[z] : r1689_34 -# 1689| r1689_36(int) = Load[?] : &:r1689_35, ~m1688_8 -# 1689| m1689_37(int) = Store[?] : &:r1689_32, r1689_36 -# 1689| m1689_38(decltype([...](...){...})) = Chi : total:m1689_31, partial:m1689_37 -# 1689| r1689_39(decltype([...](...){...})) = Load[#temp1689:28] : &:r1689_2, m1689_38 -# 1689| m1689_40(decltype([...](...){...})) = Store[lambda_inner] : &:r1689_1, r1689_39 -# 1690| v1690_1(void) = NoOp : -# 1688| v1688_9(void) = ReturnIndirection[#this] : &:r1688_7, m1688_8 -# 1688| v1688_10(void) = ReturnVoid : -# 1688| v1688_11(void) = AliasedUse : m1688_3 -# 1688| v1688_12(void) = ExitFunction : - -# 1689| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::operator()() const -# 1689| Block 0 -# 1689| v1689_1(void) = EnterFunction : -# 1689| m1689_2(unknown) = AliasedDefinition : -# 1689| m1689_3(unknown) = InitializeNonLocal : -# 1689| m1689_4(unknown) = Chi : total:m1689_2, partial:m1689_3 -# 1689| r1689_5(glval) = VariableAddress[#this] : -# 1689| m1689_6(glval) = InitializeParameter[#this] : &:r1689_5 -# 1689| r1689_7(glval) = Load[#this] : &:r1689_5, m1689_6 -# 1689| m1689_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1689_7 -# 1689| v1689_9(void) = NoOp : -# 1689| v1689_10(void) = NoOp : -# 1689| v1689_11(void) = ReturnIndirection[#this] : &:r1689_7, m1689_8 -# 1689| v1689_12(void) = ReturnVoid : -# 1689| v1689_13(void) = AliasedUse : m1689_3 -# 1689| v1689_14(void) = ExitFunction : - -# 1693| int goto_on_same_line() -# 1693| Block 0 -# 1693| v1693_1(void) = EnterFunction : -# 1693| m1693_2(unknown) = AliasedDefinition : -# 1693| m1693_3(unknown) = InitializeNonLocal : -# 1693| m1693_4(unknown) = Chi : total:m1693_2, partial:m1693_3 -# 1694| r1694_1(glval) = VariableAddress[x] : -# 1694| r1694_2(int) = Constant[42] : -# 1694| m1694_3(int) = Store[x] : &:r1694_1, r1694_2 -# 1695| v1695_1(void) = NoOp : -# 1695| v1695_2(void) = NoOp : -# 1696| r1696_1(glval) = VariableAddress[#return] : -# 1696| r1696_2(glval) = VariableAddress[x] : -# 1696| r1696_3(int) = Load[x] : &:r1696_2, m1694_3 -# 1696| m1696_4(int) = Store[#return] : &:r1696_1, r1696_3 -# 1693| r1693_5(glval) = VariableAddress[#return] : -# 1693| v1693_6(void) = ReturnValue : &:r1693_5, m1696_4 -# 1693| v1693_7(void) = AliasedUse : m1693_3 -# 1693| v1693_8(void) = ExitFunction : - -# 1701| void TrivialLambdaClass::m() const -# 1701| Block 0 -# 1701| v1701_1(void) = EnterFunction : -# 1701| m1701_2(unknown) = AliasedDefinition : -# 1701| m1701_3(unknown) = InitializeNonLocal : -# 1701| m1701_4(unknown) = Chi : total:m1701_2, partial:m1701_3 -# 1701| r1701_5(glval) = VariableAddress[#this] : -# 1701| m1701_6(glval) = InitializeParameter[#this] : &:r1701_5 -# 1701| r1701_7(glval) = Load[#this] : &:r1701_5, m1701_6 -# 1701| m1701_8(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1701_7 -# 1702| r1702_1(glval) = VariableAddress[l_m_outer] : -# 1702| r1702_2(glval) = VariableAddress[#temp1702:25] : -# 1702| m1702_3(decltype([...](...){...})) = Uninitialized[#temp1702:25] : &:r1702_2 -# 1702| r1702_4(glval) = FieldAddress[(captured this)] : r1702_2 -# 1702| r1702_5(glval) = VariableAddress[#this] : -# 1702| r1702_6(TrivialLambdaClass *) = Load[#this] : &:r1702_5, m1701_6 -# 1702| r1702_7(TrivialLambdaClass) = Load[?] : &:r1702_6, ~m1701_8 -# 1702| m1702_8(TrivialLambdaClass) = Store[?] : &:r1702_4, r1702_7 -# 1702| r1702_9(decltype([...](...){...})) = Load[#temp1702:25] : &:r1702_2, ~m1702_8 -# 1702| m1702_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1702_1, r1702_9 -# 1709| v1709_1(void) = NoOp : -# 1701| v1701_9(void) = ReturnIndirection[#this] : &:r1701_7, m1701_8 -# 1701| v1701_10(void) = ReturnVoid : -# 1701| v1701_11(void) = AliasedUse : m1701_3 -# 1701| v1701_12(void) = ExitFunction : - -# 1702| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const -# 1702| Block 0 -# 1702| v1702_1(void) = EnterFunction : -# 1702| m1702_2(unknown) = AliasedDefinition : -# 1702| m1702_3(unknown) = InitializeNonLocal : -# 1702| m1702_4(unknown) = Chi : total:m1702_2, partial:m1702_3 -# 1702| r1702_5(glval) = VariableAddress[#this] : -# 1702| m1702_6(glval) = InitializeParameter[#this] : &:r1702_5 -# 1702| r1702_7(glval) = Load[#this] : &:r1702_5, m1702_6 -# 1702| m1702_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1702_7 -# 1703| r1703_1(glval) = VariableAddress[#this] : -# 1703| r1703_2(lambda [] type at line 1702, col. 26 *) = Load[#this] : &:r1703_1, m1702_6 -# 1703| r1703_3(glval) = FieldAddress[(captured this)] : r1703_2 -# 1703| r1703_4(TrivialLambdaClass *) = CopyValue : r1703_3 -# 1703| r1703_5(glval) = FunctionAddress[m] : -# 1703| v1703_6(void) = Call[m] : func:r1703_5, this:r1703_4 -# 1703| m1703_7(unknown) = ^CallSideEffect : ~m1702_4 -# 1703| m1703_8(unknown) = Chi : total:m1702_4, partial:m1703_7 -# 1703| v1703_9(void) = ^IndirectReadSideEffect[-1] : &:r1703_4, ~m1702_8 -# 1705| r1705_1(glval) = VariableAddress[l_m_inner] : -# 1705| r1705_2(glval) = VariableAddress[#temp1705:29] : -# 1705| m1705_3(decltype([...](...){...})) = Uninitialized[#temp1705:29] : &:r1705_2 -# 1705| r1705_4(glval) = FieldAddress[(captured this)] : r1705_2 -# 1705| r1705_5(glval) = VariableAddress[#this] : -# 1705| r1705_6(lambda [] type at line 1705, col. 30 *) = Load[#this] : &:r1705_5, m1702_6 -# 1705| r1705_7(glval) = FieldAddress[(captured this)] : r1705_6 -# 1705| r1705_8(TrivialLambdaClass) = Load[?] : &:r1705_7, ~m1702_8 -# 1705| m1705_9(TrivialLambdaClass) = Store[?] : &:r1705_4, r1705_8 -# 1705| r1705_10(decltype([...](...){...})) = Load[#temp1705:29] : &:r1705_2, ~m1705_9 -# 1705| m1705_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1705_1, r1705_10 -# 1708| v1708_1(void) = NoOp : -# 1702| v1702_9(void) = ReturnIndirection[#this] : &:r1702_7, m1702_8 -# 1702| v1702_10(void) = ReturnVoid : -# 1702| v1702_11(void) = AliasedUse : ~m1703_8 -# 1702| v1702_12(void) = ExitFunction : - -# 1705| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator()() const -# 1705| Block 0 -# 1705| v1705_1(void) = EnterFunction : -# 1705| m1705_2(unknown) = AliasedDefinition : -# 1705| m1705_3(unknown) = InitializeNonLocal : -# 1705| m1705_4(unknown) = Chi : total:m1705_2, partial:m1705_3 -# 1705| r1705_5(glval) = VariableAddress[#this] : -# 1705| m1705_6(glval) = InitializeParameter[#this] : &:r1705_5 -# 1705| r1705_7(glval) = Load[#this] : &:r1705_5, m1705_6 -# 1705| m1705_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1705_7 -# 1706| r1706_1(glval) = VariableAddress[#this] : -# 1706| r1706_2(lambda [] type at line 1705, col. 30 *) = Load[#this] : &:r1706_1, m1705_6 -# 1706| r1706_3(glval) = FieldAddress[(captured this)] : r1706_2 -# 1706| r1706_4(TrivialLambdaClass *) = CopyValue : r1706_3 -# 1706| r1706_5(glval) = FunctionAddress[m] : -# 1706| v1706_6(void) = Call[m] : func:r1706_5, this:r1706_4 -# 1706| m1706_7(unknown) = ^CallSideEffect : ~m1705_4 -# 1706| m1706_8(unknown) = Chi : total:m1705_4, partial:m1706_7 -# 1706| v1706_9(void) = ^IndirectReadSideEffect[-1] : &:r1706_4, ~m1705_8 -# 1707| v1707_1(void) = NoOp : -# 1705| v1705_9(void) = ReturnIndirection[#this] : &:r1705_7, m1705_8 -# 1705| v1705_10(void) = ReturnVoid : -# 1705| v1705_11(void) = AliasedUse : ~m1706_8 -# 1705| v1705_12(void) = ExitFunction : - -# 1712| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1712| Block 0 -# 1712| v1712_1(void) = EnterFunction : -# 1712| m1712_2(unknown) = AliasedDefinition : -# 1712| m1712_3(unknown) = InitializeNonLocal : -# 1712| m1712_4(unknown) = Chi : total:m1712_2, partial:m1712_3 -# 1712| r1712_5(glval) = VariableAddress[p1] : -# 1712| m1712_6(TrivialLambdaClass) = InitializeParameter[p1] : &:r1712_5 -# 1712| r1712_7(glval) = VariableAddress[p2] : -# 1712| m1712_8(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1712_7 -# 1712| r1712_9(TrivialLambdaClass &) = Load[p2] : &:r1712_7, m1712_8 -# 1712| m1712_10(unknown) = InitializeIndirection[p2] : &:r1712_9 -# 1712| r1712_11(glval) = VariableAddress[p3] : -# 1712| m1712_12(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1712_11 -# 1712| r1712_13(TrivialLambdaClass &&) = Load[p3] : &:r1712_11, m1712_12 -# 1712| m1712_14(unknown) = InitializeIndirection[p3] : &:r1712_13 -# 1713| r1713_1(glval) = VariableAddress[l1] : -# 1713| m1713_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1713_1 -# 1714| r1714_1(glval) = VariableAddress[l2] : -# 1714| r1714_2(glval) = VariableAddress[#temp1714:36] : -# 1714| r1714_3(TrivialLambdaClass) = Constant[0] : -# 1714| m1714_4(TrivialLambdaClass) = Store[#temp1714:36] : &:r1714_2, r1714_3 -# 1714| r1714_5(glval) = Convert : r1714_2 -# 1714| r1714_6(TrivialLambdaClass &) = CopyValue : r1714_5 -# 1714| m1714_7(TrivialLambdaClass &) = Store[l2] : &:r1714_1, r1714_6 -# 1716| r1716_1(glval) = VariableAddress[l_outer1] : -# 1716| r1716_2(glval) = VariableAddress[#temp1716:20] : -# 1716| m1716_3(decltype([...](...){...})) = Uninitialized[#temp1716:20] : &:r1716_2 -# 1716| r1716_4(glval) = FieldAddress[p1] : r1716_2 -# 1716| r1716_5(glval) = VariableAddress[p1] : -# 1716| r1716_6(TrivialLambdaClass) = Load[p1] : &:r1716_5, m1712_6 -# 1716| m1716_7(TrivialLambdaClass) = Store[?] : &:r1716_4, r1716_6 -# 1716| m1716_8(decltype([...](...){...})) = Chi : total:m1716_3, partial:m1716_7 -# 1716| r1716_9(glval) = FieldAddress[p2] : r1716_2 -# 1716| r1716_10(glval) = VariableAddress[p2] : -# 1716| r1716_11(TrivialLambdaClass &) = Load[p2] : &:r1716_10, m1712_8 -#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1716_11, ~m1712_10 -#-----| m0_2(TrivialLambdaClass) = Store[?] : &:r1716_9, r0_1 -#-----| m0_3(decltype([...](...){...})) = Chi : total:m1716_8, partial:m0_2 -# 1716| r1716_12(glval) = FieldAddress[p3] : r1716_2 -# 1716| r1716_13(glval) = VariableAddress[p3] : -# 1716| r1716_14(TrivialLambdaClass &&) = Load[p3] : &:r1716_13, m1712_12 -#-----| r0_4(TrivialLambdaClass) = Load[?] : &:r1716_14, ~m1712_14 -#-----| m0_5(TrivialLambdaClass) = Store[?] : &:r1716_12, r0_4 +#-----| 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 -# 1716| r1716_15(glval) = FieldAddress[l1] : r1716_2 -# 1716| r1716_16(glval) = VariableAddress[l1] : -# 1716| r1716_17(TrivialLambdaClass) = Load[l1] : &:r1716_16, m1713_2 -# 1716| m1716_18(TrivialLambdaClass) = Store[?] : &:r1716_15, r1716_17 -# 1716| m1716_19(decltype([...](...){...})) = Chi : total:m0_6, partial:m1716_18 -# 1716| r1716_20(glval) = FieldAddress[l2] : r1716_2 -# 1716| r1716_21(glval) = VariableAddress[l2] : -# 1716| r1716_22(TrivialLambdaClass &) = Load[l2] : &:r1716_21, m1714_7 -#-----| r0_7(TrivialLambdaClass) = Load[?] : &:r1716_22, m1714_4 -#-----| m0_8(TrivialLambdaClass) = Store[?] : &:r1716_20, r0_7 -#-----| m0_9(decltype([...](...){...})) = Chi : total:m1716_19, partial:m0_8 -# 1716| r1716_23(decltype([...](...){...})) = Load[#temp1716:20] : &:r1716_2, m0_9 -# 1716| m1716_24(decltype([...](...){...})) = Store[l_outer1] : &:r1716_1, r1716_23 -# 1719| v1719_1(void) = NoOp : -# 1712| v1712_15(void) = ReturnIndirection[p2] : &:r1712_9, m1712_10 -# 1712| v1712_16(void) = ReturnIndirection[p3] : &:r1712_13, m1712_14 -# 1712| v1712_17(void) = ReturnVoid : -# 1712| v1712_18(void) = AliasedUse : m1712_3 -# 1712| v1712_19(void) = ExitFunction : - -# 1716| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const -# 1716| Block 0 -# 1716| v1716_1(void) = EnterFunction : -# 1716| m1716_2(unknown) = AliasedDefinition : -# 1716| m1716_3(unknown) = InitializeNonLocal : -# 1716| m1716_4(unknown) = Chi : total:m1716_2, partial:m1716_3 -# 1716| r1716_5(glval) = VariableAddress[#this] : -# 1716| m1716_6(glval) = InitializeParameter[#this] : &:r1716_5 -# 1716| r1716_7(glval) = Load[#this] : &:r1716_5, m1716_6 -# 1716| m1716_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1716_7 -# 1717| r1717_1(glval) = VariableAddress[l_inner1] : -# 1717| r1717_2(glval) = VariableAddress[#temp1717:24] : -# 1717| m1717_3(decltype([...](...){...})) = Uninitialized[#temp1717:24] : &:r1717_2 -# 1717| r1717_4(glval) = FieldAddress[p1] : r1717_2 -# 1717| r1717_5(glval) = VariableAddress[#this] : -# 1717| r1717_6(lambda [] type at line 1717, col. 25 *) = Load[#this] : &:r1717_5, m1716_6 -# 1717| r1717_7(glval) = FieldAddress[p1] : r1717_6 -# 1717| r1717_8(TrivialLambdaClass) = Load[?] : &:r1717_7, ~m1716_8 -# 1717| m1717_9(TrivialLambdaClass) = Store[?] : &:r1717_4, r1717_8 -# 1717| r1717_10(decltype([...](...){...})) = Load[#temp1717:24] : &:r1717_2, ~m1717_9 -# 1717| m1717_11(decltype([...](...){...})) = Store[l_inner1] : &:r1717_1, r1717_10 -# 1718| v1718_1(void) = NoOp : -# 1716| v1716_9(void) = ReturnIndirection[#this] : &:r1716_7, m1716_8 -# 1716| v1716_10(void) = ReturnVoid : -# 1716| v1716_11(void) = AliasedUse : m1716_3 -# 1716| v1716_12(void) = ExitFunction : - -# 1717| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator()() const -# 1717| Block 0 -# 1717| v1717_1(void) = EnterFunction : -# 1717| m1717_2(unknown) = AliasedDefinition : -# 1717| m1717_3(unknown) = InitializeNonLocal : -# 1717| m1717_4(unknown) = Chi : total:m1717_2, partial:m1717_3 -# 1717| r1717_5(glval) = VariableAddress[#this] : -# 1717| m1717_6(glval) = InitializeParameter[#this] : &:r1717_5 -# 1717| r1717_7(glval) = Load[#this] : &:r1717_5, m1717_6 -# 1717| m1717_8(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1717_7 -# 1717| v1717_9(void) = NoOp : -# 1717| v1717_10(void) = ReturnIndirection[#this] : &:r1717_7, m1717_8 -# 1717| v1717_11(void) = ReturnVoid : -# 1717| v1717_12(void) = AliasedUse : m1717_3 -# 1717| v1717_13(void) = ExitFunction : - -# 1724| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1724| Block 0 -# 1724| v1724_1(void) = EnterFunction : -# 1724| m1724_2(unknown) = AliasedDefinition : -# 1724| m1724_3(unknown) = InitializeNonLocal : -# 1724| m1724_4(unknown) = Chi : total:m1724_2, partial:m1724_3 -# 1724| r1724_5(glval) = VariableAddress[#this] : -# 1724| m1724_6(glval) = InitializeParameter[#this] : &:r1724_5 -# 1724| r1724_7(glval) = Load[#this] : &:r1724_5, m1724_6 -# 1724| m1724_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1724_7 -# 1724| v1724_9(void) = NoOp : -# 1724| v1724_10(void) = ReturnIndirection[#this] : &:r1724_7, m1724_8 -# 1724| v1724_11(void) = ReturnVoid : -# 1724| v1724_12(void) = AliasedUse : m1724_3 -# 1724| v1724_13(void) = ExitFunction : - -# 1725| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1725| Block 0 -# 1725| v1725_1(void) = EnterFunction : -# 1725| m1725_2(unknown) = AliasedDefinition : -# 1725| m1725_3(unknown) = InitializeNonLocal : -# 1725| m1725_4(unknown) = Chi : total:m1725_2, partial:m1725_3 -# 1725| r1725_5(glval) = VariableAddress[#this] : -# 1725| m1725_6(glval) = InitializeParameter[#this] : &:r1725_5 -# 1725| r1725_7(glval) = Load[#this] : &:r1725_5, m1725_6 -# 1725| m1725_8(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1725_7 -# 1725| r1725_9(glval) = VariableAddress[c] : -# 1725| m1725_10(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1725_9 -# 1725| r1725_11(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1725_9, m1725_10 -# 1725| m1725_12(unknown) = InitializeIndirection[c] : &:r1725_11 -# 1726| r1726_1(glval) = VariableAddress[c] : -# 1726| r1726_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1726_1, m1725_10 -# 1726| r1726_3(glval) = CopyValue : r1726_2 -# 1726| r1726_4(glval) = FieldAddress[x] : r1726_3 -# 1726| r1726_5(int) = Load[?] : &:r1726_4, ~m1725_12 -# 1726| r1726_6(glval) = VariableAddress[#this] : -# 1726| r1726_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1726_6, m1725_6 -# 1726| r1726_8(glval) = FieldAddress[x] : r1726_7 -# 1726| m1726_9(int) = Store[?] : &:r1726_8, r1726_5 -# 1726| m1726_10(unknown) = Chi : total:m1725_8, partial:m1726_9 -# 1727| v1727_1(void) = NoOp : -# 1725| v1725_13(void) = ReturnIndirection[#this] : &:r1725_7, m1726_10 -# 1725| v1725_14(void) = ReturnIndirection[c] : &:r1725_11, m1725_12 -# 1725| v1725_15(void) = ReturnVoid : -# 1725| v1725_16(void) = AliasedUse : m1725_3 -# 1725| v1725_17(void) = ExitFunction : - -# 1733| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1733| Block 0 -# 1733| v1733_1(void) = EnterFunction : -# 1733| m1733_2(unknown) = AliasedDefinition : -# 1733| m1733_3(unknown) = InitializeNonLocal : -# 1733| m1733_4(unknown) = Chi : total:m1733_2, partial:m1733_3 -# 1733| r1733_5(glval) = VariableAddress[#this] : -# 1733| m1733_6(glval) = InitializeParameter[#this] : &:r1733_5 -# 1733| r1733_7(glval) = Load[#this] : &:r1733_5, m1733_6 -# 1733| m1733_8(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1733_7 -# 1733| v1733_9(void) = NoOp : -# 1733| v1733_10(void) = ReturnIndirection[#this] : &:r1733_7, m1733_8 -# 1733| v1733_11(void) = ReturnVoid : -# 1733| v1733_12(void) = AliasedUse : m1733_3 -# 1733| v1733_13(void) = ExitFunction : - -# 1736| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) -# 1736| Block 0 -# 1736| v1736_1(void) = EnterFunction : -# 1736| m1736_2(unknown) = AliasedDefinition : -# 1736| m1736_3(unknown) = InitializeNonLocal : -# 1736| m1736_4(unknown) = Chi : total:m1736_2, partial:m1736_3 -# 1736| r1736_5(glval) = VariableAddress[#this] : -# 1736| m1736_6(glval) = InitializeParameter[#this] : &:r1736_5 -# 1736| r1736_7(glval) = Load[#this] : &:r1736_5, m1736_6 -# 1736| m1736_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1736_7 +# 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| 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 #-----| 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 -# 1736| r1736_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1736_6 -# 1736| r1736_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1736| r1736_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1736| r1736_12(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1736_11, m0_2 -# 1736| r1736_13(glval) = CopyValue : r1736_12 -# 1736| r1736_14(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1736_13 -# 1736| r1736_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1736_14 -# 1736| v1736_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1736_10, this:r1736_9, 0:r1736_15 -# 1736| m1736_17(unknown) = ^CallSideEffect : ~m1736_4 -# 1736| m1736_18(unknown) = Chi : total:m1736_4, partial:m1736_17 -# 1736| v1736_19(void) = ^BufferReadSideEffect[0] : &:r1736_15, ~m0_4 -# 1736| m1736_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1736_9 -# 1736| m1736_21(unknown) = Chi : total:m1736_8, partial:m1736_20 -# 1736| v1736_22(void) = NoOp : -# 1736| v1736_23(void) = ReturnIndirection[#this] : &:r1736_7, m1736_21 +# 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 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1736| v1736_24(void) = ReturnVoid : -# 1736| v1736_25(void) = AliasedUse : ~m1736_18 -# 1736| v1736_26(void) = ExitFunction : - -# 1740| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1740| Block 0 -# 1740| v1740_1(void) = EnterFunction : -# 1740| m1740_2(unknown) = AliasedDefinition : -# 1740| m1740_3(unknown) = InitializeNonLocal : -# 1740| m1740_4(unknown) = Chi : total:m1740_2, partial:m1740_3 -# 1740| r1740_5(glval) = VariableAddress[#this] : -# 1740| m1740_6(glval) = InitializeParameter[#this] : &:r1740_5 -# 1740| r1740_7(glval) = Load[#this] : &:r1740_5, m1740_6 -# 1740| m1740_8(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1740_7 -# 1740| r1740_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1740_6 -# 1740| r1740_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1740| v1740_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1740_10, this:r1740_9 -# 1740| m1740_12(unknown) = ^CallSideEffect : ~m1740_4 -# 1740| m1740_13(unknown) = Chi : total:m1740_4, partial:m1740_12 -# 1740| m1740_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1740_9 -# 1740| m1740_15(unknown) = Chi : total:m1740_8, partial:m1740_14 -# 1740| r1740_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1740_6 -# 1740| r1740_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1740| v1740_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1740_17, this:r1740_16 -# 1740| m1740_19(unknown) = ^CallSideEffect : ~m1740_13 -# 1740| m1740_20(unknown) = Chi : total:m1740_13, partial:m1740_19 -# 1740| m1740_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1740_16 -# 1740| m1740_22(unknown) = Chi : total:m1740_15, partial:m1740_21 -# 1740| v1740_23(void) = NoOp : -# 1740| v1740_24(void) = ReturnIndirection[#this] : &:r1740_7, m1740_22 -# 1740| v1740_25(void) = ReturnVoid : -# 1740| v1740_26(void) = AliasedUse : ~m1740_20 -# 1740| v1740_27(void) = ExitFunction : - -# 1743| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1743| Block 0 -# 1743| v1743_1(void) = EnterFunction : -# 1743| m1743_2(unknown) = AliasedDefinition : -# 1743| m1743_3(unknown) = InitializeNonLocal : -# 1743| m1743_4(unknown) = Chi : total:m1743_2, partial:m1743_3 -# 1743| r1743_5(glval) = VariableAddress[#this] : -# 1743| m1743_6(glval) = InitializeParameter[#this] : &:r1743_5 -# 1743| r1743_7(glval) = Load[#this] : &:r1743_5, m1743_6 -# 1743| m1743_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1743_7 +# 1738| v1738_24(void) = ReturnVoid : +# 1738| v1738_25(void) = AliasedUse : ~m1738_18 +# 1738| v1738_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 : + +# 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 #-----| 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 -# 1743| r1743_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1743_6 -# 1743| r1743_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1743| r1743_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1743| r1743_12(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1743_11, m0_2 -# 1743| r1743_13(glval) = CopyValue : r1743_12 -# 1743| r1743_14(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1743_13 -# 1743| r1743_15(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1743_14 -# 1743| v1743_16(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1743_10, this:r1743_9, 0:r1743_15 -# 1743| m1743_17(unknown) = ^CallSideEffect : ~m1743_4 -# 1743| m1743_18(unknown) = Chi : total:m1743_4, partial:m1743_17 -# 1743| v1743_19(void) = ^BufferReadSideEffect[0] : &:r1743_15, ~m0_4 -# 1743| m1743_20(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1743_9 -# 1743| m1743_21(unknown) = Chi : total:m1743_18, partial:m1743_20 -# 1743| v1743_22(void) = NoOp : -# 1743| v1743_23(void) = ReturnIndirection[#this] : &:r1743_7, m1743_8 +# 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 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1743| v1743_24(void) = ReturnVoid : -# 1743| v1743_25(void) = AliasedUse : ~m1743_21 -# 1743| v1743_26(void) = ExitFunction : - -# 1747| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1747| Block 0 -# 1747| v1747_1(void) = EnterFunction : -# 1747| m1747_2(unknown) = AliasedDefinition : -# 1747| m1747_3(unknown) = InitializeNonLocal : -# 1747| m1747_4(unknown) = Chi : total:m1747_2, partial:m1747_3 -# 1747| r1747_5(glval) = VariableAddress[#this] : -# 1747| m1747_6(glval) = InitializeParameter[#this] : &:r1747_5 -# 1747| r1747_7(glval) = Load[#this] : &:r1747_5, m1747_6 -# 1747| m1747_8(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1747_7 -# 1747| r1747_9(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : m1747_6 -# 1747| r1747_10(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1747| v1747_11(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1747_10, this:r1747_9 -# 1747| m1747_12(unknown) = ^CallSideEffect : ~m1747_4 -# 1747| m1747_13(unknown) = Chi : total:m1747_4, partial:m1747_12 -# 1747| m1747_14(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1747_9 -# 1747| m1747_15(unknown) = Chi : total:m1747_13, partial:m1747_14 -# 1747| r1747_16(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : m1747_6 -# 1747| r1747_17(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1747| v1747_18(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1747_17, this:r1747_16 -# 1747| m1747_19(unknown) = ^CallSideEffect : ~m1747_15 -# 1747| m1747_20(unknown) = Chi : total:m1747_15, partial:m1747_19 -# 1747| m1747_21(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1747_16 -# 1747| m1747_22(unknown) = Chi : total:m1747_20, partial:m1747_21 -# 1747| v1747_23(void) = NoOp : -# 1747| v1747_24(void) = ReturnIndirection[#this] : &:r1747_7, m1747_8 -# 1747| v1747_25(void) = ReturnVoid : -# 1747| v1747_26(void) = AliasedUse : ~m1747_22 -# 1747| v1747_27(void) = ExitFunction : - -# 1750| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass 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 -# 1751| r1751_1(glval) = VariableAddress[x] : -# 1751| m1751_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1751_1 -# 1751| r1751_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1751_1, m1751_2 -# 1751| m1751_4(unknown) = InitializeIndirection[x] : &:r1751_3 -# 1752| r1752_1(glval) = VariableAddress[y] : -# 1752| m1752_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1752_1 -# 1752| r1752_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1752_1, m1752_2 -# 1752| m1752_4(unknown) = InitializeIndirection[y] : &:r1752_3 -# 1753| r1753_1(glval) = VariableAddress[cx] : -# 1753| m1753_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1753_1 -# 1753| r1753_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : -# 1753| r1753_4(glval) = VariableAddress[x] : -# 1753| r1753_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1753_4, m1751_2 -# 1753| r1753_6(glval) = CopyValue : r1753_5 -# 1753| r1753_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1753_6 -# 1753| v1753_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1753_3, this:r1753_1, 0:r1753_7 -# 1753| m1753_9(unknown) = ^CallSideEffect : ~m1750_4 -# 1753| m1753_10(unknown) = Chi : total:m1750_4, partial:m1753_9 -# 1753| v1753_11(void) = ^BufferReadSideEffect[0] : &:r1753_7, ~m1751_4 -# 1753| m1753_12(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1753_1 -# 1753| m1753_13(CopyConstructorTestNonVirtualClass) = Chi : total:m1753_2, partial:m1753_12 -# 1754| r1754_1(glval) = VariableAddress[cy] : -# 1754| m1754_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1754_1 -# 1754| r1754_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : -# 1754| r1754_4(glval) = VariableAddress[y] : -# 1754| r1754_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1754_4, m1752_2 -# 1754| r1754_6(glval) = CopyValue : r1754_5 -# 1754| r1754_7(CopyConstructorTestVirtualClass &) = CopyValue : r1754_6 -# 1754| v1754_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1754_3, this:r1754_1, 0:r1754_7 -# 1754| m1754_9(unknown) = ^CallSideEffect : ~m1753_10 -# 1754| m1754_10(unknown) = Chi : total:m1753_10, partial:m1754_9 -# 1754| v1754_11(void) = ^BufferReadSideEffect[0] : &:r1754_7, ~m1752_4 -# 1754| m1754_12(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1754_1 -# 1754| m1754_13(CopyConstructorTestVirtualClass) = Chi : total:m1754_2, partial:m1754_12 -# 1755| r1755_1(glval) = VariableAddress[#return] : -# 1755| m1755_2(int) = Uninitialized[#return] : &:r1755_1 -# 1751| v1751_5(void) = ReturnIndirection[x] : &:r1751_3, m1751_4 -# 1752| v1752_5(void) = ReturnIndirection[y] : &:r1752_3, m1752_4 -# 1750| r1750_5(glval) = VariableAddress[#return] : -# 1750| v1750_6(void) = ReturnValue : &:r1750_5, m1755_2 -# 1750| v1750_7(void) = AliasedUse : ~m1754_10 -# 1750| v1750_8(void) = ExitFunction : - -# 1757| void if_initialization(int) -# 1757| Block 0 -# 1757| v1757_1(void) = EnterFunction : -# 1757| m1757_2(unknown) = AliasedDefinition : -# 1757| m1757_3(unknown) = InitializeNonLocal : -# 1757| m1757_4(unknown) = Chi : total:m1757_2, partial:m1757_3 -# 1757| r1757_5(glval) = VariableAddress[x] : -# 1757| m1757_6(int) = InitializeParameter[x] : &:r1757_5 -# 1758| r1758_1(glval) = VariableAddress[y] : -# 1758| r1758_2(glval) = VariableAddress[x] : -# 1758| r1758_3(int) = Load[x] : &:r1758_2, m1757_6 -# 1758| m1758_4(int) = Store[y] : &:r1758_1, r1758_3 -# 1758| r1758_5(glval) = VariableAddress[x] : -# 1758| r1758_6(int) = Load[x] : &:r1758_5, m1757_6 -# 1758| r1758_7(int) = Constant[1] : -# 1758| r1758_8(int) = Add : r1758_6, r1758_7 -# 1758| r1758_9(int) = Constant[0] : -# 1758| r1758_10(bool) = CompareNE : r1758_8, r1758_9 -# 1758| v1758_11(void) = ConditionalBranch : r1758_10 +# 1745| v1745_24(void) = ReturnVoid : +# 1745| v1745_25(void) = AliasedUse : ~m1745_21 +# 1745| v1745_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 : + +# 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 : + +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 1759| Block 1 -# 1759| r1759_1(glval) = VariableAddress[x] : -# 1759| r1759_2(int) = Load[x] : &:r1759_1, m1757_6 -# 1759| r1759_3(glval) = VariableAddress[y] : -# 1759| r1759_4(int) = Load[y] : &:r1759_3, m1758_4 -# 1759| r1759_5(int) = Add : r1759_2, r1759_4 -# 1759| r1759_6(glval) = VariableAddress[x] : -# 1759| m1759_7(int) = Store[x] : &:r1759_6, r1759_5 +# 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 #-----| Goto -> Block 2 -# 1762| Block 2 -# 1762| m1762_1(int) = Phi : from 0:m1757_6, from 1:m1759_7 -# 1762| r1762_2(glval) = VariableAddress[w] : -# 1762| m1762_3(int) = Uninitialized[w] : &:r1762_2 -# 1763| r1763_1(glval) = VariableAddress[x] : -# 1763| r1763_2(int) = Load[x] : &:r1763_1, m1762_1 -# 1763| r1763_3(glval) = VariableAddress[w] : -# 1763| m1763_4(int) = Store[w] : &:r1763_3, r1763_2 -# 1763| r1763_5(glval) = VariableAddress[x] : -# 1763| r1763_6(int) = Load[x] : &:r1763_5, m1762_1 -# 1763| r1763_7(int) = Constant[1] : -# 1763| r1763_8(int) = Add : r1763_6, r1763_7 -# 1763| r1763_9(int) = Constant[0] : -# 1763| r1763_10(bool) = CompareNE : r1763_8, r1763_9 -# 1763| v1763_11(void) = ConditionalBranch : r1763_10 +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1764| Block 3 -# 1764| r1764_1(glval) = VariableAddress[x] : -# 1764| r1764_2(int) = Load[x] : &:r1764_1, m1762_1 -# 1764| r1764_3(glval) = VariableAddress[w] : -# 1764| r1764_4(int) = Load[w] : &:r1764_3, m1763_4 -# 1764| r1764_5(int) = Add : r1764_2, r1764_4 -# 1764| r1764_6(glval) = VariableAddress[x] : -# 1764| m1764_7(int) = Store[x] : &:r1764_6, r1764_5 +# 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 #-----| Goto -> Block 4 -# 1767| Block 4 -# 1767| m1767_1(int) = Phi : from 2:m1762_1, from 3:m1764_7 -# 1767| r1767_2(glval) = VariableAddress[x] : -# 1767| r1767_3(int) = Load[x] : &:r1767_2, m1767_1 -# 1767| r1767_4(glval) = VariableAddress[w] : -# 1767| m1767_5(int) = Store[w] : &:r1767_4, r1767_3 -# 1767| r1767_6(glval) = VariableAddress[w2] : -# 1767| r1767_7(glval) = VariableAddress[w] : -# 1767| r1767_8(int) = Load[w] : &:r1767_7, m1767_5 -# 1767| m1767_9(int) = Store[w2] : &:r1767_6, r1767_8 -# 1767| r1767_10(glval) = VariableAddress[w2] : -# 1767| r1767_11(int) = Load[w2] : &:r1767_10, m1767_9 -# 1767| r1767_12(int) = Constant[0] : -# 1767| r1767_13(bool) = CompareNE : r1767_11, r1767_12 -# 1767| r1767_14(bool) = CopyValue : r1767_13 -# 1767| v1767_15(void) = ConditionalBranch : r1767_14 +# 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 #-----| False -> Block 6 #-----| True -> Block 5 -# 1768| Block 5 -# 1768| r1768_1(glval) = VariableAddress[x] : -# 1768| r1768_2(int) = Load[x] : &:r1768_1, m1767_1 -# 1768| r1768_3(glval) = VariableAddress[w] : -# 1768| r1768_4(int) = Load[w] : &:r1768_3, m1767_5 -# 1768| r1768_5(int) = Add : r1768_2, r1768_4 -# 1768| r1768_6(glval) = VariableAddress[x] : -# 1768| m1768_7(int) = Store[x] : &:r1768_6, r1768_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 #-----| Goto -> Block 6 -# 1771| Block 6 -# 1771| m1771_1(int) = Phi : from 4:m1767_1, from 5:m1768_7 -# 1771| r1771_2(glval) = VariableAddress[v] : -# 1771| r1771_3(glval) = VariableAddress[x] : -# 1771| r1771_4(int) = Load[x] : &:r1771_3, m1771_1 -# 1771| m1771_5(int) = Store[v] : &:r1771_2, r1771_4 -# 1771| r1771_6(glval) = VariableAddress[v2] : -# 1771| r1771_7(glval) = VariableAddress[v] : -# 1771| r1771_8(int) = Load[v] : &:r1771_7, m1771_5 -# 1771| m1771_9(int) = Store[v2] : &:r1771_6, r1771_8 -# 1771| r1771_10(glval) = VariableAddress[v2] : -# 1771| r1771_11(int) = Load[v2] : &:r1771_10, m1771_9 -# 1771| r1771_12(int) = Constant[0] : -# 1771| r1771_13(bool) = CompareNE : r1771_11, r1771_12 -# 1771| r1771_14(bool) = CopyValue : r1771_13 -# 1771| v1771_15(void) = ConditionalBranch : r1771_14 +# 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 #-----| False -> Block 8 #-----| True -> Block 7 -# 1772| Block 7 -# 1772| r1772_1(glval) = VariableAddress[x] : -# 1772| r1772_2(int) = Load[x] : &:r1772_1, m1771_1 -# 1772| r1772_3(glval) = VariableAddress[v] : -# 1772| r1772_4(int) = Load[v] : &:r1772_3, m1771_5 -# 1772| r1772_5(int) = Add : r1772_2, r1772_4 -# 1772| r1772_6(glval) = VariableAddress[x] : -# 1772| m1772_7(int) = Store[x] : &:r1772_6, r1772_5 +# 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 #-----| Goto -> Block 8 -# 1775| Block 8 -# 1775| m1775_1(int) = Phi : from 6:m1771_1, from 7:m1772_7 -# 1775| r1775_2(glval) = VariableAddress[z] : -# 1775| r1775_3(glval) = VariableAddress[x] : -# 1775| r1775_4(int) = Load[x] : &:r1775_3, m1775_1 -# 1775| m1775_5(int) = Store[z] : &:r1775_2, r1775_4 -# 1776| r1776_1(glval) = VariableAddress[z] : -# 1776| r1776_2(int) = Load[z] : &:r1776_1, m1775_5 -# 1776| r1776_3(int) = Constant[0] : -# 1776| r1776_4(bool) = CompareNE : r1776_2, r1776_3 -# 1776| v1776_5(void) = ConditionalBranch : r1776_4 +# 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 #-----| False -> Block 10 #-----| True -> Block 9 -# 1777| Block 9 -# 1777| r1777_1(glval) = VariableAddress[x] : -# 1777| r1777_2(int) = Load[x] : &:r1777_1, m1775_1 -# 1777| r1777_3(glval) = VariableAddress[z] : -# 1777| r1777_4(int) = Load[z] : &:r1777_3, m1775_5 -# 1777| r1777_5(int) = Add : r1777_2, r1777_4 -# 1777| r1777_6(glval) = VariableAddress[x] : -# 1777| m1777_7(int) = Store[x] : &:r1777_6, r1777_5 +# 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 #-----| Goto -> Block 10 -# 1780| Block 10 -# 1780| m1780_1(int) = Phi : from 8:m1775_1, from 9:m1777_7 -# 1780| r1780_2(glval) = VariableAddress[z2] : -# 1780| r1780_3(glval) = VariableAddress[z] : -# 1780| r1780_4(int) = Load[z] : &:r1780_3, m1775_5 -# 1780| m1780_5(int) = Store[z2] : &:r1780_2, r1780_4 -# 1780| r1780_6(glval) = VariableAddress[z2] : -# 1780| r1780_7(int) = Load[z2] : &:r1780_6, m1780_5 -# 1780| r1780_8(int) = Constant[0] : -# 1780| r1780_9(bool) = CompareNE : r1780_7, r1780_8 -# 1780| r1780_10(bool) = CopyValue : r1780_9 -# 1780| v1780_11(void) = ConditionalBranch : r1780_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 #-----| False -> Block 12 #-----| True -> Block 11 -# 1781| Block 11 -# 1781| r1781_1(glval) = VariableAddress[z2] : -# 1781| r1781_2(int) = Load[z2] : &:r1781_1, m1780_5 -# 1781| r1781_3(glval) = VariableAddress[x] : -# 1781| r1781_4(int) = Load[x] : &:r1781_3, m1780_1 -# 1781| r1781_5(int) = Add : r1781_4, r1781_2 -# 1781| m1781_6(int) = Store[x] : &:r1781_3, r1781_5 +# 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 #-----| Goto -> Block 12 -# 1783| Block 12 -# 1783| v1783_1(void) = NoOp : -# 1757| v1757_7(void) = ReturnVoid : -# 1757| v1757_8(void) = AliasedUse : m1757_3 -# 1757| v1757_9(void) = ExitFunction : - -# 1785| void switch_initialization(int) -# 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[x] : -# 1785| m1785_6(int) = InitializeParameter[x] : &:r1785_5 -# 1786| r1786_1(glval) = VariableAddress[y] : -# 1786| r1786_2(glval) = VariableAddress[x] : -# 1786| r1786_3(int) = Load[x] : &:r1786_2, m1785_6 -# 1786| m1786_4(int) = Store[y] : &:r1786_1, r1786_3 -# 1786| r1786_5(glval) = VariableAddress[x] : -# 1786| r1786_6(int) = Load[x] : &:r1786_5, m1785_6 -# 1786| r1786_7(int) = Constant[1] : -# 1786| r1786_8(int) = Add : r1786_6, r1786_7 -# 1786| v1786_9(void) = Switch : r1786_8 +# 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 : + +# 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 #-----| Default -> Block 1 -# 1787| Block 1 -# 1787| v1787_1(void) = NoOp : -# 1788| r1788_1(glval) = VariableAddress[x] : -# 1788| r1788_2(int) = Load[x] : &:r1788_1, m1785_6 -# 1788| r1788_3(glval) = VariableAddress[y] : -# 1788| r1788_4(int) = Load[y] : &:r1788_3, m1786_4 -# 1788| r1788_5(int) = Add : r1788_2, r1788_4 -# 1788| r1788_6(glval) = VariableAddress[x] : -# 1788| m1788_7(int) = Store[x] : &:r1788_6, r1788_5 -# 1791| r1791_1(glval) = VariableAddress[w] : -# 1791| m1791_2(int) = Uninitialized[w] : &:r1791_1 -# 1792| r1792_1(glval) = VariableAddress[x] : -# 1792| r1792_2(int) = Load[x] : &:r1792_1, m1788_7 -# 1792| r1792_3(glval) = VariableAddress[w] : -# 1792| m1792_4(int) = Store[w] : &:r1792_3, r1792_2 -# 1792| r1792_5(glval) = VariableAddress[x] : -# 1792| r1792_6(int) = Load[x] : &:r1792_5, m1788_7 -# 1792| r1792_7(int) = Constant[1] : -# 1792| r1792_8(int) = Add : r1792_6, r1792_7 -# 1792| v1792_9(void) = Switch : r1792_8 +# 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 #-----| Default -> Block 2 -# 1793| Block 2 -# 1793| v1793_1(void) = NoOp : -# 1794| r1794_1(glval) = VariableAddress[x] : -# 1794| r1794_2(int) = Load[x] : &:r1794_1, m1788_7 -# 1794| r1794_3(glval) = VariableAddress[w] : -# 1794| r1794_4(int) = Load[w] : &:r1794_3, m1792_4 -# 1794| r1794_5(int) = Add : r1794_2, r1794_4 -# 1794| r1794_6(glval) = VariableAddress[x] : -# 1794| m1794_7(int) = Store[x] : &:r1794_6, r1794_5 -# 1797| r1797_1(glval) = VariableAddress[x] : -# 1797| r1797_2(int) = Load[x] : &:r1797_1, m1794_7 -# 1797| r1797_3(glval) = VariableAddress[w] : -# 1797| m1797_4(int) = Store[w] : &:r1797_3, r1797_2 -# 1797| r1797_5(glval) = VariableAddress[w2] : -# 1797| r1797_6(glval) = VariableAddress[w] : -# 1797| r1797_7(int) = Load[w] : &:r1797_6, m1797_4 -# 1797| m1797_8(int) = Store[w2] : &:r1797_5, r1797_7 -# 1797| r1797_9(glval) = VariableAddress[w2] : -# 1797| r1797_10(int) = Load[w2] : &:r1797_9, m1797_8 -# 1797| r1797_11(int) = CopyValue : r1797_10 -# 1797| v1797_12(void) = Switch : r1797_11 -#-----| Default -> Block 3 - -# 1798| Block 3 -# 1798| v1798_1(void) = NoOp : +# 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, m1794_7 +# 1799| r1799_2(int) = Load[x] : &:r1799_1, m1796_7 # 1799| r1799_3(glval) = VariableAddress[w] : -# 1799| r1799_4(int) = Load[w] : &:r1799_3, m1797_4 -# 1799| r1799_5(int) = Add : r1799_2, r1799_4 -# 1799| r1799_6(glval) = VariableAddress[x] : -# 1799| m1799_7(int) = Store[x] : &:r1799_6, r1799_5 -# 1802| r1802_1(glval) = VariableAddress[v] : -# 1802| r1802_2(glval) = VariableAddress[x] : -# 1802| r1802_3(int) = Load[x] : &:r1802_2, m1799_7 -# 1802| m1802_4(int) = Store[v] : &:r1802_1, r1802_3 -# 1802| r1802_5(glval) = VariableAddress[v2] : -# 1802| r1802_6(glval) = VariableAddress[v] : -# 1802| r1802_7(int) = Load[v] : &:r1802_6, m1802_4 -# 1802| m1802_8(int) = Store[v2] : &:r1802_5, r1802_7 -# 1802| r1802_9(glval) = VariableAddress[v2] : -# 1802| r1802_10(int) = Load[v2] : &:r1802_9, m1802_8 -# 1802| r1802_11(int) = CopyValue : r1802_10 -# 1802| v1802_12(void) = Switch : r1802_11 +# 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 +#-----| 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 #-----| Default -> Block 4 -# 1803| Block 4 -# 1803| v1803_1(void) = NoOp : -# 1804| r1804_1(glval) = VariableAddress[x] : -# 1804| r1804_2(int) = Load[x] : &:r1804_1, m1799_7 -# 1804| r1804_3(glval) = VariableAddress[v] : -# 1804| r1804_4(int) = Load[v] : &:r1804_3, m1802_4 -# 1804| r1804_5(int) = Add : r1804_2, r1804_4 -# 1804| r1804_6(glval) = VariableAddress[x] : -# 1804| m1804_7(int) = Store[x] : &:r1804_6, r1804_5 -# 1807| r1807_1(glval) = VariableAddress[z] : -# 1807| r1807_2(glval) = VariableAddress[x] : -# 1807| r1807_3(int) = Load[x] : &:r1807_2, m1804_7 -# 1807| m1807_4(int) = Store[z] : &:r1807_1, r1807_3 -# 1808| r1808_1(glval) = VariableAddress[z] : -# 1808| r1808_2(int) = Load[z] : &:r1808_1, m1807_4 -# 1808| v1808_3(void) = Switch : r1808_2 +# 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 #-----| Default -> Block 5 -# 1809| Block 5 -# 1809| v1809_1(void) = NoOp : -# 1810| r1810_1(glval) = VariableAddress[x] : -# 1810| r1810_2(int) = Load[x] : &:r1810_1, m1804_7 -# 1810| r1810_3(glval) = VariableAddress[z] : -# 1810| r1810_4(int) = Load[z] : &:r1810_3, m1807_4 -# 1810| r1810_5(int) = Add : r1810_2, r1810_4 -# 1810| r1810_6(glval) = VariableAddress[x] : -# 1810| m1810_7(int) = Store[x] : &:r1810_6, r1810_5 -# 1813| r1813_1(glval) = VariableAddress[z2] : -# 1813| r1813_2(glval) = VariableAddress[z] : -# 1813| r1813_3(int) = Load[z] : &:r1813_2, m1807_4 -# 1813| m1813_4(int) = Store[z2] : &:r1813_1, r1813_3 -# 1813| r1813_5(glval) = VariableAddress[z2] : -# 1813| r1813_6(int) = Load[z2] : &:r1813_5, m1813_4 -# 1813| r1813_7(int) = CopyValue : r1813_6 -# 1813| v1813_8(void) = Switch : r1813_7 +# 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 #-----| Default -> Block 6 -# 1814| Block 6 -# 1814| v1814_1(void) = NoOp : -# 1815| r1815_1(glval) = VariableAddress[z2] : -# 1815| r1815_2(int) = Load[z2] : &:r1815_1, m1813_4 -# 1815| r1815_3(glval) = VariableAddress[x] : -# 1815| r1815_4(int) = Load[x] : &:r1815_3, m1810_7 -# 1815| r1815_5(int) = Add : r1815_4, r1815_2 -# 1815| m1815_6(int) = Store[x] : &:r1815_3, r1815_5 -# 1817| v1817_1(void) = NoOp : -# 1785| v1785_7(void) = ReturnVoid : -# 1785| v1785_8(void) = AliasedUse : m1785_3 -# 1785| v1785_9(void) = ExitFunction : - -# 1821| int global_2 -# 1821| Block 0 -# 1821| v1821_1(void) = EnterFunction : -# 1821| m1821_2(unknown) = AliasedDefinition : -# 1821| r1821_3(glval) = VariableAddress[global_2] : -# 1821| r1821_4(int) = Constant[1] : -# 1821| m1821_5(int) = Store[global_2] : &:r1821_3, r1821_4 -# 1821| m1821_6(unknown) = Chi : total:m1821_2, partial:m1821_5 -# 1821| v1821_7(void) = ReturnVoid : -# 1821| v1821_8(void) = AliasedUse : ~m1821_6 -# 1821| v1821_9(void) = ExitFunction : - -# 1825| constructor_only global_4 -# 1825| Block 0 -# 1825| v1825_1(void) = EnterFunction : -# 1825| m1825_2(unknown) = AliasedDefinition : -# 1825| r1825_3(glval) = VariableAddress[global_4] : -# 1825| r1825_4(glval) = FunctionAddress[constructor_only] : -# 1825| r1825_5(int) = Constant[1] : -# 1825| v1825_6(void) = Call[constructor_only] : func:r1825_4, this:r1825_3, 0:r1825_5 -# 1825| m1825_7(unknown) = ^CallSideEffect : ~m1825_2 -# 1825| m1825_8(unknown) = Chi : total:m1825_2, partial:m1825_7 -# 1825| m1825_9(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1825_3 -# 1825| m1825_10(unknown) = Chi : total:m1825_8, partial:m1825_9 -# 1825| v1825_11(void) = ReturnVoid : -# 1825| v1825_12(void) = AliasedUse : ~m1825_10 -# 1825| v1825_13(void) = ExitFunction : - -# 1827| constructor_only global_5 +# 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 : + +# 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 : + +# 1827| constructor_only global_4 # 1827| Block 0 # 1827| v1827_1(void) = EnterFunction : # 1827| m1827_2(unknown) = AliasedDefinition : -# 1827| r1827_3(glval) = VariableAddress[global_5] : +# 1827| r1827_3(glval) = VariableAddress[global_4] : # 1827| r1827_4(glval) = FunctionAddress[constructor_only] : -# 1827| r1827_5(int) = Constant[2] : +# 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 @@ -10641,49 +10625,65 @@ ir.cpp: # 1827| v1827_12(void) = AliasedUse : ~m1827_10 # 1827| v1827_13(void) = ExitFunction : -# 1829| char* global_string +# 1829| constructor_only global_5 # 1829| Block 0 -# 1829| v1829_1(void) = EnterFunction : -# 1829| m1829_2(unknown) = AliasedDefinition : -# 1829| r1829_3(glval) = VariableAddress[global_string] : -# 1829| r1829_4(glval) = StringConstant["global string"] : -# 1829| r1829_5(char *) = Convert : r1829_4 -# 1829| r1829_6(char *) = Convert : r1829_5 -# 1829| m1829_7(char *) = Store[global_string] : &:r1829_3, r1829_6 -# 1829| m1829_8(unknown) = Chi : total:m1829_2, partial:m1829_7 -# 1829| v1829_9(void) = ReturnVoid : -# 1829| v1829_10(void) = AliasedUse : ~m1829_8 -# 1829| v1829_11(void) = ExitFunction : - -# 1831| int global_6 +# 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 : + +# 1831| char* global_string # 1831| Block 0 -# 1831| v1831_1(void) = EnterFunction : -# 1831| m1831_2(unknown) = AliasedDefinition : -# 1831| r1831_3(glval) = VariableAddress[global_6] : -# 1831| r1831_4(glval) = VariableAddress[global_2] : -# 1831| r1831_5(int) = Load[global_2] : &:r1831_4, ~m1831_2 -# 1831| m1831_6(int) = Store[global_6] : &:r1831_3, r1831_5 -# 1831| m1831_7(unknown) = Chi : total:m1831_2, partial:m1831_6 -# 1831| v1831_8(void) = ReturnVoid : -# 1831| v1831_9(void) = AliasedUse : ~m1831_7 -# 1831| v1831_10(void) = ExitFunction : - -# 1834| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 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[#this] : -# 1834| m1834_6(glval) = InitializeParameter[#this] : &:r1834_5 -# 1834| r1834_7(glval) = Load[#this] : &:r1834_5, m1834_6 -# 1834| m1834_8(A) = InitializeIndirection[#this] : &:r1834_7 +# 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 : + +# 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 : + +# 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 #-----| 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, m1834_6 +#-----| r0_6(A *) = Load[#this] : &:r0_5, m1836_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 @@ -10691,1787 +10691,1941 @@ 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:m1834_8, partial:m0_13 +#-----| m0_14(unknown) = Chi : total:m1836_8, partial:m0_13 #-----| r0_15(glval) = VariableAddress[#return] : #-----| r0_16(glval) = VariableAddress[#this] : -#-----| r0_17(A *) = Load[#this] : &:r0_16, m1834_6 +#-----| r0_17(A *) = Load[#this] : &:r0_16, m1836_6 #-----| r0_18(glval) = CopyValue : r0_17 #-----| r0_19(A &) = CopyValue : r0_18 #-----| m0_20(A &) = Store[#return] : &:r0_15, r0_19 -# 1834| v1834_9(void) = ReturnIndirection[#this] : &:r1834_7, m0_14 +# 1836| v1836_9(void) = ReturnIndirection[#this] : &:r1836_7, m0_14 #-----| v0_21(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 1834| r1834_10(glval) = VariableAddress[#return] : -# 1834| v1834_11(void) = ReturnValue : &:r1834_10, m0_20 -# 1834| v1834_12(void) = AliasedUse : m1834_3 -# 1834| v1834_13(void) = ExitFunction : - -# 1839| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1839| Block 0 -# 1839| v1839_1(void) = EnterFunction : -# 1839| m1839_2(unknown) = AliasedDefinition : -# 1839| m1839_3(unknown) = InitializeNonLocal : -# 1839| m1839_4(unknown) = Chi : total:m1839_2, partial:m1839_3 -# 1839| r1839_5(glval) = VariableAddress[#this] : -# 1839| m1839_6(glval) = InitializeParameter[#this] : &:r1839_5 -# 1839| r1839_7(glval) = Load[#this] : &:r1839_5, m1839_6 -# 1839| m1839_8(B) = InitializeIndirection[#this] : &:r1839_7 +# 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 : + +# 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 #-----| 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 -# 1839| r1839_9(glval) = VariableAddress[#this] : -# 1839| r1839_10(B *) = Load[#this] : &:r1839_9, m1839_6 -#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1839_10 -# 1839| r1839_11(glval) = FunctionAddress[operator=] : -# 1839| r1839_12(glval) = VariableAddress[(unnamed parameter 0)] : -# 1839| r1839_13(B &&) = Load[(unnamed parameter 0)] : &:r1839_12, m0_2 -#-----| r0_6(glval) = CopyValue : r1839_13 -# 1839| r1839_14(B *) = CopyValue : r0_6 -#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1839_14 -# 1839| r1839_15(glval) = CopyValue : r0_7 -#-----| r0_8(A &) = CopyValue : r1839_15 -# 1839| r1839_16(A &) = Call[operator=] : func:r1839_11, this:r0_5, 0:r0_8 -# 1839| m1839_17(unknown) = ^CallSideEffect : ~m1839_4 -# 1839| m1839_18(unknown) = Chi : total:m1839_4, partial:m1839_17 -#-----| v0_9(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m1839_8 +# 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 #-----| v0_10(void) = ^BufferReadSideEffect[0] : &:r0_8, ~m0_4 #-----| m0_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r0_5 -#-----| m0_12(unknown) = Chi : total:m1839_8, partial:m0_11 +#-----| m0_12(unknown) = Chi : total:m1841_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 : r1839_16 +#-----| r0_15(glval) = CopyValue : r1841_16 #-----| r0_16(glval) = VariableAddress[#return] : #-----| r0_17(glval) = VariableAddress[#this] : -#-----| r0_18(B *) = Load[#this] : &:r0_17, m1839_6 +#-----| r0_18(B *) = Load[#this] : &:r0_17, m1841_6 #-----| r0_19(glval) = CopyValue : r0_18 #-----| r0_20(B &) = CopyValue : r0_19 #-----| m0_21(B &) = Store[#return] : &:r0_16, r0_20 -# 1839| v1839_19(void) = ReturnIndirection[#this] : &:r1839_7, m0_12 +# 1841| v1841_19(void) = ReturnIndirection[#this] : &:r1841_7, m0_12 #-----| v0_22(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_14 -# 1839| r1839_20(glval) = VariableAddress[#return] : -# 1839| v1839_21(void) = ReturnValue : &:r1839_20, m0_21 -# 1839| v1839_22(void) = AliasedUse : ~m1839_18 -# 1839| v1839_23(void) = ExitFunction : - -# 1843| void block_assignment::foo() -# 1843| Block 0 -# 1843| v1843_1(void) = EnterFunction : -# 1843| m1843_2(unknown) = AliasedDefinition : -# 1843| m1843_3(unknown) = InitializeNonLocal : -# 1843| m1843_4(unknown) = Chi : total:m1843_2, partial:m1843_3 -# 1844| r1844_1(glval) = VariableAddress[v] : -# 1844| m1844_2(B) = Uninitialized[v] : &:r1844_1 -# 1844| r1844_3(glval) = FunctionAddress[B] : -# 1844| r1844_4(A *) = Constant[0] : -# 1844| v1844_5(void) = Call[B] : func:r1844_3, this:r1844_1, 0:r1844_4 -# 1844| m1844_6(unknown) = ^CallSideEffect : ~m1843_4 -# 1844| m1844_7(unknown) = Chi : total:m1843_4, partial:m1844_6 -# 1844| v1844_8(void) = ^BufferReadSideEffect[0] : &:r1844_4, ~m1844_7 -# 1844| m1844_9(B) = ^IndirectMayWriteSideEffect[-1] : &:r1844_1 -# 1844| m1844_10(B) = Chi : total:m1844_2, partial:m1844_9 -# 1844| m1844_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1844_4 -# 1844| m1844_12(unknown) = Chi : total:m1844_7, partial:m1844_11 -# 1845| r1845_1(glval) = VariableAddress[v] : -# 1845| r1845_2(glval) = FunctionAddress[operator=] : -# 1845| r1845_3(glval) = VariableAddress[#temp1845:13] : -# 1845| m1845_4(B) = Uninitialized[#temp1845:13] : &:r1845_3 -# 1845| r1845_5(glval) = FunctionAddress[B] : -# 1845| r1845_6(A *) = Constant[0] : -# 1845| v1845_7(void) = Call[B] : func:r1845_5, this:r1845_3, 0:r1845_6 -# 1845| m1845_8(unknown) = ^CallSideEffect : ~m1844_12 -# 1845| m1845_9(unknown) = Chi : total:m1844_12, partial:m1845_8 -# 1845| v1845_10(void) = ^BufferReadSideEffect[0] : &:r1845_6, ~m1845_9 -# 1845| m1845_11(B) = ^IndirectMayWriteSideEffect[-1] : &:r1845_3 -# 1845| m1845_12(B) = Chi : total:m1845_4, partial:m1845_11 -# 1845| m1845_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1845_6 -# 1845| m1845_14(unknown) = Chi : total:m1845_9, partial:m1845_13 -# 1845| r1845_15(B &) = CopyValue : r1845_3 -# 1845| r1845_16(B &) = Call[operator=] : func:r1845_2, this:r1845_1, 0:r1845_15 -# 1845| m1845_17(unknown) = ^CallSideEffect : ~m1845_14 -# 1845| m1845_18(unknown) = Chi : total:m1845_14, partial:m1845_17 -# 1845| v1845_19(void) = ^IndirectReadSideEffect[-1] : &:r1845_1, m1844_10 -# 1845| v1845_20(void) = ^BufferReadSideEffect[0] : &:r1845_15, ~m1845_12 -# 1845| m1845_21(B) = ^IndirectMayWriteSideEffect[-1] : &:r1845_1 -# 1845| m1845_22(B) = Chi : total:m1844_10, partial:m1845_21 -# 1845| m1845_23(unknown) = ^BufferMayWriteSideEffect[0] : &:r1845_15 -# 1845| m1845_24(B) = Chi : total:m1845_12, partial:m1845_23 -# 1845| r1845_25(glval) = CopyValue : r1845_16 -# 1846| v1846_1(void) = NoOp : -# 1843| v1843_5(void) = ReturnVoid : -# 1843| v1843_6(void) = AliasedUse : ~m1845_18 -# 1843| v1843_7(void) = ExitFunction : - -# 1849| void magicvars() -# 1849| Block 0 -# 1849| v1849_1(void) = EnterFunction : -# 1849| m1849_2(unknown) = AliasedDefinition : -# 1849| m1849_3(unknown) = InitializeNonLocal : -# 1849| m1849_4(unknown) = Chi : total:m1849_2, partial:m1849_3 -# 1850| r1850_1(glval) = VariableAddress[pf] : -# 1850| r1850_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : -# 1850| r1850_3(char *) = Convert : r1850_2 -# 1850| m1850_4(char *) = Store[pf] : &:r1850_1, r1850_3 -# 1851| r1851_1(glval) = VariableAddress[strfunc] : -# 1851| r1851_2(glval) = VariableAddress[__func__] : -# 1851| r1851_3(char *) = Convert : r1851_2 -# 1851| m1851_4(char *) = Store[strfunc] : &:r1851_1, r1851_3 -# 1852| v1852_1(void) = NoOp : -# 1849| v1849_5(void) = ReturnVoid : -# 1849| v1849_6(void) = AliasedUse : m1849_3 -# 1849| v1849_7(void) = ExitFunction : - -# 1862| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1862| Block 0 -# 1862| v1862_1(void) = EnterFunction : -# 1862| m1862_2(unknown) = AliasedDefinition : -# 1862| m1862_3(unknown) = InitializeNonLocal : -# 1862| m1862_4(unknown) = Chi : total:m1862_2, partial:m1862_3 -# 1862| r1862_5(glval) = VariableAddress[#this] : -# 1862| m1862_6(glval>) = InitializeParameter[#this] : &:r1862_5 -# 1862| r1862_7(glval>) = Load[#this] : &:r1862_5, m1862_6 -# 1862| m1862_8(Bar1) = InitializeIndirection[#this] : &:r1862_7 -# 1862| r1862_9(glval) = VariableAddress[p] : -# 1862| m1862_10(S *) = InitializeParameter[p] : &:r1862_9 -# 1862| r1862_11(S *) = Load[p] : &:r1862_9, m1862_10 -# 1862| m1862_12(unknown) = InitializeIndirection[p] : &:r1862_11 -# 1864| r1864_1(glval) = VariableAddress[#return] : -# 1864| r1864_2(glval) = VariableAddress[p] : -# 1864| r1864_3(S *) = Load[p] : &:r1864_2, m1862_10 -# 1864| r1864_4(void *) = Convert : r1864_3 -# 1864| m1864_5(void *) = Store[#return] : &:r1864_1, r1864_4 -# 1862| v1862_13(void) = ReturnIndirection[#this] : &:r1862_7, m1862_8 -# 1862| v1862_14(void) = ReturnIndirection[p] : &:r1862_11, m1862_12 -# 1862| r1862_15(glval) = VariableAddress[#return] : -# 1862| v1862_16(void) = ReturnValue : &:r1862_15, m1864_5 -# 1862| v1862_17(void) = AliasedUse : m1862_3 -# 1862| v1862_18(void) = ExitFunction : - -# 1868| void missing_declaration_entries::test1() -# 1868| Block 0 -# 1868| v1868_1(void) = EnterFunction : -# 1868| m1868_2(unknown) = AliasedDefinition : -# 1868| m1868_3(unknown) = InitializeNonLocal : -# 1868| m1868_4(unknown) = Chi : total:m1868_2, partial:m1868_3 -# 1869| r1869_1(glval>) = VariableAddress[b] : -# 1869| m1869_2(Bar1) = Uninitialized[b] : &:r1869_1 -# 1870| r1870_1(glval>) = VariableAddress[b] : -# 1870| r1870_2(glval) = FunctionAddress[missing_type_decl_entry] : -# 1870| r1870_3(S *) = Constant[0] : -# 1870| r1870_4(void *) = Call[missing_type_decl_entry] : func:r1870_2, this:r1870_1, 0:r1870_3 -# 1870| m1870_5(unknown) = ^CallSideEffect : ~m1868_4 -# 1870| m1870_6(unknown) = Chi : total:m1868_4, partial:m1870_5 -# 1870| v1870_7(void) = ^IndirectReadSideEffect[-1] : &:r1870_1, m1869_2 -# 1870| v1870_8(void) = ^BufferReadSideEffect[0] : &:r1870_3, ~m1870_6 -# 1870| m1870_9(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1870_1 -# 1870| m1870_10(Bar1) = Chi : total:m1869_2, partial:m1870_9 -# 1870| m1870_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1870_3 -# 1870| m1870_12(unknown) = Chi : total:m1870_6, partial:m1870_11 -# 1871| v1871_1(void) = NoOp : -# 1868| v1868_5(void) = ReturnVoid : -# 1868| v1868_6(void) = AliasedUse : ~m1870_12 -# 1868| v1868_7(void) = ExitFunction : - -# 1875| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1875| Block 0 -# 1875| v1875_1(void) = EnterFunction : -# 1875| m1875_2(unknown) = AliasedDefinition : -# 1875| m1875_3(unknown) = InitializeNonLocal : -# 1875| m1875_4(unknown) = Chi : total:m1875_2, partial:m1875_3 -# 1875| r1875_5(glval) = VariableAddress[#this] : -# 1875| m1875_6(glval>) = InitializeParameter[#this] : &:r1875_5 -# 1875| r1875_7(glval>) = Load[#this] : &:r1875_5, m1875_6 -# 1875| m1875_8(Bar2) = InitializeIndirection[#this] : &:r1875_7 -# 1876| r1876_1(glval) = VariableAddress[x] : -# 1876| m1876_2(int[10]) = Uninitialized[x] : &:r1876_1 -# 1876| r1876_3(glval) = VariableAddress[y] : -# 1876| m1876_4(int[10]) = Uninitialized[y] : &:r1876_3 -# 1877| r1877_1(int) = Constant[10] : -# 1877| r1877_2(glval) = VariableAddress[x] : -# 1877| r1877_3(int *) = Convert : r1877_2 -# 1877| r1877_4(glval) = CopyValue : r1877_3 -# 1877| m1877_5(int) = Store[?] : &:r1877_4, r1877_1 -# 1877| m1877_6(int[10]) = Chi : total:m1876_2, partial:m1877_5 -# 1878| r1878_1(int) = Constant[10] : -# 1878| r1878_2(glval) = VariableAddress[y] : -# 1878| r1878_3(int *) = Convert : r1878_2 -# 1878| r1878_4(glval) = CopyValue : r1878_3 -# 1878| m1878_5(int) = Store[?] : &:r1878_4, r1878_1 -# 1878| m1878_6(int[10]) = Chi : total:m1876_4, partial:m1878_5 -# 1879| r1879_1(glval) = VariableAddress[#return] : +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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(int) = Load[?] : &:r1879_3, m1877_5 -# 1879| r1879_5(glval) = VariableAddress[y] : -# 1879| r1879_6(int *) = Convert : r1879_5 -# 1879| r1879_7(int) = Load[?] : &:r1879_6, m1878_5 -# 1879| r1879_8(int) = Add : r1879_4, r1879_7 -# 1879| m1879_9(int) = Store[#return] : &:r1879_1, r1879_8 -# 1875| v1875_9(void) = ReturnIndirection[#this] : &:r1875_7, m1875_8 -# 1875| r1875_10(glval) = VariableAddress[#return] : -# 1875| v1875_11(void) = ReturnValue : &:r1875_10, m1879_9 -# 1875| v1875_12(void) = AliasedUse : m1875_3 -# 1875| v1875_13(void) = ExitFunction : - -# 1883| void missing_declaration_entries::test2() -# 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 -# 1884| r1884_1(glval>) = VariableAddress[b] : -# 1884| m1884_2(Bar2) = Uninitialized[b] : &:r1884_1 -# 1885| r1885_1(glval>) = VariableAddress[b] : -# 1885| r1885_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : -# 1885| r1885_3(int) = Call[two_missing_variable_declaration_entries] : func:r1885_2, this:r1885_1 -# 1885| m1885_4(unknown) = ^CallSideEffect : ~m1883_4 -# 1885| m1885_5(unknown) = Chi : total:m1883_4, partial:m1885_4 -# 1885| v1885_6(void) = ^IndirectReadSideEffect[-1] : &:r1885_1, m1884_2 -# 1885| m1885_7(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1885_1 -# 1885| m1885_8(Bar2) = Chi : total:m1884_2, partial:m1885_7 -# 1886| v1886_1(void) = NoOp : -# 1883| v1883_5(void) = ReturnVoid : -# 1883| v1883_6(void) = AliasedUse : ~m1885_5 -# 1883| v1883_7(void) = ExitFunction : - -# 1889| char global_template -# 1889| Block 0 -# 1889| v1889_1(void) = EnterFunction : -# 1889| m1889_2(unknown) = AliasedDefinition : -# 1889| r1889_3(glval) = VariableAddress[global_template] : -# 1889| r1889_4(char) = Constant[42] : -# 1889| m1889_5(char) = Store[global_template] : &:r1889_3, r1889_4 -# 1889| m1889_6(unknown) = Chi : total:m1889_2, partial:m1889_5 -# 1889| v1889_7(void) = ReturnVoid : -# 1889| v1889_8(void) = AliasedUse : ~m1889_6 -# 1889| v1889_9(void) = ExitFunction : - -# 1889| int global_template -# 1889| Block 0 -# 1889| v1889_1(void) = EnterFunction : -# 1889| m1889_2(unknown) = AliasedDefinition : -# 1889| r1889_3(glval) = VariableAddress[global_template] : -# 1889| r1889_4(int) = Constant[42] : -# 1889| m1889_5(int) = Store[global_template] : &:r1889_3, r1889_4 -# 1889| m1889_6(unknown) = Chi : total:m1889_2, partial:m1889_5 -# 1889| v1889_7(void) = ReturnVoid : -# 1889| v1889_8(void) = AliasedUse : ~m1889_6 -# 1889| v1889_9(void) = ExitFunction : - -# 1891| int test_global_template_int() +# 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 : + +# 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 : + +# 1891| char global_template # 1891| Block 0 # 1891| v1891_1(void) = EnterFunction : # 1891| m1891_2(unknown) = AliasedDefinition : -# 1891| m1891_3(unknown) = InitializeNonLocal : -# 1891| m1891_4(unknown) = Chi : total:m1891_2, partial:m1891_3 -# 1892| r1892_1(glval) = VariableAddress[local_int] : -# 1892| r1892_2(glval) = VariableAddress[global_template] : -# 1892| r1892_3(int) = Load[global_template] : &:r1892_2, ~m1891_3 -# 1892| m1892_4(int) = Store[local_int] : &:r1892_1, r1892_3 -# 1893| r1893_1(glval) = VariableAddress[local_char] : -# 1893| r1893_2(glval) = VariableAddress[global_template] : -# 1893| r1893_3(char) = Load[global_template] : &:r1893_2, ~m1891_3 -# 1893| m1893_4(char) = Store[local_char] : &:r1893_1, r1893_3 -# 1894| r1894_1(glval) = VariableAddress[#return] : -# 1894| r1894_2(glval) = VariableAddress[local_int] : -# 1894| r1894_3(int) = Load[local_int] : &:r1894_2, m1892_4 -# 1894| r1894_4(glval) = VariableAddress[local_char] : -# 1894| r1894_5(char) = Load[local_char] : &:r1894_4, m1893_4 -# 1894| r1894_6(int) = Convert : r1894_5 -# 1894| r1894_7(int) = Add : r1894_3, r1894_6 -# 1894| m1894_8(int) = Store[#return] : &:r1894_1, r1894_7 -# 1891| r1891_5(glval) = VariableAddress[#return] : -# 1891| v1891_6(void) = ReturnValue : &:r1891_5, m1894_8 -# 1891| v1891_7(void) = AliasedUse : m1891_3 -# 1891| v1891_8(void) = ExitFunction : - -# 1899| int noreturnTest(int) -# 1899| Block 0 -# 1899| v1899_1(void) = EnterFunction : -# 1899| m1899_2(unknown) = AliasedDefinition : -# 1899| m1899_3(unknown) = InitializeNonLocal : -# 1899| m1899_4(unknown) = Chi : total:m1899_2, partial:m1899_3 -# 1899| r1899_5(glval) = VariableAddress[x] : -# 1899| m1899_6(int) = InitializeParameter[x] : &:r1899_5 -# 1900| r1900_1(glval) = VariableAddress[x] : -# 1900| r1900_2(int) = Load[x] : &:r1900_1, m1899_6 -# 1900| r1900_3(int) = Constant[10] : -# 1900| r1900_4(bool) = CompareLT : r1900_2, r1900_3 -# 1900| v1900_5(void) = ConditionalBranch : r1900_4 +# 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 : + +# 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 : + +# 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 : + +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 1901| Block 1 -# 1901| r1901_1(glval) = VariableAddress[#return] : -# 1901| r1901_2(glval) = VariableAddress[x] : -# 1901| r1901_3(int) = Load[x] : &:r1901_2, m1899_6 -# 1901| m1901_4(int) = Store[#return] : &:r1901_1, r1901_3 -# 1899| r1899_7(glval) = VariableAddress[#return] : -# 1899| v1899_8(void) = ReturnValue : &:r1899_7, m1901_4 -# 1899| v1899_9(void) = AliasedUse : m1899_3 -# 1899| v1899_10(void) = ExitFunction : - -# 1903| Block 2 -# 1903| r1903_1(glval) = FunctionAddress[noreturnFunc] : -# 1903| v1903_2(void) = Call[noreturnFunc] : func:r1903_1 -# 1903| m1903_3(unknown) = ^CallSideEffect : ~m1899_4 -# 1903| m1903_4(unknown) = Chi : total:m1899_4, partial:m1903_3 -# 1899| v1899_11(void) = Unreached : - -# 1907| int noreturnTest2(int) -# 1907| Block 0 -# 1907| v1907_1(void) = EnterFunction : -# 1907| m1907_2(unknown) = AliasedDefinition : -# 1907| m1907_3(unknown) = InitializeNonLocal : -# 1907| m1907_4(unknown) = Chi : total:m1907_2, partial:m1907_3 -# 1907| r1907_5(glval) = VariableAddress[x] : -# 1907| m1907_6(int) = InitializeParameter[x] : &:r1907_5 -# 1908| r1908_1(glval) = VariableAddress[x] : -# 1908| r1908_2(int) = Load[x] : &:r1908_1, m1907_6 -# 1908| r1908_3(int) = Constant[10] : -# 1908| r1908_4(bool) = CompareLT : r1908_2, r1908_3 -# 1908| v1908_5(void) = ConditionalBranch : r1908_4 +# 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 : + +# 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 : + +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 1909| Block 1 -# 1909| r1909_1(glval) = FunctionAddress[noreturnFunc] : -# 1909| v1909_2(void) = Call[noreturnFunc] : func:r1909_1 -# 1909| m1909_3(unknown) = ^CallSideEffect : ~m1907_4 -# 1909| m1909_4(unknown) = Chi : total:m1907_4, partial:m1909_3 -# 1907| v1907_7(void) = Unreached : - -# 1911| Block 2 -# 1911| r1911_1(glval) = VariableAddress[#return] : -# 1911| r1911_2(glval) = VariableAddress[x] : -# 1911| r1911_3(int) = Load[x] : &:r1911_2, m1907_6 -# 1911| m1911_4(int) = Store[#return] : &:r1911_1, r1911_3 -# 1907| r1907_8(glval) = VariableAddress[#return] : -# 1907| v1907_9(void) = ReturnValue : &:r1907_8, m1911_4 -# 1907| v1907_10(void) = AliasedUse : m1907_3 -# 1907| v1907_11(void) = ExitFunction : - -# 1914| int static_function(int) -# 1914| Block 0 -# 1914| v1914_1(void) = EnterFunction : -# 1914| m1914_2(unknown) = AliasedDefinition : -# 1914| m1914_3(unknown) = InitializeNonLocal : -# 1914| m1914_4(unknown) = Chi : total:m1914_2, partial:m1914_3 -# 1914| r1914_5(glval) = VariableAddress[x] : -# 1914| m1914_6(int) = InitializeParameter[x] : &:r1914_5 -# 1915| r1915_1(glval) = VariableAddress[#return] : -# 1915| r1915_2(glval) = VariableAddress[x] : -# 1915| r1915_3(int) = Load[x] : &:r1915_2, m1914_6 -# 1915| m1915_4(int) = Store[#return] : &:r1915_1, r1915_3 -# 1914| r1914_7(glval) = VariableAddress[#return] : -# 1914| v1914_8(void) = ReturnValue : &:r1914_7, m1915_4 -# 1914| v1914_9(void) = AliasedUse : m1914_3 -# 1914| v1914_10(void) = ExitFunction : - -# 1918| void test_static_functions_with_assignments() -# 1918| Block 0 -# 1918| v1918_1(void) = EnterFunction : -# 1918| m1918_2(unknown) = AliasedDefinition : -# 1918| m1918_3(unknown) = InitializeNonLocal : -# 1918| m1918_4(unknown) = Chi : total:m1918_2, partial:m1918_3 -# 1919| r1919_1(glval) = VariableAddress[c] : -# 1919| m1919_2(C) = Uninitialized[c] : &:r1919_1 -# 1919| r1919_3(glval) = FunctionAddress[C] : -# 1919| v1919_4(void) = Call[C] : func:r1919_3, this:r1919_1 -# 1919| m1919_5(unknown) = ^CallSideEffect : ~m1918_4 -# 1919| m1919_6(unknown) = Chi : total:m1918_4, partial:m1919_5 -# 1919| m1919_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1 -# 1919| m1919_8(C) = Chi : total:m1919_2, partial:m1919_7 -# 1920| r1920_1(glval) = VariableAddress[x] : -# 1920| m1920_2(int) = Uninitialized[x] : &:r1920_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 : + +# 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 : + +# 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 : + +# 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| r1921_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1921| r1921_3(int) = Constant[10] : -# 1921| r1921_4(int) = Call[StaticMemberFunction] : func:r1921_2, 0:r1921_3 -# 1921| m1921_5(unknown) = ^CallSideEffect : ~m1919_6 -# 1921| m1921_6(unknown) = Chi : total:m1919_6, partial:m1921_5 -# 1921| r1921_7(glval) = VariableAddress[x] : -# 1921| m1921_8(int) = Store[x] : &:r1921_7, r1921_4 -# 1922| r1922_1(glval) = VariableAddress[y] : -# 1922| m1922_2(int) = Uninitialized[y] : &:r1922_1 -# 1923| r1923_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1923| r1923_2(int) = Constant[10] : -# 1923| r1923_3(int) = Call[StaticMemberFunction] : func:r1923_1, 0:r1923_2 -# 1923| m1923_4(unknown) = ^CallSideEffect : ~m1921_6 -# 1923| m1923_5(unknown) = Chi : total:m1921_6, partial:m1923_4 -# 1923| r1923_6(glval) = VariableAddress[y] : -# 1923| m1923_7(int) = Store[y] : &:r1923_6, r1923_3 -# 1924| r1924_1(glval) = VariableAddress[z] : -# 1924| m1924_2(int) = Uninitialized[z] : &:r1924_1 -# 1925| r1925_1(glval) = FunctionAddress[static_function] : +# 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[static_function] : func:r1925_1, 0:r1925_2 -# 1925| m1925_4(unknown) = ^CallSideEffect : ~m1923_5 -# 1925| m1925_5(unknown) = Chi : total:m1923_5, partial:m1925_4 -# 1925| r1925_6(glval) = VariableAddress[z] : -# 1925| m1925_7(int) = Store[z] : &:r1925_6, r1925_3 -# 1926| v1926_1(void) = NoOp : -# 1918| v1918_5(void) = ReturnVoid : -# 1918| v1918_6(void) = AliasedUse : ~m1925_5 -# 1918| v1918_7(void) = ExitFunction : - -# 1928| void test_double_assign() -# 1928| Block 0 -# 1928| v1928_1(void) = EnterFunction : -# 1928| m1928_2(unknown) = AliasedDefinition : -# 1928| m1928_3(unknown) = InitializeNonLocal : -# 1928| m1928_4(unknown) = Chi : total:m1928_2, partial:m1928_3 -# 1929| r1929_1(glval) = VariableAddress[i] : -# 1929| m1929_2(int) = Uninitialized[i] : &:r1929_1 -# 1929| r1929_3(glval) = VariableAddress[j] : -# 1929| m1929_4(int) = Uninitialized[j] : &:r1929_3 -# 1930| r1930_1(int) = Constant[40] : -# 1930| r1930_2(glval) = VariableAddress[j] : -# 1930| m1930_3(int) = Store[j] : &:r1930_2, r1930_1 -# 1930| r1930_4(int) = Load[j] : &:r1930_2, m1930_3 -# 1930| r1930_5(glval) = VariableAddress[i] : -# 1930| m1930_6(int) = Store[i] : &:r1930_5, r1930_4 -# 1931| v1931_1(void) = NoOp : -# 1928| v1928_5(void) = ReturnVoid : -# 1928| v1928_6(void) = AliasedUse : m1928_3 -# 1928| v1928_7(void) = ExitFunction : - -# 1933| void test_assign_with_assign_operation() -# 1933| Block 0 -# 1933| v1933_1(void) = EnterFunction : -# 1933| m1933_2(unknown) = AliasedDefinition : -# 1933| m1933_3(unknown) = InitializeNonLocal : -# 1933| m1933_4(unknown) = Chi : total:m1933_2, partial:m1933_3 -# 1934| r1934_1(glval) = VariableAddress[i] : -# 1934| m1934_2(int) = Uninitialized[i] : &:r1934_1 -# 1934| r1934_3(glval) = VariableAddress[j] : -# 1934| r1934_4(int) = Constant[0] : -# 1934| m1934_5(int) = Store[j] : &:r1934_3, r1934_4 -# 1935| r1935_1(int) = Constant[40] : -# 1935| r1935_2(glval) = VariableAddress[j] : -# 1935| r1935_3(int) = Load[j] : &:r1935_2, m1934_5 -# 1935| r1935_4(int) = Add : r1935_3, r1935_1 -# 1935| m1935_5(int) = Store[j] : &:r1935_2, r1935_4 -# 1935| r1935_6(int) = Load[j] : &:r1935_2, m1935_5 -# 1935| r1935_7(glval) = VariableAddress[i] : -# 1935| m1935_8(int) = Store[i] : &:r1935_7, r1935_6 -# 1936| v1936_1(void) = NoOp : -# 1933| v1933_5(void) = ReturnVoid : -# 1933| v1933_6(void) = AliasedUse : m1933_3 -# 1933| v1933_7(void) = ExitFunction : - -# 1942| D& D::ReferenceStaticMemberFunction() -# 1942| Block 0 -# 1942| v1942_1(void) = EnterFunction : -# 1942| m1942_2(unknown) = AliasedDefinition : -# 1942| m1942_3(unknown) = InitializeNonLocal : -# 1942| m1942_4(unknown) = Chi : total:m1942_2, partial:m1942_3 -# 1943| r1943_1(glval) = VariableAddress[#return] : -# 1943| r1943_2(glval) = VariableAddress[x] : -# 1943| r1943_3(D &) = CopyValue : r1943_2 -# 1943| m1943_4(D &) = Store[#return] : &:r1943_1, r1943_3 -# 1942| r1942_5(glval) = VariableAddress[#return] : -# 1942| v1942_6(void) = ReturnValue : &:r1942_5, m1943_4 -# 1942| v1942_7(void) = AliasedUse : m1942_3 -# 1942| v1942_8(void) = ExitFunction : - -# 1945| D D::ObjectStaticMemberFunction() -# 1945| Block 0 -# 1945| v1945_1(void) = EnterFunction : -# 1945| m1945_2(unknown) = AliasedDefinition : -# 1945| m1945_3(unknown) = InitializeNonLocal : -# 1945| m1945_4(unknown) = Chi : total:m1945_2, partial:m1945_3 -# 1946| r1946_1(glval) = VariableAddress[#return] : -# 1946| r1946_2(glval) = VariableAddress[x] : -# 1946| r1946_3(D) = Load[x] : &:r1946_2, ~m1945_3 -# 1946| m1946_4(D) = Store[#return] : &:r1946_1, r1946_3 -# 1945| r1945_5(glval) = VariableAddress[#return] : -# 1945| v1945_6(void) = ReturnValue : &:r1945_5, m1946_4 -# 1945| v1945_7(void) = AliasedUse : m1945_3 -# 1945| v1945_8(void) = ExitFunction : - -# 1950| void test_static_member_functions_with_reference_return() -# 1950| Block 0 -# 1950| v1950_1(void) = EnterFunction : -# 1950| m1950_2(unknown) = AliasedDefinition : -# 1950| m1950_3(unknown) = InitializeNonLocal : -# 1950| m1950_4(unknown) = Chi : total:m1950_2, partial:m1950_3 -# 1951| r1951_1(glval) = VariableAddress[d] : -# 1951| m1951_2(D) = Uninitialized[d] : &:r1951_1 +# 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 : +# 1920| v1920_5(void) = ReturnVoid : +# 1920| v1920_6(void) = AliasedUse : ~m1927_5 +# 1920| v1920_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 : + +# 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 : + +# 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 : + +# 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 : + +# 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| r1953_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1953| r1953_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1953_2 -# 1953| m1953_4(unknown) = ^CallSideEffect : ~m1950_4 -# 1953| m1953_5(unknown) = Chi : total:m1950_4, partial:m1953_4 -# 1953| r1953_6(glval) = CopyValue : r1953_3 -# 1954| r1954_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1954| r1954_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1954_1 -# 1954| m1954_3(unknown) = ^CallSideEffect : ~m1953_5 -# 1954| m1954_4(unknown) = Chi : total:m1953_5, partial:m1954_3 -# 1954| r1954_5(glval) = CopyValue : r1954_2 +# 1953| m1953_2(D) = Uninitialized[d] : &:r1953_1 # 1955| r1955_1(glval) = VariableAddress[d] : -# 1955| r1955_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1955| r1955_3(D) = Call[ObjectStaticMemberFunction] : func:r1955_2 -# 1955| m1955_4(unknown) = ^CallSideEffect : ~m1954_4 -# 1955| m1955_5(unknown) = Chi : total:m1954_4, partial:m1955_4 -# 1956| r1956_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1956| r1956_2(D) = Call[ObjectStaticMemberFunction] : func:r1956_1 +# 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 -# 1958| r1958_1(glval) = VariableAddress[x] : -# 1958| m1958_2(D) = Uninitialized[x] : &:r1958_1 -# 1959| r1959_1(glval) = VariableAddress[d] : -# 1959| r1959_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1959| r1959_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1959_2 -# 1959| m1959_4(unknown) = ^CallSideEffect : ~m1956_4 -# 1959| m1959_5(unknown) = Chi : total:m1956_4, partial:m1959_4 -# 1959| r1959_6(D) = Load[?] : &:r1959_3, ~m1959_5 -# 1959| r1959_7(glval) = VariableAddress[x] : -# 1959| m1959_8(D) = Store[x] : &:r1959_7, r1959_6 -# 1960| r1960_1(glval) = VariableAddress[y] : -# 1960| m1960_2(D) = Uninitialized[y] : &:r1960_1 -# 1961| r1961_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1961| r1961_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1961_1 -# 1961| m1961_3(unknown) = ^CallSideEffect : ~m1959_5 -# 1961| m1961_4(unknown) = Chi : total:m1959_5, partial:m1961_3 -# 1961| r1961_5(D) = Load[?] : &:r1961_2, ~m1961_4 -# 1961| r1961_6(glval) = VariableAddress[y] : -# 1961| m1961_7(D) = Store[y] : &:r1961_6, r1961_5 -# 1962| r1962_1(glval) = VariableAddress[j] : -# 1962| m1962_2(D) = Uninitialized[j] : &:r1962_1 -# 1963| r1963_1(glval) = VariableAddress[d] : -# 1963| r1963_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1963| r1963_3(D) = Call[ObjectStaticMemberFunction] : func:r1963_2 -# 1963| m1963_4(unknown) = ^CallSideEffect : ~m1961_4 -# 1963| m1963_5(unknown) = Chi : total:m1961_4, partial:m1963_4 -# 1963| r1963_6(glval) = VariableAddress[j] : -# 1963| m1963_7(D) = Store[j] : &:r1963_6, r1963_3 -# 1964| r1964_1(glval) = VariableAddress[k] : -# 1964| m1964_2(D) = Uninitialized[k] : &:r1964_1 -# 1965| r1965_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1965| r1965_2(D) = Call[ObjectStaticMemberFunction] : func:r1965_1 -# 1965| m1965_3(unknown) = ^CallSideEffect : ~m1963_5 -# 1965| m1965_4(unknown) = Chi : total:m1963_5, partial:m1965_3 -# 1965| r1965_5(glval) = VariableAddress[k] : -# 1965| m1965_6(D) = Store[k] : &:r1965_5, r1965_2 -# 1966| v1966_1(void) = NoOp : -# 1950| v1950_5(void) = ReturnVoid : -# 1950| v1950_6(void) = AliasedUse : ~m1965_4 -# 1950| v1950_7(void) = ExitFunction : - -# 1968| void test_volatile() -# 1968| Block 0 -# 1968| v1968_1(void) = EnterFunction : -# 1968| m1968_2(unknown) = AliasedDefinition : -# 1968| m1968_3(unknown) = InitializeNonLocal : -# 1968| m1968_4(unknown) = Chi : total:m1968_2, partial:m1968_3 -# 1969| r1969_1(glval) = VariableAddress[x] : -# 1969| m1969_2(int) = Uninitialized[x] : &:r1969_1 -# 1970| r1970_1(glval) = VariableAddress[x] : -# 1970| r1970_2(int) = Load[x] : &:r1970_1, m1969_2 -# 1971| v1971_1(void) = NoOp : -# 1968| v1968_5(void) = ReturnVoid : -# 1968| v1968_6(void) = AliasedUse : m1968_3 -# 1968| v1968_7(void) = ExitFunction : - -# 1979| void value_category_test() -# 1979| Block 0 -# 1979| v1979_1(void) = EnterFunction : -# 1979| m1979_2(unknown) = AliasedDefinition : -# 1979| m1979_3(unknown) = InitializeNonLocal : -# 1979| m1979_4(unknown) = Chi : total:m1979_2, partial:m1979_3 -# 1980| r1980_1(glval) = VariableAddress[c] : -# 1980| m1980_2(ValCat) = Uninitialized[c] : &:r1980_1 +# 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 : + +# 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 : + +# 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 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| m0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, m0_2 -# 1982| r1982_1(glval) = VariableAddress[c] : -# 1982| r1982_2(glval) = FunctionAddress[lvalue] : -# 1982| r1982_3(ValCat &) = Call[lvalue] : func:r1982_2 -# 1982| m1982_4(unknown) = ^CallSideEffect : ~m1979_4 -# 1982| m1982_5(unknown) = Chi : total:m1979_4, partial:m1982_4 -# 1982| r1982_6(glval) = CopyValue : r1982_3 -# 1982| m1982_7(ValCat) = Store[?] : &:r1982_6, r0_3 -# 1982| m1982_8(unknown) = Chi : total:m1982_5, partial:m1982_7 +# 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 #-----| r0_4(glval) = VariableAddress[#temp0:0] : #-----| m0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4 #-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, m0_5 -# 1983| r1983_1(glval) = VariableAddress[c] : -# 1983| r1983_2(glval) = FunctionAddress[xvalue] : -# 1983| r1983_3(ValCat &&) = Call[xvalue] : func:r1983_2 -# 1983| m1983_4(unknown) = ^CallSideEffect : ~m1982_8 -# 1983| m1983_5(unknown) = Chi : total:m1982_8, partial:m1983_4 -# 1983| r1983_6(glval) = CopyValue : r1983_3 -# 1983| m1983_7(ValCat) = Store[?] : &:r1983_6, r0_6 -# 1983| m1983_8(unknown) = Chi : total:m1983_5, partial:m1983_7 +# 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 #-----| r0_7(glval) = VariableAddress[#temp0:0] : #-----| m0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7 #-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, m0_8 -# 1984| r1984_1(glval) = VariableAddress[#temp1984:5] : -# 1984| r1984_2(glval) = VariableAddress[c] : -# 1984| r1984_3(glval) = FunctionAddress[prvalue] : -# 1984| r1984_4(ValCat) = Call[prvalue] : func:r1984_3 -# 1984| m1984_5(unknown) = ^CallSideEffect : ~m1983_8 -# 1984| m1984_6(unknown) = Chi : total:m1983_8, partial:m1984_5 -# 1984| m1984_7(ValCat) = Store[#temp1984:5] : &:r1984_1, r1984_4 -# 1984| m1984_8(ValCat) = Store[#temp1984:5] : &:r1984_1, r0_9 +# 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 #-----| r0_10(glval) = VariableAddress[#temp0:0] : #-----| m0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10 #-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, m0_11 -# 1985| r1985_1(glval) = FunctionAddress[lvalue] : -# 1985| r1985_2(ValCat &) = Call[lvalue] : func:r1985_1 -# 1985| m1985_3(unknown) = ^CallSideEffect : ~m1984_6 -# 1985| m1985_4(unknown) = Chi : total:m1984_6, partial:m1985_3 -# 1985| r1985_5(glval) = CopyValue : r1985_2 -# 1985| m1985_6(ValCat) = Store[?] : &:r1985_5, r0_12 -# 1985| m1985_7(unknown) = Chi : total:m1985_4, partial:m1985_6 +# 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 #-----| r0_13(glval) = VariableAddress[#temp0:0] : #-----| m0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13 #-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, m0_14 -# 1986| r1986_1(glval) = FunctionAddress[xvalue] : -# 1986| r1986_2(ValCat &&) = Call[xvalue] : func:r1986_1 -# 1986| m1986_3(unknown) = ^CallSideEffect : ~m1985_7 -# 1986| m1986_4(unknown) = Chi : total:m1985_7, partial:m1986_3 -# 1986| r1986_5(glval) = CopyValue : r1986_2 -# 1986| m1986_6(ValCat) = Store[?] : &:r1986_5, r0_15 -# 1986| m1986_7(unknown) = Chi : total:m1986_4, partial:m1986_6 +# 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 #-----| r0_16(glval) = VariableAddress[#temp0:0] : #-----| m0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16 #-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, m0_17 -# 1987| r1987_1(glval) = VariableAddress[#temp1987:5] : -# 1987| r1987_2(glval) = FunctionAddress[prvalue] : -# 1987| r1987_3(ValCat) = Call[prvalue] : func:r1987_2 -# 1987| m1987_4(unknown) = ^CallSideEffect : ~m1986_7 -# 1987| m1987_5(unknown) = Chi : total:m1986_7, partial:m1987_4 -# 1987| m1987_6(ValCat) = Store[#temp1987:5] : &:r1987_1, r1987_3 -# 1987| m1987_7(ValCat) = Store[#temp1987:5] : &:r1987_1, r0_18 -# 1988| v1988_1(void) = NoOp : -# 1979| v1979_5(void) = ReturnVoid : -# 1979| v1979_6(void) = AliasedUse : ~m1987_5 -# 1979| v1979_7(void) = ExitFunction : - -# 1990| void SetStaticFuncPtr() -# 1990| Block 0 -# 1990| v1990_1(void) = EnterFunction : -# 1990| m1990_2(unknown) = AliasedDefinition : -# 1990| m1990_3(unknown) = InitializeNonLocal : -# 1990| m1990_4(unknown) = Chi : total:m1990_2, partial:m1990_3 -# 1991| r1991_1(glval) = VariableAddress[c] : -# 1991| m1991_2(C) = Uninitialized[c] : &:r1991_1 -# 1991| r1991_3(glval) = FunctionAddress[C] : -# 1991| v1991_4(void) = Call[C] : func:r1991_3, this:r1991_1 -# 1991| m1991_5(unknown) = ^CallSideEffect : ~m1990_4 -# 1991| m1991_6(unknown) = Chi : total:m1990_4, partial:m1991_5 -# 1991| m1991_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1991_1 -# 1991| m1991_8(C) = Chi : total:m1991_2, partial:m1991_7 -# 1992| r1992_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1992| r1992_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1992| m1992_3(..(*)(..)) = Store[pfn] : &:r1992_1, r1992_2 +# 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 : + +# 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| r1993_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1993| r1993_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1993| m1993_4(..(*)(..)) = Store[pfn] : &:r1993_3, r1993_2 -# 1994| v1994_1(void) = NoOp : -# 1990| v1990_5(void) = ReturnVoid : -# 1990| v1990_6(void) = AliasedUse : ~m1991_6 -# 1990| v1990_7(void) = ExitFunction : - -# 1996| void TernaryTestInt(bool, int, int, int) -# 1996| Block 0 -# 1996| v1996_1(void) = EnterFunction : -# 1996| m1996_2(unknown) = AliasedDefinition : -# 1996| m1996_3(unknown) = InitializeNonLocal : -# 1996| m1996_4(unknown) = Chi : total:m1996_2, partial:m1996_3 -# 1996| r1996_5(glval) = VariableAddress[a] : -# 1996| m1996_6(bool) = InitializeParameter[a] : &:r1996_5 -# 1996| r1996_7(glval) = VariableAddress[x] : -# 1996| m1996_8(int) = InitializeParameter[x] : &:r1996_7 -# 1996| r1996_9(glval) = VariableAddress[y] : -# 1996| m1996_10(int) = InitializeParameter[y] : &:r1996_9 -# 1996| r1996_11(glval) = VariableAddress[z] : -# 1996| m1996_12(int) = InitializeParameter[z] : &:r1996_11 -# 1997| r1997_1(glval) = VariableAddress[a] : -# 1997| r1997_2(bool) = Load[a] : &:r1997_1, m1996_6 -# 1997| v1997_3(void) = ConditionalBranch : r1997_2 +# 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 : +# 1992| v1992_5(void) = ReturnVoid : +# 1992| v1992_6(void) = AliasedUse : ~m1993_6 +# 1992| v1992_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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1997| Block 1 -# 1997| m1997_4(int) = Phi : from 2:m1997_12, from 3:m1997_16 -# 1997| r1997_5(glval) = VariableAddress[#temp1997:9] : -# 1997| r1997_6(int) = Load[#temp1997:9] : &:r1997_5, m1997_4 -# 1997| r1997_7(glval) = VariableAddress[z] : -# 1997| m1997_8(int) = Store[z] : &:r1997_7, r1997_6 -# 1998| r1998_1(glval) = VariableAddress[a] : -# 1998| r1998_2(bool) = Load[a] : &:r1998_1, m1996_6 -# 1998| v1998_3(void) = ConditionalBranch : r1998_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 #-----| False -> Block 6 #-----| True -> Block 5 -# 1997| Block 2 -# 1997| r1997_9(glval) = VariableAddress[x] : -# 1997| r1997_10(int) = Load[x] : &:r1997_9, m1996_8 -# 1997| r1997_11(glval) = VariableAddress[#temp1997:9] : -# 1997| m1997_12(int) = Store[#temp1997:9] : &:r1997_11, r1997_10 +# 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 #-----| Goto -> Block 1 -# 1997| Block 3 -# 1997| r1997_13(glval) = VariableAddress[y] : -# 1997| r1997_14(int) = Load[y] : &:r1997_13, m1996_10 -# 1997| r1997_15(glval) = VariableAddress[#temp1997:9] : -# 1997| m1997_16(int) = Store[#temp1997:9] : &:r1997_15, r1997_14 +# 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 #-----| Goto -> Block 1 -# 1998| Block 4 -# 1998| m1998_4(int) = Phi : from 5:m1998_12, from 6:m1998_15 -# 1998| r1998_5(glval) = VariableAddress[#temp1998:9] : -# 1998| r1998_6(int) = Load[#temp1998:9] : &:r1998_5, m1998_4 -# 1998| r1998_7(glval) = VariableAddress[z] : -# 1998| m1998_8(int) = Store[z] : &:r1998_7, r1998_6 -# 1999| r1999_1(glval) = VariableAddress[a] : -# 1999| r1999_2(bool) = Load[a] : &:r1999_1, m1996_6 -# 1999| v1999_3(void) = ConditionalBranch : r1999_2 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 1998| Block 5 -# 1998| r1998_9(glval) = VariableAddress[x] : -# 1998| r1998_10(int) = Load[x] : &:r1998_9, m1996_8 -# 1998| r1998_11(glval) = VariableAddress[#temp1998:9] : -# 1998| m1998_12(int) = Store[#temp1998:9] : &:r1998_11, r1998_10 +# 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 #-----| Goto -> Block 4 -# 1998| Block 6 -# 1998| r1998_13(int) = Constant[5] : -# 1998| r1998_14(glval) = VariableAddress[#temp1998:9] : -# 1998| m1998_15(int) = Store[#temp1998:9] : &:r1998_14, r1998_13 +# 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 #-----| Goto -> Block 4 -# 1999| Block 7 -# 1999| m1999_4(int) = Phi : from 8:m1999_11, from 9:m1999_14 -# 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(int) = Constant[7] : -# 2000| r2000_2(glval) = VariableAddress[a] : -# 2000| r2000_3(bool) = Load[a] : &:r2000_2, m1996_6 -# 2000| v2000_4(void) = ConditionalBranch : r2000_3 +# 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 #-----| False -> Block 12 #-----| True -> Block 11 -# 1999| Block 8 -# 1999| r1999_9(int) = Constant[3] : -# 1999| r1999_10(glval) = VariableAddress[#temp1999:9] : -# 1999| m1999_11(int) = Store[#temp1999:9] : &:r1999_10, r1999_9 +# 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 #-----| Goto -> Block 7 -# 1999| Block 9 -# 1999| r1999_12(int) = Constant[5] : -# 1999| r1999_13(glval) = VariableAddress[#temp1999:9] : -# 1999| m1999_14(int) = Store[#temp1999:9] : &:r1999_13, r1999_12 +# 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 #-----| Goto -> Block 7 -# 2000| Block 10 -# 2000| m2000_5(glval) = Phi : from 11:m2000_12, from 12:m2000_15 -# 2000| r2000_6(glval) = VariableAddress[#temp2000:6] : -# 2000| r2000_7(glval) = Load[#temp2000:6] : &:r2000_6, m2000_5 -# 2000| m2000_8(int) = Store[?] : &:r2000_7, r2000_1 -# 2000| m2000_9(unknown) = Chi : total:m1996_4, partial:m2000_8 -# 2001| v2001_1(void) = NoOp : -# 1996| v1996_13(void) = ReturnVoid : -# 1996| v1996_14(void) = AliasedUse : ~m2000_9 -# 1996| v1996_15(void) = ExitFunction : - -# 2000| Block 11 -# 2000| r2000_10(glval) = VariableAddress[x] : -# 2000| r2000_11(glval) = VariableAddress[#temp2000:6] : -# 2000| m2000_12(glval) = Store[#temp2000:6] : &:r2000_11, r2000_10 +# 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 : + +# 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 #-----| Goto -> Block 10 -# 2000| Block 12 -# 2000| r2000_13(glval) = VariableAddress[y] : -# 2000| r2000_14(glval) = VariableAddress[#temp2000:6] : -# 2000| m2000_15(glval) = Store[#temp2000:6] : &:r2000_14, r2000_13 +# 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 #-----| Goto -> Block 10 -# 2006| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2006| Block 0 -# 2006| v2006_1(void) = EnterFunction : -# 2006| m2006_2(unknown) = AliasedDefinition : -# 2006| m2006_3(unknown) = InitializeNonLocal : -# 2006| m2006_4(unknown) = Chi : total:m2006_2, partial:m2006_3 -# 2006| r2006_5(glval) = VariableAddress[a] : -# 2006| m2006_6(bool) = InitializeParameter[a] : &:r2006_5 -# 2006| r2006_7(glval) = VariableAddress[x] : -# 2006| m2006_8(TernaryPodObj) = InitializeParameter[x] : &:r2006_7 -# 2006| r2006_9(glval) = VariableAddress[y] : -# 2006| m2006_10(TernaryPodObj) = InitializeParameter[y] : &:r2006_9 -# 2006| r2006_11(glval) = VariableAddress[z] : -# 2006| m2006_12(TernaryPodObj) = InitializeParameter[z] : &:r2006_11 -# 2007| r2007_1(glval) = VariableAddress[a] : -# 2007| r2007_2(bool) = Load[a] : &:r2007_1, m2006_6 -# 2007| v2007_3(void) = ConditionalBranch : r2007_2 +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 2007| Block 1 -# 2007| m2007_4(TernaryPodObj) = Phi : from 2:m2007_12, from 3:m2007_16 -# 2007| r2007_5(glval) = VariableAddress[#temp2007:9] : -# 2007| r2007_6(TernaryPodObj) = Load[#temp2007:9] : &:r2007_5, m2007_4 -# 2007| r2007_7(glval) = VariableAddress[z] : -# 2007| m2007_8(TernaryPodObj) = Store[z] : &:r2007_7, r2007_6 -# 2008| r2008_1(glval) = VariableAddress[#temp2008:9] : -# 2008| r2008_2(glval) = VariableAddress[a] : -# 2008| r2008_3(bool) = Load[a] : &:r2008_2, m2006_6 -# 2008| v2008_4(void) = ConditionalBranch : r2008_3 +# 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 #-----| False -> Block 6 #-----| True -> Block 5 -# 2007| Block 2 -# 2007| r2007_9(glval) = VariableAddress[x] : -# 2007| r2007_10(TernaryPodObj) = Load[x] : &:r2007_9, m2006_8 -# 2007| r2007_11(glval) = VariableAddress[#temp2007:9] : -# 2007| m2007_12(TernaryPodObj) = Store[#temp2007:9] : &:r2007_11, r2007_10 +# 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 #-----| Goto -> Block 1 -# 2007| Block 3 -# 2007| r2007_13(glval) = VariableAddress[y] : -# 2007| r2007_14(TernaryPodObj) = Load[y] : &:r2007_13, m2006_10 -# 2007| r2007_15(glval) = VariableAddress[#temp2007:9] : -# 2007| m2007_16(TernaryPodObj) = Store[#temp2007:9] : &:r2007_15, r2007_14 +# 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 #-----| Goto -> Block 1 -# 2008| Block 4 -# 2008| m2008_5(TernaryPodObj) = Phi : from 5:m2008_18, from 6:m2008_24 -# 2008| r2008_6(glval) = VariableAddress[#temp2008:9] : -# 2008| r2008_7(TernaryPodObj) = Load[#temp2008:9] : &:r2008_6, m2008_5 -# 2008| m2008_8(TernaryPodObj) = Store[#temp2008:9] : &:r2008_1, r2008_7 -# 2008| r2008_9(TernaryPodObj) = Load[#temp2008:9] : &:r2008_1, m2008_8 -# 2008| r2008_10(glval) = VariableAddress[z] : -# 2008| m2008_11(TernaryPodObj) = Store[z] : &:r2008_10, r2008_9 -# 2009| r2009_1(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_2(glval) = VariableAddress[a] : -# 2009| r2009_3(bool) = Load[a] : &:r2009_2, m2006_6 -# 2009| v2009_4(void) = ConditionalBranch : r2009_3 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 2008| Block 5 -# 2008| r2008_12(glval) = VariableAddress[#temp2008:13] : -# 2008| r2008_13(glval) = VariableAddress[x] : -# 2008| r2008_14(TernaryPodObj) = Load[x] : &:r2008_13, m2006_8 -# 2008| m2008_15(TernaryPodObj) = Store[#temp2008:13] : &:r2008_12, r2008_14 -# 2008| r2008_16(TernaryPodObj) = Load[#temp2008:13] : &:r2008_12, m2008_15 -# 2008| r2008_17(glval) = VariableAddress[#temp2008:9] : -# 2008| m2008_18(TernaryPodObj) = Store[#temp2008:9] : &:r2008_17, r2008_16 +# 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 #-----| Goto -> Block 4 -# 2008| Block 6 -# 2008| r2008_19(glval) = VariableAddress[#temp2008:17] : -# 2008| r2008_20(TernaryPodObj) = Constant[0] : -# 2008| m2008_21(TernaryPodObj) = Store[#temp2008:17] : &:r2008_19, r2008_20 -# 2008| r2008_22(TernaryPodObj) = Load[#temp2008:17] : &:r2008_19, m2008_21 -# 2008| r2008_23(glval) = VariableAddress[#temp2008:9] : -# 2008| m2008_24(TernaryPodObj) = Store[#temp2008:9] : &:r2008_23, r2008_22 +# 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 #-----| Goto -> Block 4 -# 2009| Block 7 -# 2009| m2009_5(TernaryPodObj) = Phi : from 8:m2009_17, from 9:m2009_23 -# 2009| r2009_6(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_7(TernaryPodObj) = Load[#temp2009:9] : &:r2009_6, m2009_5 -# 2009| m2009_8(TernaryPodObj) = Store[#temp2009:9] : &:r2009_1, r2009_7 -# 2009| r2009_9(TernaryPodObj) = Load[#temp2009:9] : &:r2009_1, m2009_8 -# 2009| r2009_10(glval) = VariableAddress[z] : -# 2009| m2009_11(TernaryPodObj) = Store[z] : &:r2009_10, r2009_9 -# 2010| r2010_1(glval) = VariableAddress[#temp2010:23] : -# 2010| r2010_2(TernaryPodObj) = Constant[0] : -# 2010| m2010_3(TernaryPodObj) = Store[#temp2010:23] : &:r2010_1, r2010_2 -# 2010| r2010_4(TernaryPodObj) = Load[#temp2010:23] : &:r2010_1, m2010_3 -# 2010| r2010_5(glval) = VariableAddress[a] : -# 2010| r2010_6(bool) = Load[a] : &:r2010_5, m2006_6 -# 2010| v2010_7(void) = ConditionalBranch : r2010_6 +# 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 #-----| False -> Block 12 #-----| True -> Block 11 -# 2009| Block 8 -# 2009| r2009_12(glval) = VariableAddress[#temp2009:13] : -# 2009| r2009_13(TernaryPodObj) = Constant[0] : -# 2009| m2009_14(TernaryPodObj) = Store[#temp2009:13] : &:r2009_12, r2009_13 -# 2009| r2009_15(TernaryPodObj) = Load[#temp2009:13] : &:r2009_12, m2009_14 -# 2009| r2009_16(glval) = VariableAddress[#temp2009:9] : -# 2009| m2009_17(TernaryPodObj) = Store[#temp2009:9] : &:r2009_16, r2009_15 +# 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 #-----| Goto -> Block 7 -# 2009| Block 9 -# 2009| r2009_18(glval) = VariableAddress[#temp2009:31] : -# 2009| r2009_19(TernaryPodObj) = Constant[0] : -# 2009| m2009_20(TernaryPodObj) = Store[#temp2009:31] : &:r2009_18, r2009_19 -# 2009| r2009_21(TernaryPodObj) = Load[#temp2009:31] : &:r2009_18, m2009_20 -# 2009| r2009_22(glval) = VariableAddress[#temp2009:9] : -# 2009| m2009_23(TernaryPodObj) = Store[#temp2009:9] : &:r2009_22, r2009_21 +# 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 #-----| Goto -> Block 7 -# 2010| Block 10 -# 2010| m2010_8(TernaryPodObj) = Phi : from 11:m2010_18, from 12:m2010_22 -# 2010| r2010_9(glval) = VariableAddress[#temp2010:10] : -# 2010| r2010_10(TernaryPodObj) = Load[#temp2010:10] : &:r2010_9, m2010_8 -# 2010| r2010_11(glval) = VariableAddress[z] : -# 2010| m2010_12(TernaryPodObj) = Store[z] : &:r2010_11, r2010_10 -# 2010| r2010_13(glval) = CopyValue : r2010_11 -# 2010| m2010_14(TernaryPodObj) = Store[?] : &:r2010_13, r2010_4 -# 2011| v2011_1(void) = NoOp : -# 2006| v2006_13(void) = ReturnVoid : -# 2006| v2006_14(void) = AliasedUse : m2006_3 -# 2006| v2006_15(void) = ExitFunction : - -# 2010| Block 11 -# 2010| r2010_15(glval) = VariableAddress[x] : -# 2010| r2010_16(TernaryPodObj) = Load[x] : &:r2010_15, m2006_8 -# 2010| r2010_17(glval) = VariableAddress[#temp2010:10] : -# 2010| m2010_18(TernaryPodObj) = Store[#temp2010:10] : &:r2010_17, r2010_16 +# 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 : + +# 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 #-----| Goto -> Block 10 -# 2010| Block 12 -# 2010| r2010_19(glval) = VariableAddress[y] : -# 2010| r2010_20(TernaryPodObj) = Load[y] : &:r2010_19, m2006_10 -# 2010| r2010_21(glval) = VariableAddress[#temp2010:10] : -# 2010| m2010_22(TernaryPodObj) = Store[#temp2010:10] : &:r2010_21, r2010_20 +# 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 #-----| Goto -> Block 10 -# 2013| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2013| Block 0 -# 2013| v2013_1(void) = EnterFunction : -# 2013| m2013_2(unknown) = AliasedDefinition : -# 2013| m2013_3(unknown) = InitializeNonLocal : -# 2013| m2013_4(unknown) = Chi : total:m2013_2, partial:m2013_3 -# 2013| r2013_5(glval) = VariableAddress[#this] : -# 2013| m2013_6(glval) = InitializeParameter[#this] : &:r2013_5 -# 2013| r2013_7(glval) = Load[#this] : &:r2013_5, m2013_6 -# 2013| m2013_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_7 +# 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 #-----| 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, m2013_6 +#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2015_6 #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| m0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2013| v2013_9(void) = ReturnIndirection[#this] : &:r2013_7, m2013_8 +# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2013| r2013_10(glval) = VariableAddress[#return] : -# 2013| v2013_11(void) = ReturnValue : &:r2013_10, m0_10 -# 2013| v2013_12(void) = AliasedUse : m2013_3 -# 2013| v2013_13(void) = ExitFunction : - -# 2013| void TernaryNonPodObj::TernaryNonPodObj() -# 2013| Block 0 -# 2013| v2013_1(void) = EnterFunction : -# 2013| m2013_2(unknown) = AliasedDefinition : -# 2013| m2013_3(unknown) = InitializeNonLocal : -# 2013| m2013_4(unknown) = Chi : total:m2013_2, partial:m2013_3 -# 2013| r2013_5(glval) = VariableAddress[#this] : -# 2013| m2013_6(glval) = InitializeParameter[#this] : &:r2013_5 -# 2013| r2013_7(glval) = Load[#this] : &:r2013_5, m2013_6 -# 2013| m2013_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_7 -# 2013| v2013_9(void) = NoOp : -# 2013| v2013_10(void) = ReturnIndirection[#this] : &:r2013_7, m2013_8 -# 2013| v2013_11(void) = ReturnVoid : -# 2013| v2013_12(void) = AliasedUse : m2013_3 -# 2013| v2013_13(void) = ExitFunction : - -# 2013| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2013| Block 0 -# 2013| v2013_1(void) = EnterFunction : -# 2013| m2013_2(unknown) = AliasedDefinition : -# 2013| m2013_3(unknown) = InitializeNonLocal : -# 2013| m2013_4(unknown) = Chi : total:m2013_2, partial:m2013_3 -# 2013| r2013_5(glval) = VariableAddress[#this] : -# 2013| m2013_6(glval) = InitializeParameter[#this] : &:r2013_5 -# 2013| r2013_7(glval) = Load[#this] : &:r2013_5, m2013_6 -# 2013| m2013_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_7 +# 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 : + +# 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 : + +# 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 #-----| 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 -# 2013| v2013_9(void) = NoOp : -# 2013| v2013_10(void) = ReturnIndirection[#this] : &:r2013_7, m2013_8 +# 2015| v2015_9(void) = NoOp : +# 2015| v2015_10(void) = ReturnIndirection[#this] : &:r2015_7, m2015_8 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2013| v2013_11(void) = ReturnVoid : -# 2013| v2013_12(void) = AliasedUse : m2013_3 -# 2013| v2013_13(void) = ExitFunction : - -# 2014| void TernaryNonPodObj::~TernaryNonPodObj() -# 2014| Block 0 -# 2014| v2014_1(void) = EnterFunction : -# 2014| m2014_2(unknown) = AliasedDefinition : -# 2014| m2014_3(unknown) = InitializeNonLocal : -# 2014| m2014_4(unknown) = Chi : total:m2014_2, partial:m2014_3 -# 2014| r2014_5(glval) = VariableAddress[#this] : -# 2014| m2014_6(glval) = InitializeParameter[#this] : &:r2014_5 -# 2014| r2014_7(glval) = Load[#this] : &:r2014_5, m2014_6 -# 2014| m2014_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2014_7 -# 2014| v2014_9(void) = NoOp : -# 2014| v2014_10(void) = ReturnIndirection[#this] : &:r2014_7, m2014_8 -# 2014| v2014_11(void) = ReturnVoid : -# 2014| v2014_12(void) = AliasedUse : m2014_3 -# 2014| v2014_13(void) = ExitFunction : - -# 2017| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 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 -# 2017| r2017_5(glval) = VariableAddress[a] : -# 2017| m2017_6(bool) = InitializeParameter[a] : &:r2017_5 -# 2017| r2017_7(glval) = VariableAddress[x] : -# 2017| m2017_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2017_7 -# 2017| r2017_9(glval) = VariableAddress[y] : -# 2017| m2017_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2017_9 -# 2017| r2017_11(glval) = VariableAddress[z] : -# 2017| m2017_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2017_11 -# 2018| r2018_1(glval) = VariableAddress[z] : -# 2018| r2018_2(glval) = FunctionAddress[operator=] : -# 2018| r2018_3(glval) = VariableAddress[a] : -# 2018| r2018_4(bool) = Load[a] : &:r2018_3, m2017_6 -# 2018| v2018_5(void) = ConditionalBranch : r2018_4 +# 2015| v2015_11(void) = ReturnVoid : +# 2015| v2015_12(void) = AliasedUse : m2015_3 +# 2015| v2015_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 : + +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 2018| Block 1 -# 2018| m2018_6(glval) = Phi : from 2:m2018_21, from 3:m2018_24 -# 2018| r2018_7(glval) = VariableAddress[#temp2018:9] : -# 2018| r2018_8(glval) = Load[#temp2018:9] : &:r2018_7, m2018_6 -# 2018| r2018_9(glval) = Convert : r2018_8 -# 2018| r2018_10(TernaryNonPodObj &) = CopyValue : r2018_9 -# 2018| r2018_11(TernaryNonPodObj &) = Call[operator=] : func:r2018_2, this:r2018_1, 0:r2018_10 -# 2018| m2018_12(unknown) = ^CallSideEffect : ~m2017_4 -# 2018| m2018_13(unknown) = Chi : total:m2017_4, partial:m2018_12 -# 2018| v2018_14(void) = ^IndirectReadSideEffect[-1] : &:r2018_1, m2017_12 -# 2018| v2018_15(void) = ^BufferReadSideEffect[0] : &:r2018_10, ~m2018_13 -# 2018| m2018_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2018_1 -# 2018| m2018_17(TernaryNonPodObj) = Chi : total:m2017_12, partial:m2018_16 -# 2018| r2018_18(glval) = CopyValue : r2018_11 -# 2019| r2019_1(glval) = VariableAddress[z] : -# 2019| r2019_2(glval) = FunctionAddress[operator=] : -# 2019| r2019_3(glval) = VariableAddress[#temp2019:9] : -# 2019| r2019_4(glval) = VariableAddress[a] : -# 2019| r2019_5(bool) = Load[a] : &:r2019_4, m2017_6 -# 2019| v2019_6(void) = ConditionalBranch : r2019_5 +# 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 #-----| False -> Block 6 #-----| True -> Block 5 -# 2018| Block 2 -# 2018| r2018_19(glval) = VariableAddress[x] : -# 2018| r2018_20(glval) = VariableAddress[#temp2018:9] : -# 2018| m2018_21(glval) = Store[#temp2018:9] : &:r2018_20, r2018_19 +# 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 #-----| Goto -> Block 1 -# 2018| Block 3 -# 2018| r2018_22(glval) = VariableAddress[y] : -# 2018| r2018_23(glval) = VariableAddress[#temp2018:9] : -# 2018| m2018_24(glval) = Store[#temp2018:9] : &:r2018_23, r2018_22 +# 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 #-----| Goto -> Block 1 -# 2019| Block 4 -# 2019| m2019_7(unknown) = Phi : from 5:~m2019_30, from 6:~m2019_42 -# 2019| m2019_8(TernaryNonPodObj) = Phi : from 5:m2019_36, from 6:m2019_47 -# 2019| r2019_9(glval) = VariableAddress[#temp2019:9] : -# 2019| r2019_10(TernaryNonPodObj) = Load[#temp2019:9] : &:r2019_9, m2019_8 -# 2019| m2019_11(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_3, r2019_10 -# 2019| r2019_12(glval) = Convert : r2019_3 -# 2019| r2019_13(TernaryNonPodObj &) = CopyValue : r2019_12 -# 2019| r2019_14(TernaryNonPodObj &) = Call[operator=] : func:r2019_2, this:r2019_1, 0:r2019_13 -# 2019| m2019_15(unknown) = ^CallSideEffect : ~m2019_7 -# 2019| m2019_16(unknown) = Chi : total:m2019_7, partial:m2019_15 -# 2019| v2019_17(void) = ^IndirectReadSideEffect[-1] : &:r2019_1, m2018_17 -# 2019| v2019_18(void) = ^BufferReadSideEffect[0] : &:r2019_13, ~m2019_11 -# 2019| m2019_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_1 -# 2019| m2019_20(TernaryNonPodObj) = Chi : total:m2018_17, partial:m2019_19 -# 2019| r2019_21(glval) = CopyValue : r2019_14 -# 2020| r2020_1(glval) = VariableAddress[z] : -# 2020| r2020_2(glval) = FunctionAddress[operator=] : -# 2020| r2020_3(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_4(glval) = VariableAddress[a] : -# 2020| r2020_5(bool) = Load[a] : &:r2020_4, m2017_6 -# 2020| v2020_6(void) = ConditionalBranch : r2020_5 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 2019| Block 5 -# 2019| r2019_22(glval) = VariableAddress[#temp2019:13] : -# 2019| m2019_23(TernaryNonPodObj) = Uninitialized[#temp2019:13] : &:r2019_22 -# 2019| r2019_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2019| r2019_25(glval) = VariableAddress[x] : -# 2019| r2019_26(glval) = Convert : r2019_25 -# 2019| r2019_27(TernaryNonPodObj &) = CopyValue : r2019_26 -# 2019| v2019_28(void) = Call[TernaryNonPodObj] : func:r2019_24, this:r2019_22, 0:r2019_27 -# 2019| m2019_29(unknown) = ^CallSideEffect : ~m2018_13 -# 2019| m2019_30(unknown) = Chi : total:m2018_13, partial:m2019_29 -# 2019| v2019_31(void) = ^BufferReadSideEffect[0] : &:r2019_27, ~m2017_8 -# 2019| m2019_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_22 -# 2019| m2019_33(TernaryNonPodObj) = Chi : total:m2019_23, partial:m2019_32 -# 2019| r2019_34(TernaryNonPodObj) = Load[#temp2019:13] : &:r2019_22, m2019_33 -# 2019| r2019_35(glval) = VariableAddress[#temp2019:9] : -# 2019| m2019_36(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_35, r2019_34 +# 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 #-----| Goto -> Block 4 -# 2019| Block 6 -# 2019| r2019_37(glval) = VariableAddress[#temp2019:17] : -# 2019| m2019_38(TernaryNonPodObj) = Uninitialized[#temp2019:17] : &:r2019_37 -# 2019| r2019_39(glval) = FunctionAddress[TernaryNonPodObj] : -# 2019| v2019_40(void) = Call[TernaryNonPodObj] : func:r2019_39, this:r2019_37 -# 2019| m2019_41(unknown) = ^CallSideEffect : ~m2018_13 -# 2019| m2019_42(unknown) = Chi : total:m2018_13, partial:m2019_41 -# 2019| m2019_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_37 -# 2019| m2019_44(TernaryNonPodObj) = Chi : total:m2019_38, partial:m2019_43 -# 2019| r2019_45(TernaryNonPodObj) = Load[#temp2019:17] : &:r2019_37, m2019_44 -# 2019| r2019_46(glval) = VariableAddress[#temp2019:9] : -# 2019| m2019_47(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_46, r2019_45 +# 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 #-----| Goto -> Block 4 -# 2020| Block 7 -# 2020| m2020_7(unknown) = Phi : from 8:~m2020_27, from 9:~m2020_38 -# 2020| m2020_8(TernaryNonPodObj) = Phi : from 8:m2020_32, from 9:m2020_43 -# 2020| r2020_9(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_10(TernaryNonPodObj) = Load[#temp2020:9] : &:r2020_9, m2020_8 -# 2020| m2020_11(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_3, r2020_10 -# 2020| r2020_12(glval) = Convert : r2020_3 -# 2020| r2020_13(TernaryNonPodObj &) = CopyValue : r2020_12 -# 2020| r2020_14(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_13 -# 2020| m2020_15(unknown) = ^CallSideEffect : ~m2020_7 -# 2020| m2020_16(unknown) = Chi : total:m2020_7, partial:m2020_15 -# 2020| v2020_17(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, m2019_20 -# 2020| v2020_18(void) = ^BufferReadSideEffect[0] : &:r2020_13, ~m2020_11 -# 2020| m2020_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1 -# 2020| m2020_20(TernaryNonPodObj) = Chi : total:m2019_20, partial:m2020_19 -# 2020| r2020_21(glval) = CopyValue : r2020_14 -# 2021| r2021_1(glval) = VariableAddress[z] : -# 2021| r2021_2(glval) = FunctionAddress[operator=] : -# 2021| r2021_3(glval) = VariableAddress[a] : -# 2021| r2021_4(bool) = Load[a] : &:r2021_3, m2017_6 -# 2021| v2021_5(void) = ConditionalBranch : r2021_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 #-----| False -> Block 12 #-----| True -> Block 11 -# 2020| Block 8 -# 2020| r2020_22(glval) = VariableAddress[#temp2020:13] : -# 2020| m2020_23(TernaryNonPodObj) = Uninitialized[#temp2020:13] : &:r2020_22 -# 2020| r2020_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2020| v2020_25(void) = Call[TernaryNonPodObj] : func:r2020_24, this:r2020_22 -# 2020| m2020_26(unknown) = ^CallSideEffect : ~m2019_16 -# 2020| m2020_27(unknown) = Chi : total:m2019_16, partial:m2020_26 -# 2020| m2020_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_22 -# 2020| m2020_29(TernaryNonPodObj) = Chi : total:m2020_23, partial:m2020_28 -# 2020| r2020_30(TernaryNonPodObj) = Load[#temp2020:13] : &:r2020_22, m2020_29 -# 2020| r2020_31(glval) = VariableAddress[#temp2020:9] : -# 2020| m2020_32(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_31, r2020_30 +# 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 #-----| Goto -> Block 7 -# 2020| Block 9 -# 2020| r2020_33(glval) = VariableAddress[#temp2020:34] : -# 2020| m2020_34(TernaryNonPodObj) = Uninitialized[#temp2020:34] : &:r2020_33 -# 2020| r2020_35(glval) = FunctionAddress[TernaryNonPodObj] : -# 2020| v2020_36(void) = Call[TernaryNonPodObj] : func:r2020_35, this:r2020_33 -# 2020| m2020_37(unknown) = ^CallSideEffect : ~m2019_16 -# 2020| m2020_38(unknown) = Chi : total:m2019_16, partial:m2020_37 -# 2020| m2020_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_33 -# 2020| m2020_40(TernaryNonPodObj) = Chi : total:m2020_34, partial:m2020_39 -# 2020| r2020_41(TernaryNonPodObj) = Load[#temp2020:34] : &:r2020_33, m2020_40 -# 2020| r2020_42(glval) = VariableAddress[#temp2020:9] : -# 2020| m2020_43(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_42, r2020_41 +# 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 #-----| Goto -> Block 7 -# 2021| Block 10 -# 2021| m2021_6(glval) = Phi : from 11:m2021_40, from 12:m2021_43 -# 2021| r2021_7(glval) = VariableAddress[#temp2021:10] : -# 2021| r2021_8(glval) = Load[#temp2021:10] : &:r2021_7, m2021_6 -# 2021| r2021_9(glval) = Convert : r2021_8 -# 2021| r2021_10(TernaryNonPodObj &) = CopyValue : r2021_9 -# 2021| r2021_11(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_10 -# 2021| m2021_12(unknown) = ^CallSideEffect : ~m2020_16 -# 2021| m2021_13(unknown) = Chi : total:m2020_16, partial:m2021_12 -# 2021| v2021_14(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, m2020_20 -# 2021| v2021_15(void) = ^BufferReadSideEffect[0] : &:r2021_10, ~m2021_13 -# 2021| m2021_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1 -# 2021| m2021_17(TernaryNonPodObj) = Chi : total:m2020_20, partial:m2021_16 -# 2021| r2021_18(glval) = CopyValue : r2021_11 -# 2021| r2021_19(glval) = FunctionAddress[operator=] : -# 2021| r2021_20(glval) = VariableAddress[#temp2021:23] : -# 2021| m2021_21(TernaryNonPodObj) = Uninitialized[#temp2021:23] : &:r2021_20 -# 2021| r2021_22(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| v2021_23(void) = Call[TernaryNonPodObj] : func:r2021_22, this:r2021_20 -# 2021| m2021_24(unknown) = ^CallSideEffect : ~m2021_13 -# 2021| m2021_25(unknown) = Chi : total:m2021_13, partial:m2021_24 -# 2021| m2021_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_20 -# 2021| m2021_27(TernaryNonPodObj) = Chi : total:m2021_21, partial:m2021_26 -# 2021| r2021_28(glval) = Convert : r2021_20 -# 2021| r2021_29(TernaryNonPodObj &) = CopyValue : r2021_28 -# 2021| r2021_30(TernaryNonPodObj &) = Call[operator=] : func:r2021_19, this:r2021_18, 0:r2021_29 -# 2021| m2021_31(unknown) = ^CallSideEffect : ~m2021_25 -# 2021| m2021_32(unknown) = Chi : total:m2021_25, partial:m2021_31 -# 2021| v2021_33(void) = ^IndirectReadSideEffect[-1] : &:r2021_18, m2021_17 -# 2021| v2021_34(void) = ^BufferReadSideEffect[0] : &:r2021_29, ~m2021_27 -# 2021| m2021_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_18 -# 2021| m2021_36(TernaryNonPodObj) = Chi : total:m2021_17, partial:m2021_35 -# 2021| r2021_37(glval) = CopyValue : r2021_30 -# 2022| v2022_1(void) = NoOp : -# 2017| v2017_13(void) = ReturnVoid : -# 2017| v2017_14(void) = AliasedUse : ~m2021_32 -# 2017| v2017_15(void) = ExitFunction : - -# 2021| Block 11 -# 2021| r2021_38(glval) = VariableAddress[x] : -# 2021| r2021_39(glval) = VariableAddress[#temp2021:10] : -# 2021| m2021_40(glval) = Store[#temp2021:10] : &:r2021_39, r2021_38 +# 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 : + +# 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 #-----| Goto -> Block 10 -# 2021| Block 12 -# 2021| r2021_41(glval) = VariableAddress[y] : -# 2021| r2021_42(glval) = VariableAddress[#temp2021:10] : -# 2021| m2021_43(glval) = Store[#temp2021:10] : &:r2021_42, r2021_41 +# 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 #-----| Goto -> Block 10 -# 2026| unsigned int CommaTest(unsigned int) -# 2026| Block 0 -# 2026| v2026_1(void) = EnterFunction : -# 2026| m2026_2(unknown) = AliasedDefinition : -# 2026| m2026_3(unknown) = InitializeNonLocal : -# 2026| m2026_4(unknown) = Chi : total:m2026_2, partial:m2026_3 -# 2026| r2026_5(glval) = VariableAddress[x] : -# 2026| m2026_6(unsigned int) = InitializeParameter[x] : &:r2026_5 -# 2027| r2027_1(glval) = VariableAddress[y] : -# 2027| m2027_2(unsigned int) = Uninitialized[y] : &:r2027_1 -# 2028| r2028_1(glval) = VariableAddress[x] : -# 2028| r2028_2(unsigned int) = Load[x] : &:r2028_1, m2026_6 -# 2028| r2028_3(unsigned int) = Constant[100] : -# 2028| r2028_4(bool) = CompareLT : r2028_2, r2028_3 -# 2028| v2028_5(void) = ConditionalBranch : r2028_4 +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 2028| Block 1 -# 2028| m2028_6(unknown) = Phi : from 2:~m2029_6, from 3:~m2030_6 -# 2028| m2028_7(unsigned int) = Phi : from 2:m2028_13, from 3:m2028_15 -# 2028| r2028_8(glval) = VariableAddress[#temp2028:7] : -# 2028| r2028_9(unsigned int) = Load[#temp2028:7] : &:r2028_8, m2028_7 -# 2028| r2028_10(glval) = VariableAddress[y] : -# 2028| m2028_11(unsigned int) = Store[y] : &:r2028_10, r2028_9 -# 2031| r2031_1(glval) = VariableAddress[#return] : -# 2031| m2031_2(unsigned int) = Uninitialized[#return] : &:r2031_1 -# 2026| r2026_7(glval) = VariableAddress[#return] : -# 2026| v2026_8(void) = ReturnValue : &:r2026_7, m2031_2 -# 2026| v2026_9(void) = AliasedUse : ~m2028_6 -# 2026| v2026_10(void) = ExitFunction : - -# 2029| Block 2 -# 2029| r2029_1(glval) = FunctionAddress[CommaTestHelper] : -# 2029| r2029_2(glval) = VariableAddress[x] : -# 2029| r2029_3(unsigned int) = Load[x] : &:r2029_2, m2026_6 -# 2029| v2029_4(void) = Call[CommaTestHelper] : func:r2029_1, 0:r2029_3 -# 2029| m2029_5(unknown) = ^CallSideEffect : ~m2026_4 -# 2029| m2029_6(unknown) = Chi : total:m2026_4, partial:m2029_5 -# 2029| r2029_7(glval) = VariableAddress[x] : -# 2029| r2029_8(unsigned int) = Load[x] : &:r2029_7, m2026_6 -# 2029| r2029_9(unsigned int) = CopyValue : r2029_8 -# 2028| r2028_12(glval) = VariableAddress[#temp2028:7] : -# 2028| m2028_13(unsigned int) = Store[#temp2028:7] : &:r2028_12, r2029_9 +# 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 : + +# 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 #-----| Goto -> Block 1 -# 2030| Block 3 -# 2030| r2030_1(glval) = FunctionAddress[CommaTestHelper] : -# 2030| r2030_2(glval) = VariableAddress[x] : -# 2030| r2030_3(unsigned int) = Load[x] : &:r2030_2, m2026_6 -# 2030| v2030_4(void) = Call[CommaTestHelper] : func:r2030_1, 0:r2030_3 -# 2030| m2030_5(unknown) = ^CallSideEffect : ~m2026_4 -# 2030| m2030_6(unknown) = Chi : total:m2026_4, partial:m2030_5 -# 2030| r2030_7(int) = Constant[10] : -# 2030| r2030_8(int) = CopyValue : r2030_7 -# 2030| r2030_9(unsigned int) = Convert : r2030_8 -# 2028| r2028_14(glval) = VariableAddress[#temp2028:7] : -# 2028| m2028_15(unsigned int) = Store[#temp2028:7] : &:r2028_14, r2030_9 +# 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 #-----| Goto -> Block 1 -# 2033| void NewDeleteMem() -# 2033| Block 0 -# 2033| v2033_1(void) = EnterFunction : -# 2033| m2033_2(unknown) = AliasedDefinition : -# 2033| m2033_3(unknown) = InitializeNonLocal : -# 2033| m2033_4(unknown) = Chi : total:m2033_2, partial:m2033_3 -# 2034| r2034_1(glval) = VariableAddress[x] : -# 2034| r2034_2(glval) = FunctionAddress[operator new] : -# 2034| r2034_3(unsigned long) = Constant[4] : -# 2034| r2034_4(void *) = Call[operator new] : func:r2034_2, 0:r2034_3 -# 2034| m2034_5(unknown) = ^CallSideEffect : ~m2033_4 -# 2034| m2034_6(unknown) = Chi : total:m2033_4, partial:m2034_5 -# 2034| m2034_7(unknown) = ^InitializeDynamicAllocation : &:r2034_4 -# 2034| r2034_8(int *) = Convert : r2034_4 -# 2034| m2034_9(int *) = Store[x] : &:r2034_1, r2034_8 -# 2035| r2035_1(int) = Constant[6] : -# 2035| r2035_2(glval) = VariableAddress[x] : -# 2035| r2035_3(int *) = Load[x] : &:r2035_2, m2034_9 -# 2035| r2035_4(glval) = CopyValue : r2035_3 -# 2035| m2035_5(int) = Store[?] : &:r2035_4, r2035_1 -# 2035| m2035_6(unknown) = Chi : total:m2034_7, partial:m2035_5 -# 2036| r2036_1(glval) = FunctionAddress[operator delete] : -# 2036| r2036_2(glval) = VariableAddress[x] : -# 2036| r2036_3(int *) = Load[x] : &:r2036_2, m2034_9 -# 2036| v2036_4(void) = Call[operator delete] : func:r2036_1, 0:r2036_3 -# 2036| m2036_5(unknown) = ^CallSideEffect : ~m2034_6 -# 2036| m2036_6(unknown) = Chi : total:m2034_6, partial:m2036_5 -# 2037| v2037_1(void) = NoOp : -# 2033| v2033_5(void) = ReturnVoid : -# 2033| v2033_6(void) = AliasedUse : ~m2036_6 -# 2033| v2033_7(void) = ExitFunction : - -# 2039| void Base2::Base2() -# 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 -# 2039| r2039_5(glval) = VariableAddress[#this] : -# 2039| m2039_6(glval) = InitializeParameter[#this] : &:r2039_5 -# 2039| r2039_7(glval) = Load[#this] : &:r2039_5, m2039_6 -# 2039| m2039_8(Base2) = InitializeIndirection[#this] : &:r2039_7 -# 2039| v2039_9(void) = NoOp : -# 2039| v2039_10(void) = ReturnIndirection[#this] : &:r2039_7, m2039_8 -# 2039| v2039_11(void) = ReturnVoid : -# 2039| v2039_12(void) = AliasedUse : m2039_3 -# 2039| v2039_13(void) = ExitFunction : - -# 2041| void Base2::operator delete(void*) +# 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 : + +# 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[p] : -# 2041| m2041_6(void *) = InitializeParameter[p] : &:r2041_5 -# 2041| r2041_7(void *) = Load[p] : &:r2041_5, m2041_6 -# 2041| m2041_8(unknown) = InitializeIndirection[p] : &:r2041_7 -# 2042| v2042_1(void) = NoOp : -# 2041| v2041_9(void) = ReturnIndirection[p] : &:r2041_7, m2041_8 -# 2041| v2041_10(void) = ReturnVoid : -# 2041| v2041_11(void) = AliasedUse : m2041_3 -# 2041| v2041_12(void) = ExitFunction : - -# 2043| void Base2::~Base2() +# 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 : + +# 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[#this] : -# 2043| m2043_6(glval) = InitializeParameter[#this] : &:r2043_5 -# 2043| r2043_7(glval) = Load[#this] : &:r2043_5, m2043_6 -# 2043| m2043_8(Base2) = InitializeIndirection[#this] : &:r2043_7 -# 2043| v2043_9(void) = NoOp : -# 2043| v2043_10(void) = ReturnIndirection[#this] : &:r2043_7, m2043_8 -# 2043| v2043_11(void) = ReturnVoid : -# 2043| v2043_12(void) = AliasedUse : m2043_3 -# 2043| v2043_13(void) = ExitFunction : - -# 2046| void Derived2::Derived2() -# 2046| Block 0 -# 2046| v2046_1(void) = EnterFunction : -# 2046| m2046_2(unknown) = AliasedDefinition : -# 2046| m2046_3(unknown) = InitializeNonLocal : -# 2046| m2046_4(unknown) = Chi : total:m2046_2, partial:m2046_3 -# 2046| r2046_5(glval) = VariableAddress[#this] : -# 2046| m2046_6(glval) = InitializeParameter[#this] : &:r2046_5 -# 2046| r2046_7(glval) = Load[#this] : &:r2046_5, m2046_6 -# 2046| m2046_8(Derived2) = InitializeIndirection[#this] : &:r2046_7 -# 2046| r2046_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2046_6 -# 2046| r2046_10(glval) = FunctionAddress[Base2] : -# 2046| v2046_11(void) = Call[Base2] : func:r2046_10, this:r2046_9 -# 2046| m2046_12(unknown) = ^CallSideEffect : ~m2046_4 -# 2046| m2046_13(unknown) = Chi : total:m2046_4, partial:m2046_12 -# 2046| m2046_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2046_9 -# 2046| m2046_15(unknown) = Chi : total:m2046_8, partial:m2046_14 -# 2046| v2046_16(void) = NoOp : -# 2046| v2046_17(void) = ReturnIndirection[#this] : &:r2046_7, m2046_15 -# 2046| v2046_18(void) = ReturnVoid : -# 2046| v2046_19(void) = AliasedUse : ~m2046_13 -# 2046| v2046_20(void) = ExitFunction : - -# 2049| void Derived2::~Derived2() -# 2049| Block 0 -# 2049| v2049_1(void) = EnterFunction : -# 2049| m2049_2(unknown) = AliasedDefinition : -# 2049| m2049_3(unknown) = InitializeNonLocal : -# 2049| m2049_4(unknown) = Chi : total:m2049_2, partial:m2049_3 -# 2049| r2049_5(glval) = VariableAddress[#this] : -# 2049| m2049_6(glval) = InitializeParameter[#this] : &:r2049_5 -# 2049| r2049_7(glval) = Load[#this] : &:r2049_5, m2049_6 -# 2049| m2049_8(Derived2) = InitializeIndirection[#this] : &:r2049_7 -# 2049| v2049_9(void) = NoOp : -# 2049| r2049_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2049_6 -# 2049| r2049_11(glval) = FunctionAddress[~Base2] : -# 2049| v2049_12(void) = Call[~Base2] : func:r2049_11, this:r2049_10 -# 2049| m2049_13(unknown) = ^CallSideEffect : ~m2049_4 -# 2049| m2049_14(unknown) = Chi : total:m2049_4, partial:m2049_13 -# 2049| v2049_15(void) = ReturnIndirection[#this] : &:r2049_7, m2049_8 -# 2049| v2049_16(void) = ReturnVoid : -# 2049| v2049_17(void) = AliasedUse : ~m2049_14 -# 2049| v2049_18(void) = ExitFunction : - -# 2051| void Derived2::operator delete(void*) +# 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 : + +# 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[p] : -# 2051| m2051_6(void *) = InitializeParameter[p] : &:r2051_5 -# 2051| r2051_7(void *) = Load[p] : &:r2051_5, m2051_6 -# 2051| m2051_8(unknown) = InitializeIndirection[p] : &:r2051_7 -# 2052| v2052_1(void) = NoOp : -# 2051| v2051_9(void) = ReturnIndirection[p] : &:r2051_7, m2051_8 -# 2051| v2051_10(void) = ReturnVoid : -# 2051| v2051_11(void) = AliasedUse : m2051_3 -# 2051| v2051_12(void) = ExitFunction : - -# 2056| int virtual_delete() -# 2056| Block 0 -# 2056| v2056_1(void) = EnterFunction : -# 2056| m2056_2(unknown) = AliasedDefinition : -# 2056| m2056_3(unknown) = InitializeNonLocal : -# 2056| m2056_4(unknown) = Chi : total:m2056_2, partial:m2056_3 -# 2058| r2058_1(glval) = VariableAddress[b1] : -# 2058| r2058_2(glval) = FunctionAddress[operator new] : -# 2058| r2058_3(unsigned long) = Constant[8] : -# 2058| r2058_4(void *) = Call[operator new] : func:r2058_2, 0:r2058_3 -# 2058| m2058_5(unknown) = ^CallSideEffect : ~m2056_4 -# 2058| m2058_6(unknown) = Chi : total:m2056_4, partial:m2058_5 -# 2058| m2058_7(unknown) = ^InitializeDynamicAllocation : &:r2058_4 -# 2058| r2058_8(Base2 *) = Convert : r2058_4 -# 2058| r2058_9(glval) = FunctionAddress[Base2] : -# 2058| v2058_10(void) = Call[Base2] : func:r2058_9, this:r2058_8 -# 2058| m2058_11(unknown) = ^CallSideEffect : ~m2058_6 -# 2058| m2058_12(unknown) = Chi : total:m2058_6, partial:m2058_11 -# 2058| m2058_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2058_8 -# 2058| m2058_14(unknown) = Chi : total:m2058_7, partial:m2058_13 -# 2058| m2058_15(Base2 *) = Store[b1] : &:r2058_1, r2058_8 -# 2059| r2059_1(glval) = VirtualDeleteFunctionAddress : -# 2059| r2059_2(glval) = VariableAddress[b1] : -# 2059| r2059_3(Base2 *) = Load[b1] : &:r2059_2, m2058_15 -# 2059| v2059_4(void) = Call[?] : func:r2059_1, 0:r2059_3 -# 2059| m2059_5(unknown) = ^CallSideEffect : ~m2058_12 -# 2059| m2059_6(unknown) = Chi : total:m2058_12, partial:m2059_5 -# 2061| r2061_1(glval) = VariableAddress[b2] : -# 2061| r2061_2(glval) = FunctionAddress[operator new] : -# 2061| r2061_3(unsigned long) = Constant[16] : -# 2061| r2061_4(void *) = Call[operator new] : func:r2061_2, 0:r2061_3 -# 2061| m2061_5(unknown) = ^CallSideEffect : ~m2059_6 -# 2061| m2061_6(unknown) = Chi : total:m2059_6, partial:m2061_5 -# 2061| m2061_7(unknown) = ^InitializeDynamicAllocation : &:r2061_4 -# 2061| r2061_8(Derived2 *) = Convert : r2061_4 -# 2061| r2061_9(glval) = FunctionAddress[Derived2] : -# 2061| v2061_10(void) = Call[Derived2] : func:r2061_9, this:r2061_8 -# 2061| m2061_11(unknown) = ^CallSideEffect : ~m2061_6 -# 2061| m2061_12(unknown) = Chi : total:m2061_6, partial:m2061_11 -# 2061| m2061_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2061_8 -# 2061| m2061_14(unknown) = Chi : total:m2061_7, partial:m2061_13 -# 2061| r2061_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2061_8 -# 2061| m2061_16(Base2 *) = Store[b2] : &:r2061_1, r2061_15 -# 2062| r2062_1(glval) = VirtualDeleteFunctionAddress : -# 2062| r2062_2(glval) = VariableAddress[b2] : -# 2062| r2062_3(Base2 *) = Load[b2] : &:r2062_2, m2061_16 -# 2062| v2062_4(void) = Call[?] : func:r2062_1, 0:r2062_3 -# 2062| m2062_5(unknown) = ^CallSideEffect : ~m2061_12 -# 2062| m2062_6(unknown) = Chi : total:m2061_12, partial:m2062_5 -# 2064| r2064_1(glval) = VariableAddress[d] : -# 2064| r2064_2(glval) = FunctionAddress[operator new] : -# 2064| r2064_3(unsigned long) = Constant[16] : -# 2064| r2064_4(void *) = Call[operator new] : func:r2064_2, 0:r2064_3 -# 2064| m2064_5(unknown) = ^CallSideEffect : ~m2062_6 -# 2064| m2064_6(unknown) = Chi : total:m2062_6, partial:m2064_5 -# 2064| m2064_7(unknown) = ^InitializeDynamicAllocation : &:r2064_4 -# 2064| r2064_8(Derived2 *) = Convert : r2064_4 -# 2064| r2064_9(glval) = FunctionAddress[Derived2] : -# 2064| v2064_10(void) = Call[Derived2] : func:r2064_9, this:r2064_8 -# 2064| m2064_11(unknown) = ^CallSideEffect : ~m2064_6 -# 2064| m2064_12(unknown) = Chi : total:m2064_6, partial:m2064_11 -# 2064| m2064_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2064_8 -# 2064| m2064_14(unknown) = Chi : total:m2064_7, partial:m2064_13 -# 2064| m2064_15(Derived2 *) = Store[d] : &:r2064_1, r2064_8 -# 2065| r2065_1(glval) = VirtualDeleteFunctionAddress : -# 2065| r2065_2(glval) = VariableAddress[d] : -# 2065| r2065_3(Derived2 *) = Load[d] : &:r2065_2, m2064_15 -# 2065| v2065_4(void) = Call[?] : func:r2065_1, 0:r2065_3 -# 2065| m2065_5(unknown) = ^CallSideEffect : ~m2064_12 -# 2065| m2065_6(unknown) = Chi : total:m2064_12, partial:m2065_5 -# 2066| r2066_1(glval) = VariableAddress[#return] : -# 2066| m2066_2(int) = Uninitialized[#return] : &:r2066_1 -# 2056| r2056_5(glval) = VariableAddress[#return] : -# 2056| v2056_6(void) = ReturnValue : &:r2056_5, m2066_2 -# 2056| v2056_7(void) = AliasedUse : ~m2065_6 -# 2056| v2056_8(void) = ExitFunction : - -# 2070| void test_constant_folding() -# 2070| Block 0 -# 2070| v2070_1(void) = EnterFunction : -# 2070| m2070_2(unknown) = AliasedDefinition : -# 2070| m2070_3(unknown) = InitializeNonLocal : -# 2070| m2070_4(unknown) = Chi : total:m2070_2, partial:m2070_3 -# 2071| r2071_1(glval) = VariableAddress[x] : -# 2071| r2071_2(int) = Constant[116] : -# 2071| m2071_3(int) = Store[x] : &:r2071_1, r2071_2 -# 2072| r2072_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2072| r2072_2(int) = Constant[116] : -# 2072| v2072_3(void) = Call[test_constant_folding_use] : func:r2072_1, 0:r2072_2 -# 2072| m2072_4(unknown) = ^CallSideEffect : ~m2070_4 -# 2072| m2072_5(unknown) = Chi : total:m2070_4, partial:m2072_4 -# 2073| v2073_1(void) = NoOp : -# 2070| v2070_5(void) = ReturnVoid : -# 2070| v2070_6(void) = AliasedUse : ~m2072_5 -# 2070| v2070_7(void) = ExitFunction : - -# 2077| int NonExit() -# 2077| Block 0 -# 2077| v2077_1(void) = EnterFunction : -# 2077| m2077_2(unknown) = AliasedDefinition : -# 2077| m2077_3(unknown) = InitializeNonLocal : -# 2077| m2077_4(unknown) = Chi : total:m2077_2, partial:m2077_3 -# 2078| r2078_1(glval) = VariableAddress[x] : -# 2078| r2078_2(glval) = FunctionAddress[Add] : -# 2078| r2078_3(int) = Constant[3] : -# 2078| r2078_4(int) = Constant[4] : -# 2078| r2078_5(int) = Call[Add] : func:r2078_2, 0:r2078_3, 1:r2078_4 -# 2078| m2078_6(unknown) = ^CallSideEffect : ~m2077_4 -# 2078| m2078_7(unknown) = Chi : total:m2077_4, partial:m2078_6 -# 2078| m2078_8(int) = Store[x] : &:r2078_1, r2078_5 -# 2079| r2079_1(glval) = VariableAddress[x] : -# 2079| r2079_2(int) = Load[x] : &:r2079_1, m2078_8 -# 2079| r2079_3(int) = Constant[7] : -# 2079| r2079_4(bool) = CompareEQ : r2079_2, r2079_3 -# 2079| v2079_5(void) = ConditionalBranch : r2079_4 +# 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 -# 2080| Block 1 -# 2080| r2080_1(glval) = FunctionAddress[exit] : -# 2080| r2080_2(int) = Constant[3] : -# 2080| v2080_3(void) = Call[exit] : func:r2080_1, 0:r2080_2 -# 2080| m2080_4(unknown) = ^CallSideEffect : ~m2078_7 -# 2080| m2080_5(unknown) = Chi : total:m2078_7, partial:m2080_4 -# 2077| v2077_5(void) = Unreached : - -# 2081| Block 2 -# 2081| r2081_1(glval) = FunctionAddress[VoidFunc] : -# 2081| v2081_2(void) = Call[VoidFunc] : func:r2081_1 -# 2081| m2081_3(unknown) = ^CallSideEffect : ~m2078_7 -# 2081| m2081_4(unknown) = Chi : total:m2078_7, partial:m2081_3 -# 2082| r2082_1(glval) = VariableAddress[#return] : -# 2082| r2082_2(glval) = VariableAddress[x] : -# 2082| r2082_3(int) = Load[x] : &:r2082_2, m2078_8 -# 2082| m2082_4(int) = Store[#return] : &:r2082_1, r2082_3 -# 2077| r2077_6(glval) = VariableAddress[#return] : -# 2077| v2077_7(void) = ReturnValue : &:r2077_6, m2082_4 -# 2077| v2077_8(void) = AliasedUse : ~m2081_4 -# 2077| v2077_9(void) = ExitFunction : - -# 2085| void CallsNonExit() -# 2085| Block 0 -# 2085| v2085_1(void) = EnterFunction : -# 2085| m2085_2(unknown) = AliasedDefinition : -# 2085| m2085_3(unknown) = InitializeNonLocal : -# 2085| m2085_4(unknown) = Chi : total:m2085_2, partial:m2085_3 -# 2086| r2086_1(glval) = FunctionAddress[VoidFunc] : -# 2086| v2086_2(void) = Call[VoidFunc] : func:r2086_1 -# 2086| m2086_3(unknown) = ^CallSideEffect : ~m2085_4 -# 2086| m2086_4(unknown) = Chi : total:m2085_4, partial:m2086_3 -# 2087| r2087_1(glval) = FunctionAddress[exit] : -# 2087| r2087_2(int) = Constant[3] : -# 2087| v2087_3(void) = Call[exit] : func:r2087_1, 0:r2087_2 -# 2087| m2087_4(unknown) = ^CallSideEffect : ~m2086_4 -# 2087| m2087_5(unknown) = Chi : total:m2086_4, partial:m2087_4 -# 2085| v2085_5(void) = Unreached : - -# 2090| int TransNonExit() -# 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 -# 2091| r2091_1(glval) = VariableAddress[x] : -# 2091| r2091_2(glval) = FunctionAddress[Add] : -# 2091| r2091_3(int) = Constant[3] : -# 2091| r2091_4(int) = Constant[4] : -# 2091| r2091_5(int) = Call[Add] : func:r2091_2, 0:r2091_3, 1:r2091_4 -# 2091| m2091_6(unknown) = ^CallSideEffect : ~m2090_4 -# 2091| m2091_7(unknown) = Chi : total:m2090_4, partial:m2091_6 -# 2091| m2091_8(int) = Store[x] : &:r2091_1, r2091_5 -# 2092| r2092_1(glval) = VariableAddress[x] : -# 2092| r2092_2(int) = Load[x] : &:r2092_1, m2091_8 -# 2092| r2092_3(int) = Constant[7] : -# 2092| r2092_4(bool) = CompareEQ : r2092_2, r2092_3 -# 2092| v2092_5(void) = ConditionalBranch : r2092_4 +# 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| 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 -# 2093| Block 1 -# 2093| r2093_1(glval) = FunctionAddress[CallsNonExit] : -# 2093| v2093_2(void) = Call[CallsNonExit] : func:r2093_1 -# 2090| v2090_5(void) = Unreached : - -# 2094| Block 2 -# 2094| r2094_1(glval) = FunctionAddress[VoidFunc] : -# 2094| v2094_2(void) = Call[VoidFunc] : func:r2094_1 -# 2094| m2094_3(unknown) = ^CallSideEffect : ~m2091_7 -# 2094| m2094_4(unknown) = Chi : total:m2091_7, partial:m2094_3 -# 2095| r2095_1(glval) = VariableAddress[#return] : -# 2095| r2095_2(glval) = VariableAddress[x] : -# 2095| r2095_3(int) = Load[x] : &:r2095_2, m2091_8 -# 2095| m2095_4(int) = Store[#return] : &:r2095_1, r2095_3 -# 2090| r2090_6(glval) = VariableAddress[#return] : -# 2090| v2090_7(void) = ReturnValue : &:r2090_6, m2095_4 -# 2090| v2090_8(void) = AliasedUse : ~m2094_4 -# 2090| v2090_9(void) = ExitFunction : - -# 2098| void newArrayCorrectType(size_t) -# 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[n] : -# 2098| m2098_6(unsigned long) = InitializeParameter[n] : &:r2098_5 -# 2099| r2099_1(glval) = FunctionAddress[operator new[]] : -# 2099| r2099_2(glval) = VariableAddress[n] : -# 2099| r2099_3(unsigned long) = Load[n] : &:r2099_2, m2098_6 -# 2099| r2099_4(unsigned long) = Constant[4] : -# 2099| r2099_5(unsigned long) = Mul : r2099_3, r2099_4 -# 2099| r2099_6(void *) = Call[operator new[]] : func:r2099_1, 0:r2099_5 -# 2099| m2099_7(unknown) = ^CallSideEffect : ~m2098_4 -# 2099| m2099_8(unknown) = Chi : total:m2098_4, partial:m2099_7 -# 2099| m2099_9(unknown) = ^InitializeDynamicAllocation : &:r2099_6 -# 2099| r2099_10(int *) = Convert : r2099_6 -# 2100| r2100_1(glval) = FunctionAddress[operator new[]] : -# 2100| r2100_2(glval) = VariableAddress[n] : -# 2100| r2100_3(unsigned long) = Load[n] : &:r2100_2, m2098_6 -# 2100| r2100_4(unsigned long) = Constant[4] : -# 2100| r2100_5(unsigned long) = Mul : r2100_3, r2100_4 -# 2100| r2100_6(float) = Constant[1.0] : -# 2100| r2100_7(void *) = Call[operator new[]] : func:r2100_1, 0:r2100_5, 1:r2100_6 -# 2100| m2100_8(unknown) = ^CallSideEffect : ~m2099_8 -# 2100| m2100_9(unknown) = Chi : total:m2099_8, partial:m2100_8 -# 2100| m2100_10(unknown) = ^InitializeDynamicAllocation : &:r2100_7 -# 2100| r2100_11(int *) = Convert : r2100_7 +# 2095| Block 1 +# 2095| r2095_1(glval) = FunctionAddress[CallsNonExit] : +# 2095| v2095_2(void) = Call[CallsNonExit] : func:r2095_1 +# 2092| v2092_5(void) = Unreached : + +# 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 : + +# 2100| void newArrayCorrectType(size_t) +# 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, m2098_6 -# 2101| r2101_4(unsigned long) = Constant[8] : +# 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_9 -# 2101| m2101_8(unknown) = Chi : total:m2100_9, partial:m2101_7 +# 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(String *) = Convert : 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, m2098_6 -# 2102| r2102_4(unsigned long) = Constant[256] : +# 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(align_val_t) = Constant[128] : +# 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(Overaligned *) = Convert : 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, m2098_6 -# 2103| r2103_4(unsigned long) = Constant[1] : +# 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(DefaultCtorWithDefaultParam *) = Convert : 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, m2098_6 -# 2104| r2104_4(unsigned long) = Constant[4] : +# 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(void *) = Call[operator new[]] : func:r2104_1, 0:r2104_5 -# 2104| m2104_7(unknown) = ^CallSideEffect : ~m2103_8 -# 2104| m2104_8(unknown) = Chi : total:m2103_8, partial:m2104_7 -# 2104| m2104_9(unknown) = ^InitializeDynamicAllocation : &:r2104_6 -# 2104| r2104_10(int *) = Convert : r2104_6 -# 2105| v2105_1(void) = NoOp : -# 2098| v2098_7(void) = ReturnVoid : -# 2098| v2098_8(void) = AliasedUse : ~m2104_8 -# 2098| v2098_9(void) = ExitFunction : - -# 2109| char* test_strtod(char*) -# 2109| Block 0 -# 2109| v2109_1(void) = EnterFunction : -# 2109| m2109_2(unknown) = AliasedDefinition : -# 2109| m2109_3(unknown) = InitializeNonLocal : -# 2109| m2109_4(unknown) = Chi : total:m2109_2, partial:m2109_3 -# 2109| r2109_5(glval) = VariableAddress[s] : -# 2109| m2109_6(char *) = InitializeParameter[s] : &:r2109_5 -# 2109| r2109_7(char *) = Load[s] : &:r2109_5, m2109_6 -# 2109| m2109_8(unknown) = InitializeIndirection[s] : &:r2109_7 -# 2110| r2110_1(glval) = VariableAddress[end] : -# 2110| m2110_2(char *) = Uninitialized[end] : &:r2110_1 -# 2111| r2111_1(glval) = VariableAddress[d] : -# 2111| r2111_2(glval) = FunctionAddress[strtod] : -# 2111| r2111_3(glval) = VariableAddress[s] : -# 2111| r2111_4(char *) = Load[s] : &:r2111_3, m2109_6 -# 2111| r2111_5(char *) = Convert : r2111_4 -# 2111| r2111_6(glval) = VariableAddress[end] : -# 2111| r2111_7(char **) = CopyValue : r2111_6 -# 2111| r2111_8(double) = Call[strtod] : func:r2111_2, 0:r2111_5, 1:r2111_7 -# 2111| v2111_9(void) = ^BufferReadSideEffect[0] : &:r2111_5, ~m2109_8 -# 2111| m2111_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2111_7 -# 2111| m2111_11(char *) = Chi : total:m2110_2, partial:m2111_10 -# 2111| m2111_12(double) = Store[d] : &:r2111_1, r2111_8 -# 2112| r2112_1(glval) = VariableAddress[#return] : -# 2112| r2112_2(glval) = VariableAddress[end] : -# 2112| r2112_3(char *) = Load[end] : &:r2112_2, m2111_11 -# 2112| m2112_4(char *) = Store[#return] : &:r2112_1, r2112_3 -# 2109| v2109_9(void) = ReturnIndirection[s] : &:r2109_7, m2109_8 -# 2109| r2109_10(glval) = VariableAddress[#return] : -# 2109| v2109_11(void) = ReturnValue : &:r2109_10, m2112_4 -# 2109| v2109_12(void) = AliasedUse : m2109_3 -# 2109| v2109_13(void) = ExitFunction : - -# 2119| void call_as_child_of_ConditionDeclExpr() -# 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[b] : -# 2120| r2120_2(HasOperatorBool) = Constant[0] : -# 2120| m2120_3(HasOperatorBool) = Store[b] : &:r2120_1, r2120_2 -# 2120| r2120_4(glval) = VariableAddress[b] : -# 2120| r2120_5(glval) = FunctionAddress[operator bool] : -# 2120| r2120_6(bool) = Call[operator bool] : func:r2120_5, this:r2120_4 -# 2120| m2120_7(unknown) = ^CallSideEffect : ~m2119_4 -# 2120| m2120_8(unknown) = Chi : total:m2119_4, partial:m2120_7 -# 2120| v2120_9(void) = ^IndirectReadSideEffect[-1] : &:r2120_4, m2120_3 -# 2120| m2120_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2120_4 -# 2120| m2120_11(HasOperatorBool) = Chi : total:m2120_3, partial:m2120_10 -# 2120| r2120_12(bool) = CopyValue : r2120_6 -# 2120| v2120_13(void) = ConditionalBranch : r2120_12 +# 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 : + +# 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 : + +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 2120| Block 1 -# 2120| v2120_14(void) = NoOp : +# 2122| Block 1 +# 2122| v2122_14(void) = NoOp : #-----| Goto -> Block 2 -# 2121| Block 2 -# 2121| v2121_1(void) = NoOp : -# 2119| v2119_5(void) = ReturnVoid : -# 2119| v2119_6(void) = AliasedUse : ~m2120_8 -# 2119| v2119_7(void) = ExitFunction : +# 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 : + +# 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 +#-----| 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 +#-----| 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 : + +# 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 : + +# 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 : + +# 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 : + +# 2134| bool initialization_with_destructor_bool +# 2134| Block 0 +# 2134| v2134_1(void) = EnterFunction : +# 2134| m2134_2(unknown) = AliasedDefinition : +# 2134| r2134_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2134| r2134_4(bool) = Constant[1] : +# 2134| m2134_5(bool) = Store[initialization_with_destructor_bool] : &:r2134_3, r2134_4 +# 2134| m2134_6(unknown) = Chi : total:m2134_2, partial:m2134_5 +# 2134| v2134_7(void) = ReturnVoid : +# 2134| v2134_8(void) = AliasedUse : ~m2134_6 +# 2134| v2134_9(void) = ExitFunction : + +# 2136| void initialization_with_destructor(bool, char) +# 2136| Block 0 +# 2136| v2136_1(void) = EnterFunction : +# 2136| m2136_2(unknown) = AliasedDefinition : +# 2136| m2136_3(unknown) = InitializeNonLocal : +# 2136| m2136_4(unknown) = Chi : total:m2136_2, partial:m2136_3 +# 2136| r2136_5(glval) = VariableAddress[b] : +# 2136| m2136_6(bool) = InitializeParameter[b] : &:r2136_5 +# 2136| r2136_7(glval) = VariableAddress[c] : +# 2136| m2136_8(char) = InitializeParameter[c] : &:r2136_7 +# 2137| r2137_1(glval) = VariableAddress[x] : +# 2137| m2137_2(ClassWithDestructor) = Uninitialized[x] : &:r2137_1 +# 2137| r2137_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2137| v2137_4(void) = Call[ClassWithDestructor] : func:r2137_3, this:r2137_1 +# 2137| m2137_5(unknown) = ^CallSideEffect : ~m2136_4 +# 2137| m2137_6(unknown) = Chi : total:m2136_4, partial:m2137_5 +# 2137| m2137_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2137_1 +# 2137| m2137_8(ClassWithDestructor) = Chi : total:m2137_2, partial:m2137_7 +# 2137| r2137_9(glval) = VariableAddress[b] : +# 2137| r2137_10(bool) = Load[b] : &:r2137_9, m2136_6 +# 2137| v2137_11(void) = ConditionalBranch : r2137_10 +#-----| True -> Block 1 + +# 2138| Block 1 +# 2138| r2138_1(glval) = VariableAddress[x] : +# 2138| r2138_2(glval) = FunctionAddress[set_x] : +# 2138| r2138_3(char) = Constant[97] : +# 2138| v2138_4(void) = Call[set_x] : func:r2138_2, this:r2138_1, 0:r2138_3 +# 2138| m2138_5(unknown) = ^CallSideEffect : ~m2137_6 +# 2138| m2138_6(unknown) = Chi : total:m2137_6, partial:m2138_5 +# 2138| v2138_7(void) = ^IndirectReadSideEffect[-1] : &:r2138_1, m2137_8 +# 2138| m2138_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1 +# 2138| m2138_9(ClassWithDestructor) = Chi : total:m2137_8, partial:m2138_8 perf-regression.cpp: # 6| void Big::Big() diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected index b93c7d2649f8..b027437d48a9 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected @@ -6,6 +6,7 @@ missingOperandType duplicateChiOperand sideEffectWithoutPrimary instructionWithoutSuccessor +| ir.cpp:2138:9:2138:9 | Chi: x | Instruction 'Chi: x' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | ambiguousSuccessors unexplainedLoop unnecessaryPhiInstruction diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected index b93c7d2649f8..b027437d48a9 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected @@ -6,6 +6,7 @@ missingOperandType duplicateChiOperand sideEffectWithoutPrimary instructionWithoutSuccessor +| ir.cpp:2138:9:2138:9 | Chi: x | Instruction 'Chi: x' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | ambiguousSuccessors unexplainedLoop unnecessaryPhiInstruction diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index ce03076f0c36..cd702fcb265b 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -1065,6 +1065,8 @@ struct vector { bool operator!=(iterator right) const; }; + vector(T); + ~vector(); iterator begin() const; iterator end() const; }; @@ -2120,4 +2122,36 @@ void call_as_child_of_ConditionDeclExpr() { if(HasOperatorBool b = HasOperatorBool()) {} } -// semmle-extractor-options: -std=c++17 --clang +class ClassWithDestructor { + char *x; +public: + ClassWithDestructor() { x = new char; } + ~ClassWithDestructor() { delete x; } + + void set_x(char y) { *x = y; } +}; + +constexpr bool initialization_with_destructor_bool = true; + +void initialization_with_destructor(bool b, char c) { + if (ClassWithDestructor x; b) + x.set_x('a'); + + if constexpr (ClassWithDestructor x; initialization_with_destructor_bool) + x.set_x('a'); + + switch(ClassWithDestructor x; c) { + case 'a': + x.set_x('a'); + break; + default: + x.set_x('b'); + break; + } + + ClassWithDestructor x; + for(vector ys(x); ClassWithDestructor y : ys) + y.set_x('a'); +} + +// semmle-extractor-options: -std=c++20 --clang 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 2af9a3488e08..b460df9ea59c 100644 --- a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected +++ b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected @@ -688,6 +688,8 @@ | file://:0:0:0:0 | Address | &:r0_1 | | file://:0:0:0:0 | Address | &:r0_1 | | file://:0:0:0:0 | Address | &:r0_1 | +| file://:0:0:0:0 | Address | &:r0_1 | +| file://:0:0:0:0 | Address | &:r0_1 | | file://:0:0:0:0 | Address | &:r0_2 | | file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_3 | @@ -720,6 +722,8 @@ | file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_3 | +| file://:0:0:0:0 | Address | &:r0_3 | +| file://:0:0:0:0 | Address | &:r0_3 | | file://:0:0:0:0 | Address | &:r0_4 | | file://:0:0:0:0 | Address | &:r0_4 | | file://:0:0:0:0 | Address | &:r0_5 | @@ -794,12 +798,12 @@ | 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:m1240_4 | -| file://:0:0:0:0 | ChiTotal | total:m1688_3 | -| file://:0:0:0:0 | ChiTotal | total:m1716_8 | -| file://:0:0:0:0 | ChiTotal | total:m1716_19 | -| file://:0:0:0:0 | ChiTotal | total:m1834_8 | -| file://:0:0:0:0 | ChiTotal | total:m1839_8 | +| 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 | Left | r0_2 | | file://:0:0:0:0 | Left | r0_4 | | file://:0:0:0:0 | Left | r0_7 | @@ -821,6 +825,7 @@ | file://:0:0:0:0 | Load | m0_2 | | file://:0:0:0:0 | Load | m0_2 | | file://:0:0:0:0 | Load | m0_2 | +| file://:0:0:0:0 | Load | m0_2 | | file://:0:0:0:0 | Load | m0_5 | | file://:0:0:0:0 | Load | m0_8 | | file://:0:0:0:0 | Load | m0_11 | @@ -829,18 +834,18 @@ | 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 | m1466_4 | -| file://:0:0:0:0 | Load | m1466_4 | -| file://:0:0:0:0 | Load | m1685_9 | -| file://:0:0:0:0 | Load | m1714_4 | -| file://:0:0:0:0 | Load | m1834_6 | -| file://:0:0:0:0 | Load | m1834_6 | -| file://:0:0:0:0 | Load | m1839_6 | -| file://:0:0:0:0 | Load | m2013_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 | ~m0_4 | -| file://:0:0:0:0 | Load | ~m1444_6 | -| file://:0:0:0:0 | Load | ~m1712_10 | -| file://:0:0:0:0 | Load | ~m1712_14 | +| 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 | Right | r0_3 | | file://:0:0:0:0 | Right | r0_5 | | file://:0:0:0:0 | Right | r0_8 | @@ -859,11 +864,12 @@ | file://:0:0:0:0 | SideEffect | m0_4 | | file://:0:0:0:0 | SideEffect | m0_4 | | 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 | m1078_23 | -| file://:0:0:0:0 | SideEffect | m1078_23 | -| file://:0:0:0:0 | SideEffect | m1084_23 | -| file://:0:0:0:0 | SideEffect | m1084_23 | +| 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 | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | @@ -873,13 +879,13 @@ | 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 | ~m1077_8 | -| file://:0:0:0:0 | SideEffect | ~m1077_8 | -| file://:0:0:0:0 | SideEffect | ~m1077_8 | -| file://:0:0:0:0 | SideEffect | ~m1077_8 | -| file://:0:0:0:0 | SideEffect | ~m1240_4 | -| file://:0:0:0:0 | SideEffect | ~m1447_6 | -| file://:0:0:0:0 | SideEffect | ~m1839_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 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | @@ -5525,4568 +5531,4684 @@ | ir.cpp:1055:15:1055:15 | ChiTotal | total:m1052_7 | | ir.cpp:1055:15:1055:15 | SideEffect | ~m1052_7 | | ir.cpp:1055:16:1055:16 | Arg(0) | 0:r1055_4 | -| ir.cpp:1077:6:1077:18 | ChiPartial | partial:m1077_3 | -| ir.cpp:1077:6:1077:18 | ChiTotal | total:m1077_2 | -| ir.cpp:1077:6:1077:18 | SideEffect | ~m1088_1 | -| ir.cpp:1077:39:1077:39 | Address | &:r1077_5 | -| ir.cpp:1077:39:1077:39 | Address | &:r1077_5 | -| ir.cpp:1077:39:1077:39 | Address | &:r1077_7 | -| ir.cpp:1077:39:1077:39 | Address | &:r1077_7 | -| ir.cpp:1077:39:1077:39 | Load | m1077_6 | -| ir.cpp:1077:39:1077:39 | SideEffect | m1077_8 | -| ir.cpp:1078:5:1082:5 | Address | &:r1078_1 | -| ir.cpp:1078:5:1082:5 | Address | &:r1078_7 | -| ir.cpp:1078:5:1082:5 | Address | &:r1078_15 | -| ir.cpp:1078:5:1082:5 | Address | &:r1078_33 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_2 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_8 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_16 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_27 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_36 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_42 | -| ir.cpp:1078:18:1078:18 | Address | &:r1078_42 | -| ir.cpp:1078:18:1078:18 | Arg(0) | 0:r1078_28 | -| ir.cpp:1078:18:1078:18 | Arg(this) | this:r0_1 | -| ir.cpp:1078:18:1078:18 | Arg(this) | this:r0_3 | -| ir.cpp:1078:18:1078:18 | Arg(this) | this:r0_5 | -| ir.cpp:1078:18:1078:18 | Arg(this) | this:r0_7 | -| ir.cpp:1078:18:1078:18 | Arg(this) | this:r1078_42 | -| ir.cpp:1078:18:1078:18 | CallTarget | func:r1078_10 | -| ir.cpp:1078:18:1078:18 | CallTarget | func:r1078_18 | -| ir.cpp:1078:18:1078:18 | CallTarget | func:r1078_26 | -| ir.cpp:1078:18:1078:18 | CallTarget | func:r1078_35 | -| ir.cpp:1078:18:1078:18 | CallTarget | func:r1078_43 | -| ir.cpp:1078:18:1078:18 | ChiPartial | partial:m1078_12 | -| ir.cpp:1078:18:1078:18 | ChiPartial | partial:m1078_20 | -| ir.cpp:1078:18:1078:18 | ChiPartial | partial:m1078_30 | -| ir.cpp:1078:18:1078:18 | ChiPartial | partial:m1078_37 | -| ir.cpp:1078:18:1078:18 | ChiPartial | partial:m1078_45 | -| ir.cpp:1078:18:1078:18 | ChiPartial | partial:m1078_48 | -| ir.cpp:1078:18:1078:18 | ChiTotal | total:m1077_4 | -| ir.cpp:1078:18:1078:18 | ChiTotal | total:m1078_13 | -| ir.cpp:1078:18:1078:18 | ChiTotal | total:m1078_23 | -| ir.cpp:1078:18:1078:18 | ChiTotal | total:m1078_24 | -| ir.cpp:1078:18:1078:18 | ChiTotal | total:m1078_31 | -| ir.cpp:1078:18:1078:18 | ChiTotal | total:m1078_38 | -| ir.cpp:1078:18:1078:18 | Condition | r1078_29 | -| ir.cpp:1078:18:1078:18 | Load | m1077_6 | -| ir.cpp:1078:18:1078:18 | Load | m1078_6 | -| ir.cpp:1078:18:1078:18 | Load | m1078_6 | -| ir.cpp:1078:18:1078:18 | Load | m1078_22 | -| ir.cpp:1078:18:1078:18 | Phi | from 0:m1078_14 | -| ir.cpp:1078:18:1078:18 | Phi | from 0:~m1078_21 | -| ir.cpp:1078:18:1078:18 | Phi | from 4:m1078_49 | -| ir.cpp:1078:18:1078:18 | Phi | from 4:~m1078_46 | -| ir.cpp:1078:18:1078:18 | SideEffect | m1078_23 | -| ir.cpp:1078:18:1078:18 | SideEffect | ~m1077_4 | -| ir.cpp:1078:18:1078:18 | SideEffect | ~m1078_13 | -| ir.cpp:1078:18:1078:18 | SideEffect | ~m1078_24 | -| ir.cpp:1078:18:1078:18 | SideEffect | ~m1078_31 | -| ir.cpp:1078:18:1078:18 | SideEffect | ~m1078_38 | -| ir.cpp:1078:18:1078:18 | StoreValue | r1078_5 | -| ir.cpp:1078:18:1078:18 | StoreValue | r1078_11 | -| ir.cpp:1078:18:1078:18 | StoreValue | r1078_19 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_3 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_4 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_9 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_17 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_25 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_34 | -| ir.cpp:1078:18:1078:18 | Unary | r1078_44 | -| ir.cpp:1078:18:1078:19 | Load | ~m1078_38 | -| ir.cpp:1078:18:1078:19 | StoreValue | r1078_39 | -| ir.cpp:1079:13:1079:13 | Address | &:r1079_1 | -| ir.cpp:1079:13:1079:13 | Left | r1079_2 | -| ir.cpp:1079:13:1079:13 | Load | m1078_40 | -| ir.cpp:1079:13:1079:17 | Condition | r1079_4 | -| ir.cpp:1079:17:1079:17 | Right | r1079_3 | -| ir.cpp:1084:5:1088:5 | Address | &:r1084_1 | -| ir.cpp:1084:5:1088:5 | Address | &:r1084_7 | -| ir.cpp:1084:5:1088:5 | Address | &:r1084_15 | -| ir.cpp:1084:5:1088:5 | Address | &:r1084_42 | -| ir.cpp:1084:25:1084:25 | Address | &:r1084_2 | -| ir.cpp:1084:25:1084:25 | Address | &:r1084_8 | -| ir.cpp:1084:25:1084:25 | Address | &:r1084_16 | -| ir.cpp:1084:25:1084:25 | Address | &:r1084_27 | -| ir.cpp:1084:25:1084:25 | Address | &:r1084_33 | -| ir.cpp:1084:25:1084:25 | Address | &:r1084_33 | -| ir.cpp:1084:25:1084:25 | Arg(0) | 0:r1084_28 | -| ir.cpp:1084:25:1084:25 | Arg(this) | this:r0_9 | -| ir.cpp:1084:25:1084:25 | Arg(this) | this:r0_11 | -| ir.cpp:1084:25:1084:25 | Arg(this) | this:r0_13 | -| ir.cpp:1084:25:1084:25 | Arg(this) | this:r0_15 | -| ir.cpp:1084:25:1084:25 | Arg(this) | this:r1084_33 | -| ir.cpp:1084:25:1084:25 | CallTarget | func:r1084_10 | -| ir.cpp:1084:25:1084:25 | CallTarget | func:r1084_18 | -| ir.cpp:1084:25:1084:25 | CallTarget | func:r1084_26 | -| ir.cpp:1084:25:1084:25 | CallTarget | func:r1084_34 | -| ir.cpp:1084:25:1084:25 | CallTarget | func:r1084_44 | -| ir.cpp:1084:25:1084:25 | ChiPartial | partial:m1084_12 | -| ir.cpp:1084:25:1084:25 | ChiPartial | partial:m1084_20 | -| ir.cpp:1084:25:1084:25 | ChiPartial | partial:m1084_30 | -| ir.cpp:1084:25:1084:25 | ChiPartial | partial:m1084_36 | -| ir.cpp:1084:25:1084:25 | ChiPartial | partial:m1084_39 | -| ir.cpp:1084:25:1084:25 | ChiPartial | partial:m1084_46 | -| ir.cpp:1084:25:1084:25 | ChiTotal | total:m1078_31 | -| ir.cpp:1084:25:1084:25 | ChiTotal | total:m1084_13 | -| ir.cpp:1084:25:1084:25 | ChiTotal | total:m1084_23 | -| ir.cpp:1084:25:1084:25 | ChiTotal | total:m1084_24 | -| ir.cpp:1084:25:1084:25 | ChiTotal | total:m1084_31 | -| ir.cpp:1084:25:1084:25 | ChiTotal | total:m1084_47 | -| ir.cpp:1084:25:1084:25 | Condition | r1084_29 | -| ir.cpp:1084:25:1084:25 | Load | m1077_6 | -| ir.cpp:1084:25:1084:25 | Load | m1084_6 | -| ir.cpp:1084:25:1084:25 | Load | m1084_6 | -| ir.cpp:1084:25:1084:25 | Load | m1084_22 | -| ir.cpp:1084:25:1084:25 | Phi | from 5:m1084_14 | -| ir.cpp:1084:25:1084:25 | Phi | from 5:~m1084_21 | -| ir.cpp:1084:25:1084:25 | Phi | from 7:m1084_40 | -| ir.cpp:1084:25:1084:25 | Phi | from 7:~m1084_37 | -| ir.cpp:1084:25:1084:25 | SideEffect | m1084_23 | -| ir.cpp:1084:25:1084:25 | SideEffect | ~m1078_31 | -| ir.cpp:1084:25:1084:25 | SideEffect | ~m1084_13 | -| ir.cpp:1084:25:1084:25 | SideEffect | ~m1084_24 | -| ir.cpp:1084:25:1084:25 | SideEffect | ~m1084_31 | -| ir.cpp:1084:25:1084:25 | SideEffect | ~m1084_47 | -| ir.cpp:1084:25:1084:25 | StoreValue | r1084_5 | -| ir.cpp:1084:25:1084:25 | StoreValue | r1084_11 | -| ir.cpp:1084:25:1084:25 | StoreValue | r1084_19 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_3 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_4 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_9 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_17 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_25 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_35 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_43 | -| ir.cpp:1084:25:1084:25 | Unary | r1084_45 | -| ir.cpp:1084:25:1084:26 | StoreValue | r1084_50 | -| ir.cpp:1084:25:1084:26 | Unary | r1084_48 | -| ir.cpp:1084:25:1084:26 | Unary | r1084_49 | -| ir.cpp:1085:13:1085:13 | Address | &:r1085_1 | -| ir.cpp:1085:13:1085:13 | Address | &:r1085_2 | -| ir.cpp:1085:13:1085:13 | Left | r1085_3 | -| ir.cpp:1085:13:1085:13 | Load | m1084_51 | -| ir.cpp:1085:13:1085:13 | Load | ~m1084_47 | -| ir.cpp:1085:13:1085:17 | Condition | r1085_5 | -| ir.cpp:1085:17:1085:17 | Right | r1085_4 | -| ir.cpp:1088:5:1088:5 | Phi | from 6:~m1084_31 | -| ir.cpp:1088:5:1088:5 | Phi | from 9:~m1084_47 | -| ir.cpp:1108:5:1108:11 | Address | &:r1108_7 | -| ir.cpp:1108:5:1108:11 | ChiPartial | partial:m1108_3 | -| ir.cpp:1108:5:1108:11 | ChiTotal | total:m1108_2 | -| ir.cpp:1108:5:1108:11 | Load | m1110_4 | -| ir.cpp:1108:5:1108:11 | SideEffect | ~m1109_2 | -| ir.cpp:1108:17:1108:17 | Address | &:r1108_5 | -| ir.cpp:1109:3:1109:14 | ChiPartial | partial:m1109_1 | -| ir.cpp:1109:3:1109:14 | ChiTotal | total:m1108_4 | -| ir.cpp:1109:3:1109:14 | SideEffect | ~m1108_4 | -| ir.cpp:1110:3:1110:11 | Address | &:r1110_1 | -| ir.cpp:1110:10:1110:10 | Address | &:r1110_2 | -| ir.cpp:1110:10:1110:10 | Load | m1108_6 | -| ir.cpp:1110:10:1110:10 | StoreValue | r1110_3 | -| ir.cpp:1113:13:1113:30 | ChiPartial | partial:m1113_3 | -| ir.cpp:1113:13:1113:30 | ChiTotal | total:m1113_2 | -| ir.cpp:1113:13:1113:30 | SideEffect | ~m1115_2 | -| ir.cpp:1113:46:1113:46 | Address | &:r1113_5 | -| ir.cpp:1113:46:1113:46 | Address | &:r1113_5 | -| ir.cpp:1113:46:1113:46 | Address | &:r1113_7 | -| ir.cpp:1113:46:1113:46 | Address | &:r1113_7 | -| ir.cpp:1113:46:1113:46 | Load | m1113_6 | -| ir.cpp:1113:46:1113:46 | SideEffect | m1113_8 | -| ir.cpp:1113:62:1113:62 | Address | &:r1113_9 | -| ir.cpp:1113:79:1113:79 | Address | &:r1113_11 | -| ir.cpp:1113:79:1113:79 | Address | &:r1113_11 | -| ir.cpp:1113:79:1113:79 | Address | &:r1113_13 | -| ir.cpp:1113:79:1113:79 | Address | &:r1113_13 | -| ir.cpp:1113:79:1113:79 | Load | m1113_12 | -| ir.cpp:1113:79:1113:79 | SideEffect | m1113_14 | -| ir.cpp:1113:95:1113:95 | Address | &:r1113_15 | -| ir.cpp:1115:3:1119:6 | ChiPartial | partial:m1115_1 | -| ir.cpp:1115:3:1119:6 | ChiTotal | total:m1113_4 | -| ir.cpp:1115:3:1119:6 | SideEffect | ~m1113_4 | -| ir.cpp:1118:13:1118:13 | Address | &:r1118_1 | -| ir.cpp:1118:13:1118:13 | AsmOperand(0) | 0:r1118_3 | -| ir.cpp:1118:13:1118:13 | Load | m1113_6 | -| ir.cpp:1118:13:1118:13 | Unary | r1118_2 | -| ir.cpp:1118:23:1118:23 | AsmOperand(1) | 1:r1118_4 | -| ir.cpp:1118:33:1118:33 | Address | &:r1118_5 | -| ir.cpp:1118:33:1118:33 | Address | &:r1118_6 | -| ir.cpp:1118:33:1118:33 | AsmOperand(2) | 2:r1118_7 | -| ir.cpp:1118:33:1118:33 | Load | m1113_12 | -| ir.cpp:1118:33:1118:33 | Load | ~m1113_14 | -| ir.cpp:1118:42:1118:42 | Address | &:r1118_8 | -| ir.cpp:1118:42:1118:42 | AsmOperand(3) | 3:r1118_9 | -| ir.cpp:1118:42:1118:42 | Load | m1113_16 | -| ir.cpp:1122:6:1122:23 | ChiPartial | partial:m1122_3 | -| ir.cpp:1122:6:1122:23 | ChiTotal | total:m1122_2 | -| ir.cpp:1122:6:1122:23 | SideEffect | m1122_3 | -| ir.cpp:1125:9:1125:9 | Address | &:r1125_1 | -| ir.cpp:1126:9:1126:9 | Address | &:r1126_1 | -| ir.cpp:1127:29:1127:29 | Address | &:r1127_1 | -| ir.cpp:1137:6:1137:30 | ChiPartial | partial:m1137_3 | -| ir.cpp:1137:6:1137:30 | ChiTotal | total:m1137_2 | -| ir.cpp:1137:6:1137:30 | SideEffect | m1137_3 | -| ir.cpp:1139:5:1139:20 | Address | &:r1139_1 | -| ir.cpp:1139:5:1139:20 | Address | &:r1139_5 | -| ir.cpp:1139:5:1139:20 | Address | &:r1139_10 | -| ir.cpp:1139:5:1139:20 | Address | &:r1139_10 | -| ir.cpp:1139:5:1139:20 | Condition | r1139_8 | -| ir.cpp:1139:5:1139:20 | Left | r1139_6 | -| ir.cpp:1139:5:1139:20 | Left | r1139_11 | -| ir.cpp:1139:5:1139:20 | Load | m1139_4 | -| ir.cpp:1139:5:1139:20 | Load | m1139_4 | -| ir.cpp:1139:5:1139:20 | Phi | from 0:m1139_3 | -| ir.cpp:1139:5:1139:20 | Phi | from 2:m1139_14 | -| ir.cpp:1139:5:1139:20 | Right | r1139_7 | -| ir.cpp:1139:5:1139:20 | Right | r1139_12 | -| ir.cpp:1139:5:1139:20 | StoreValue | r1139_2 | -| ir.cpp:1139:5:1139:20 | StoreValue | r1139_13 | -| ir.cpp:1142:6:1142:23 | ChiPartial | partial:m1142_3 | -| ir.cpp:1142:6:1142:23 | ChiTotal | total:m1142_2 | -| ir.cpp:1142:6:1142:23 | Phi | from 2:~m1142_10 | -| ir.cpp:1142:6:1142:23 | Phi | from 7:~m1154_8 | -| ir.cpp:1142:6:1142:23 | Phi | from 8:~m1142_4 | -| ir.cpp:1142:6:1142:23 | Phi | from 10:~m1142_4 | -| ir.cpp:1142:6:1142:23 | SideEffect | ~m1142_7 | -| ir.cpp:1142:30:1142:30 | Address | &:r1142_5 | -| ir.cpp:1144:9:1144:9 | Address | &:r1144_1 | -| ir.cpp:1144:12:1144:13 | StoreValue | r1144_2 | -| ir.cpp:1145:9:1145:9 | Address | &:r1145_1 | -| ir.cpp:1145:9:1145:9 | Condition | r1145_2 | -| ir.cpp:1145:9:1145:9 | Load | m1142_6 | -| ir.cpp:1146:7:1146:28 | Address | &:r1146_1 | -| ir.cpp:1146:7:1146:28 | Address | &:r1146_1 | -| ir.cpp:1146:7:1146:28 | Load | m1146_4 | -| ir.cpp:1146:13:1146:28 | StoreValue | r1146_3 | -| ir.cpp:1146:13:1146:28 | Unary | r1146_2 | -| ir.cpp:1148:14:1148:14 | Address | &:r1148_1 | -| ir.cpp:1148:14:1148:14 | Left | r1148_2 | -| ir.cpp:1148:14:1148:14 | Load | m1144_3 | -| ir.cpp:1148:14:1148:18 | Condition | r1148_4 | -| ir.cpp:1148:18:1148:18 | Right | r1148_3 | -| ir.cpp:1151:5:1151:5 | Address | &:r1151_2 | -| ir.cpp:1151:9:1151:9 | StoreValue | r1151_1 | -| ir.cpp:1153:22:1153:22 | Address | &:r1153_2 | -| ir.cpp:1153:22:1153:22 | Address | &:r1153_2 | -| ir.cpp:1153:22:1153:22 | Address | &:r1153_4 | -| ir.cpp:1153:22:1153:22 | Load | m1153_3 | -| ir.cpp:1154:5:1154:19 | Address | &:r1154_1 | -| ir.cpp:1154:5:1154:19 | Address | &:r1154_1 | -| ir.cpp:1154:5:1154:19 | Address | &:r1154_1 | -| ir.cpp:1154:5:1154:19 | Arg(this) | this:r1154_1 | -| ir.cpp:1154:5:1154:19 | CallTarget | func:r1154_3 | -| ir.cpp:1154:5:1154:19 | ChiPartial | partial:m1154_7 | -| ir.cpp:1154:5:1154:19 | ChiPartial | partial:m1154_10 | -| ir.cpp:1154:5:1154:19 | ChiTotal | total:m1142_4 | -| ir.cpp:1154:5:1154:19 | ChiTotal | total:m1154_2 | -| ir.cpp:1154:5:1154:19 | Load | m1154_11 | -| ir.cpp:1154:5:1154:19 | SideEffect | ~m1142_4 | -| ir.cpp:1154:18:1154:18 | Address | &:r1154_4 | -| ir.cpp:1154:18:1154:18 | Address | &:r1154_5 | -| ir.cpp:1154:18:1154:18 | Arg(0) | 0:r1154_5 | -| ir.cpp:1154:18:1154:18 | Load | m1153_3 | -| ir.cpp:1154:18:1154:18 | SideEffect | ~m1153_5 | -| ir.cpp:1156:24:1156:24 | Address | &:r1156_2 | -| ir.cpp:1156:24:1156:24 | Address | &:r1156_2 | -| ir.cpp:1156:24:1156:24 | Address | &:r1156_4 | -| ir.cpp:1156:24:1156:24 | Load | m1156_3 | -| ir.cpp:1162:6:1162:16 | ChiPartial | partial:m1162_3 | -| ir.cpp:1162:6:1162:16 | ChiTotal | total:m1162_2 | -| ir.cpp:1162:6:1162:16 | SideEffect | m1162_3 | -| ir.cpp:1162:22:1162:22 | Address | &:r1162_5 | -| ir.cpp:1163:18:1163:20 | Address | &:r1163_1 | -| ir.cpp:1163:18:1163:20 | Left | r1163_1 | -| ir.cpp:1163:18:1163:20 | Left | r1163_1 | -| ir.cpp:1163:18:1163:20 | Left | r1163_1 | -| ir.cpp:1163:18:1163:20 | Left | r1163_1 | -| ir.cpp:1163:23:1163:37 | Address | &:r1163_4 | -| ir.cpp:1163:23:1163:37 | Address | &:r1163_9 | -| ir.cpp:1163:23:1163:37 | Address | &:r1163_14 | -| ir.cpp:1163:23:1163:37 | Address | &:r1163_19 | -| ir.cpp:1163:23:1163:37 | Right | r1163_3 | -| ir.cpp:1163:23:1163:37 | Right | r1163_8 | -| ir.cpp:1163:23:1163:37 | Right | r1163_13 | -| ir.cpp:1163:23:1163:37 | Right | r1163_18 | -| ir.cpp:1163:26:1163:26 | ChiPartial | partial:m1163_6 | -| ir.cpp:1163:26:1163:26 | ChiTotal | total:m1163_2 | -| ir.cpp:1163:26:1163:26 | StoreValue | r1163_5 | -| ir.cpp:1163:29:1163:29 | ChiPartial | partial:m1163_11 | -| ir.cpp:1163:29:1163:29 | ChiTotal | total:m1163_7 | -| ir.cpp:1163:29:1163:29 | StoreValue | r1163_10 | -| ir.cpp:1163:32:1163:32 | ChiPartial | partial:m1163_16 | -| ir.cpp:1163:32:1163:32 | ChiTotal | total:m1163_12 | -| ir.cpp:1163:32:1163:32 | StoreValue | r1163_15 | -| ir.cpp:1163:35:1163:35 | ChiPartial | partial:m1163_21 | -| ir.cpp:1163:35:1163:35 | ChiTotal | total:m1163_17 | -| ir.cpp:1163:35:1163:35 | StoreValue | r1163_20 | -| ir.cpp:1164:7:1164:7 | Address | &:r1164_1 | -| ir.cpp:1164:11:1164:13 | Left | r1164_2 | -| ir.cpp:1164:11:1164:16 | Address | &:r1164_5 | -| ir.cpp:1164:11:1164:16 | Load | ~m1163_22 | -| ir.cpp:1164:11:1164:16 | StoreValue | r1164_6 | -| ir.cpp:1164:15:1164:15 | Address | &:r1164_3 | -| ir.cpp:1164:15:1164:15 | Load | m1162_6 | -| ir.cpp:1164:15:1164:15 | Right | r1164_4 | -| ir.cpp:1165:3:1165:5 | Left | r1165_3 | -| ir.cpp:1165:3:1165:8 | Address | &:r1165_6 | -| ir.cpp:1165:3:1165:12 | ChiPartial | partial:m1165_7 | -| ir.cpp:1165:3:1165:12 | ChiTotal | total:m1163_22 | -| ir.cpp:1165:7:1165:7 | Address | &:r1165_4 | -| ir.cpp:1165:7:1165:7 | Load | m1162_6 | -| ir.cpp:1165:7:1165:7 | Right | r1165_5 | -| ir.cpp:1165:12:1165:12 | Address | &:r1165_1 | -| ir.cpp:1165:12:1165:12 | Load | m1164_7 | -| ir.cpp:1165:12:1165:12 | StoreValue | r1165_2 | -| ir.cpp:1166:18:1166:28 | Address | &:r1166_1 | -| ir.cpp:1166:32:1166:78 | Arg(2) | 2:r1166_6 | -| ir.cpp:1166:32:1166:78 | StoreValue | r1166_10 | -| ir.cpp:1166:56:1166:58 | Address | &:r1166_2 | -| ir.cpp:1166:56:1166:58 | Arg(0) | 0:r1166_3 | -| ir.cpp:1166:56:1166:58 | Load | m1165_8 | -| ir.cpp:1166:61:1166:63 | Address | &:r1166_4 | -| ir.cpp:1166:61:1166:63 | Arg(1) | 1:r1166_5 | -| ir.cpp:1166:61:1166:63 | Load | m1165_8 | -| ir.cpp:1166:71:1166:71 | Arg(3) | 3:r1166_7 | -| ir.cpp:1166:74:1166:74 | Arg(4) | 4:r1166_8 | -| ir.cpp:1166:77:1166:77 | Arg(5) | 5:r1166_9 | -| ir.cpp:1167:3:1167:5 | Address | &:r1167_6 | -| ir.cpp:1167:9:1167:11 | Address | &:r1167_1 | -| ir.cpp:1167:9:1167:11 | Left | r1167_2 | -| ir.cpp:1167:9:1167:11 | Load | m1165_8 | -| ir.cpp:1167:9:1167:25 | StoreValue | r1167_5 | -| ir.cpp:1167:15:1167:25 | Address | &:r1167_3 | -| ir.cpp:1167:15:1167:25 | Load | m1166_11 | -| ir.cpp:1167:15:1167:25 | Right | r1167_4 | -| ir.cpp:1172:5:1172:21 | Address | &:r1172_7 | -| ir.cpp:1172:5:1172:21 | ChiPartial | partial:m1172_3 | -| ir.cpp:1172:5:1172:21 | ChiTotal | total:m1172_2 | -| ir.cpp:1172:5:1172:21 | Load | m1175_4 | -| ir.cpp:1172:5:1172:21 | SideEffect | m1172_3 | -| ir.cpp:1172:27:1172:27 | Address | &:r1172_5 | -| ir.cpp:1173:7:1173:7 | Address | &:r1173_1 | -| ir.cpp:1174:3:1174:8 | CallTarget | func:r1174_1 | -| ir.cpp:1174:10:1174:11 | Address | &:r1174_4 | -| ir.cpp:1174:10:1174:11 | Arg(0) | 0:r1174_4 | -| ir.cpp:1174:10:1174:11 | ChiPartial | partial:m1174_11 | -| ir.cpp:1174:10:1174:11 | ChiTotal | total:m1173_2 | -| ir.cpp:1174:10:1174:11 | Unary | r1174_3 | -| ir.cpp:1174:11:1174:11 | Unary | r1174_2 | -| ir.cpp:1174:14:1174:15 | Address | &:r1174_7 | -| ir.cpp:1174:14:1174:15 | Arg(1) | 1:r1174_7 | -| ir.cpp:1174:14:1174:15 | SideEffect | ~m1172_6 | -| ir.cpp:1174:14:1174:15 | Unary | r1174_6 | -| ir.cpp:1174:15:1174:15 | Unary | r1174_5 | -| ir.cpp:1174:18:1174:28 | Arg(2) | 2:r1174_8 | -| ir.cpp:1174:18:1174:28 | BufferSize | r1174_8 | -| ir.cpp:1174:18:1174:28 | BufferSize | r1174_8 | -| ir.cpp:1175:3:1175:11 | Address | &:r1175_1 | -| ir.cpp:1175:10:1175:10 | Address | &:r1175_2 | -| ir.cpp:1175:10:1175:10 | Load | m1174_12 | -| ir.cpp:1175:10:1175:10 | StoreValue | r1175_3 | -| ir.cpp:1178:8:1178:23 | Address | &:r1178_5 | -| ir.cpp:1178:8:1178:23 | ChiPartial | partial:m1178_3 | -| ir.cpp:1178:8:1178:23 | ChiTotal | total:m1178_2 | -| ir.cpp:1178:8:1178:23 | Load | m1179_11 | -| ir.cpp:1178:8:1178:23 | SideEffect | ~m1179_8 | -| ir.cpp:1179:3:1179:23 | Address | &:r1179_1 | -| ir.cpp:1179:3:1179:23 | Address | &:r1179_1 | -| ir.cpp:1179:3:1179:23 | Arg(this) | this:r1179_1 | -| ir.cpp:1179:3:1179:23 | CallTarget | func:r1179_3 | -| ir.cpp:1179:3:1179:23 | ChiPartial | partial:m1179_7 | -| ir.cpp:1179:3:1179:23 | ChiPartial | partial:m1179_10 | -| ir.cpp:1179:3:1179:23 | ChiTotal | total:m1178_4 | -| ir.cpp:1179:3:1179:23 | ChiTotal | total:m1179_2 | -| ir.cpp:1179:3:1179:23 | SideEffect | ~m1178_4 | -| ir.cpp:1179:17:1179:21 | Address | &:r1179_5 | -| ir.cpp:1179:17:1179:21 | Arg(0) | 0:r1179_5 | -| ir.cpp:1179:17:1179:21 | SideEffect | ~m1178_3 | -| ir.cpp:1179:17:1179:21 | Unary | r1179_4 | -| ir.cpp:1182:6:1182:16 | ChiPartial | partial:m1182_3 | -| ir.cpp:1182:6:1182:16 | ChiTotal | total:m1182_2 | -| ir.cpp:1182:6:1182:16 | SideEffect | m1182_3 | -| ir.cpp:1182:22:1182:22 | Address | &:r1182_5 | -| ir.cpp:1183:9:1183:9 | Address | &:r1183_1 | -| ir.cpp:1183:12:1183:13 | StoreValue | r1183_2 | -| ir.cpp:1184:12:1184:12 | Address | &:r1184_1 | -| ir.cpp:1184:12:1184:12 | Condition | r1184_2 | -| ir.cpp:1184:12:1184:12 | Load | m1182_6 | -| ir.cpp:1186:9:1186:9 | Address | &:r1186_2 | -| ir.cpp:1186:13:1186:13 | StoreValue | r1186_1 | +| 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:1084:5 | Address | &:r1080_1 | +| ir.cpp:1080:5:1084:5 | Address | &:r1080_7 | +| ir.cpp:1080:5:1084:5 | Address | &:r1080_15 | +| ir.cpp:1080:5:1084:5 | 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:1090:5 | Address | &:r1086_1 | +| ir.cpp:1086:5:1090:5 | Address | &:r1086_7 | +| ir.cpp:1086:5:1090:5 | Address | &:r1086_15 | +| ir.cpp:1086:5:1090:5 | 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:9:1188:9 | Phi | from 0:m1183_3 | -| ir.cpp:1188:9:1188:9 | Phi | from 1:m1186_3 | -| ir.cpp:1188:13:1188:13 | Address | &:r1188_3 | -| ir.cpp:1188:13:1188:13 | Load | m1188_1 | -| ir.cpp:1188:13:1188:13 | StoreValue | r1188_4 | -| ir.cpp:1191:6:1191:28 | ChiPartial | partial:m1191_3 | -| ir.cpp:1191:6:1191:28 | ChiTotal | total:m1191_2 | -| ir.cpp:1191:6:1191:28 | SideEffect | m1191_3 | -| ir.cpp:1191:34:1191:34 | Address | &:r1191_5 | -| ir.cpp:1192:9:1192:9 | Address | &:r1192_1 | -| ir.cpp:1192:12:1192:13 | StoreValue | r1192_2 | -| ir.cpp:1193:12:1193:12 | Address | &:r1193_1 | -| ir.cpp:1193:12:1193:12 | Condition | r1193_2 | -| ir.cpp:1193:12:1193:12 | Load | m1191_6 | -| ir.cpp:1195:9:1195:9 | Address | &:r1195_2 | -| ir.cpp:1195:13:1195:13 | StoreValue | r1195_1 | +| 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: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:9:1199:9 | Phi | from 0:m1192_3 | -| ir.cpp:1199:9:1199:9 | Phi | from 2:m1197_3 | -| ir.cpp:1199:13:1199:13 | Address | &:r1199_3 | -| ir.cpp:1199:13:1199:13 | Load | m1199_1 | -| ir.cpp:1199:13:1199:13 | StoreValue | r1199_4 | -| ir.cpp:1202:6:1202:16 | ChiPartial | partial:m1202_3 | -| ir.cpp:1202:6:1202:16 | ChiTotal | total:m1202_2 | -| ir.cpp:1202:6:1202:16 | SideEffect | m1202_3 | -| ir.cpp:1202:22:1202:22 | Address | &:r1202_5 | -| ir.cpp:1203:9:1203:9 | Address | &:r1203_1 | -| ir.cpp:1203:12:1203:13 | StoreValue | r1203_2 | -| ir.cpp:1204:12:1204:12 | Address | &:r1204_1 | -| ir.cpp:1204:12:1204:12 | Condition | r1204_2 | -| ir.cpp:1204:12:1204:12 | Load | m1202_6 | -| ir.cpp:1206:9:1206:9 | Address | &:r1206_2 | -| ir.cpp:1206:13:1206:13 | StoreValue | r1206_1 | -| ir.cpp:1209:9:1209:9 | Address | &:r1209_2 | -| ir.cpp:1209:13:1209:13 | StoreValue | r1209_1 | -| ir.cpp:1210:5:1210:5 | Phi | from 0:m1203_3 | -| ir.cpp:1210:5:1210:5 | Phi | from 1:m1206_3 | -| ir.cpp:1210:5:1210:5 | Phi | from 2:m1209_3 | -| ir.cpp:1211:9:1211:9 | Address | &:r1211_1 | -| ir.cpp:1211:13:1211:13 | Address | &:r1211_2 | -| ir.cpp:1211:13:1211:13 | Load | m1210_1 | -| ir.cpp:1211:13:1211:13 | StoreValue | r1211_3 | -| ir.cpp:1214:6:1214:24 | ChiPartial | partial:m1214_3 | -| ir.cpp:1214:6:1214:24 | ChiTotal | total:m1214_2 | -| ir.cpp:1214:6:1214:24 | SideEffect | m1214_3 | -| ir.cpp:1214:30:1214:30 | Address | &:r1214_5 | -| ir.cpp:1215:9:1215:9 | Address | &:r1215_1 | -| ir.cpp:1215:12:1215:13 | StoreValue | r1215_2 | -| ir.cpp:1216:12:1216:12 | Address | &:r1216_1 | -| ir.cpp:1216:12:1216:12 | Condition | r1216_2 | -| ir.cpp:1216:12:1216:12 | Load | m1214_6 | -| ir.cpp:1218:13:1218:13 | Address | &:r1218_2 | -| ir.cpp:1218:17:1218:17 | StoreValue | r1218_1 | -| ir.cpp:1222:13:1222:13 | Address | &:r1222_2 | -| ir.cpp:1222:17:1222:17 | StoreValue | r1222_1 | -| ir.cpp:1226:13:1226:13 | Address | &:r1226_2 | -| ir.cpp:1226:17:1226:17 | StoreValue | r1226_1 | -| ir.cpp:1227:5:1227:5 | Phi | from 1:m1218_3 | -| ir.cpp:1227:5:1227:5 | Phi | from 2:m1222_3 | -| ir.cpp:1227:5:1227:5 | Phi | from 3:m1226_3 | -| ir.cpp:1228:9:1228:9 | Address | &:r1228_1 | +| 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:13:1228:13 | Load | m1227_1 | -| ir.cpp:1228:13:1228:13 | StoreValue | r1228_3 | -| ir.cpp:1231:5:1231:19 | Address | &:r1231_7 | -| ir.cpp:1231:5:1231:19 | ChiPartial | partial:m1231_3 | -| ir.cpp:1231:5:1231:19 | ChiTotal | total:m1231_2 | -| ir.cpp:1231:5:1231:19 | Load | m1237_15 | -| ir.cpp:1231:5:1231:19 | SideEffect | ~m1237_2 | -| ir.cpp:1231:25:1231:25 | Address | &:r1231_5 | -| ir.cpp:1232:16:1232:16 | Address | &:r1232_3 | -| ir.cpp:1232:16:1232:16 | SideEffect | ~m1232_6 | -| ir.cpp:1232:20:1232:20 | ChiPartial | partial:m1232_5 | -| ir.cpp:1232:20:1232:20 | ChiTotal | total:m1232_2 | -| ir.cpp:1232:20:1232:20 | StoreValue | r1232_4 | -| ir.cpp:1233:16:1233:16 | Address | &:r1233_3 | -| ir.cpp:1233:16:1233:16 | SideEffect | ~m1233_6 | -| ir.cpp:1233:20:1233:28 | ChiPartial | partial:m1233_5 | -| ir.cpp:1233:20:1233:28 | ChiTotal | total:m1233_2 | -| ir.cpp:1233:20:1233:28 | StoreValue | r1233_4 | -| ir.cpp:1234:16:1234:16 | Address | &:r1234_1 | -| ir.cpp:1234:16:1234:16 | Address | &:r1234_1 | -| ir.cpp:1234:16:1234:16 | Address | &:r1234_4 | -| ir.cpp:1234:16:1234:16 | ChiPartial | partial:m1234_10 | -| ir.cpp:1234:16:1234:16 | ChiTotal | total:m1234_8 | -| ir.cpp:1234:16:1234:16 | Condition | r1234_2 | -| ir.cpp:1234:16:1234:16 | Load | ~m1231_3 | -| ir.cpp:1234:16:1234:16 | StoreValue | r1234_9 | -| ir.cpp:1234:20:1234:20 | Address | &:r1234_5 | -| ir.cpp:1234:20:1234:20 | ChiPartial | partial:m1234_7 | -| ir.cpp:1234:20:1234:20 | ChiTotal | total:m1231_4 | -| ir.cpp:1234:20:1234:20 | Load | m1231_6 | -| ir.cpp:1234:20:1234:20 | StoreValue | r1234_6 | -| ir.cpp:1237:5:1237:25 | Address | &:r1237_3 | -| ir.cpp:1237:5:1237:25 | Phi | from 0:~m1231_3 | -| ir.cpp:1237:5:1237:25 | Phi | from 0:~m1231_4 | -| ir.cpp:1237:5:1237:25 | Phi | from 1:m1234_7 | -| ir.cpp:1237:5:1237:25 | Phi | from 1:~m1234_11 | -| ir.cpp:1237:12:1237:12 | Address | &:r1237_4 | -| ir.cpp:1237:12:1237:12 | Left | r1237_5 | -| ir.cpp:1237:12:1237:12 | Load | ~m1237_2 | -| ir.cpp:1237:12:1237:16 | Left | r1237_8 | -| ir.cpp:1237:12:1237:20 | Left | r1237_11 | -| ir.cpp:1237:12:1237:24 | StoreValue | r1237_14 | -| ir.cpp:1237:16:1237:16 | Address | &:r1237_6 | -| ir.cpp:1237:16:1237:16 | Load | ~m1237_2 | -| ir.cpp:1237:16:1237:16 | Right | r1237_7 | -| ir.cpp:1237:20:1237:20 | Address | &:r1237_9 | -| ir.cpp:1237:20:1237:20 | Load | m1237_1 | -| ir.cpp:1237:20:1237:20 | Right | r1237_10 | -| ir.cpp:1237:24:1237:24 | Address | &:r1237_12 | -| ir.cpp:1237:24:1237:24 | Load | ~m1237_2 | -| ir.cpp:1237:24:1237:24 | Right | r1237_13 | -| ir.cpp:1240:6:1240:31 | ChiPartial | partial:m1240_3 | -| ir.cpp:1240:6:1240:31 | ChiTotal | total:m1240_2 | -| ir.cpp:1240:6:1240:31 | SideEffect | ~m1244_1 | -| ir.cpp:1240:45:1240:51 | Address | &:r1240_5 | -| ir.cpp:1240:45:1240:51 | Address | &:r1240_5 | -| ir.cpp:1240:45:1240:51 | Address | &:r1240_7 | -| ir.cpp:1240:45:1240:51 | Address | &:r1240_7 | -| ir.cpp:1240:45:1240:51 | Load | m1240_6 | -| ir.cpp:1240:45:1240:51 | SideEffect | m1240_8 | -| ir.cpp:1241:19:1241:19 | Address | &:r1241_1 | -| ir.cpp:1241:19:1241:19 | Address | &:r1241_1 | -| ir.cpp:1241:19:1241:19 | Address | &:r1241_4 | -| ir.cpp:1241:19:1241:19 | Arg(this) | this:r1241_4 | -| ir.cpp:1241:19:1241:19 | ChiPartial | partial:m1241_6 | -| ir.cpp:1241:19:1241:19 | ChiTotal | total:m0_6 | -| ir.cpp:1241:19:1241:19 | Condition | r1241_2 | -| ir.cpp:1241:19:1241:19 | Load | ~m1240_3 | -| ir.cpp:1241:19:1241:19 | StoreValue | r1241_5 | -| ir.cpp:1242:19:1242:19 | Address | &:r1242_2 | -| ir.cpp:1242:19:1242:19 | Address | &:r1242_2 | -| ir.cpp:1242:19:1242:19 | Address | &:r1242_5 | -| ir.cpp:1242:19:1242:19 | Arg(this) | this:r1242_5 | -| ir.cpp:1242:19:1242:19 | ChiPartial | partial:m1242_16 | -| ir.cpp:1242:19:1242:19 | ChiTotal | total:m1242_14 | -| ir.cpp:1242:19:1242:19 | Condition | r1242_3 | -| ir.cpp:1242:19:1242:19 | Load | ~m1242_1 | -| ir.cpp:1242:19:1242:19 | Phi | from 0:~m1240_4 | -| ir.cpp:1242:19:1242:19 | Phi | from 1:~m1241_7 | -| ir.cpp:1242:19:1242:19 | StoreValue | r1242_15 | -| ir.cpp:1242:20:1242:29 | CallTarget | func:r1242_6 | -| ir.cpp:1242:20:1242:29 | ChiPartial | partial:m1242_10 | -| ir.cpp:1242:20:1242:29 | ChiPartial | partial:m1242_13 | -| ir.cpp:1242:20:1242:29 | ChiTotal | total:m1242_1 | -| ir.cpp:1242:20:1242:29 | ChiTotal | total:m1242_11 | -| ir.cpp:1242:20:1242:29 | SideEffect | ~m1242_1 | -| ir.cpp:1242:21:1242:28 | Address | &:r1242_8 | -| ir.cpp:1242:21:1242:28 | Arg(0) | 0:r1242_8 | -| ir.cpp:1242:21:1242:28 | SideEffect | ~m1240_3 | -| ir.cpp:1242:21:1242:28 | Unary | r1242_7 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_2 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_2 | -| ir.cpp:1243:19:1243:19 | Address | &:r1243_5 | -| ir.cpp:1243:19:1243:19 | Arg(this) | this:r1243_5 | -| ir.cpp:1243:19:1243:19 | ChiPartial | partial:m1243_16 | -| ir.cpp:1243:19:1243:19 | ChiTotal | total:m1243_14 | -| ir.cpp:1243:19:1243:19 | Condition | r1243_3 | -| ir.cpp:1243:19:1243:19 | Load | ~m1243_1 | -| ir.cpp:1243:19:1243:19 | Phi | from 2:~m1242_1 | -| ir.cpp:1243:19:1243:19 | Phi | from 3:~m1242_17 | -| ir.cpp:1243:19:1243:19 | StoreValue | r1243_15 | -| ir.cpp:1243:20:1243:28 | CallTarget | func:r1243_6 | -| ir.cpp:1243:20:1243:28 | ChiPartial | partial:m1243_10 | -| ir.cpp:1243:20:1243:28 | ChiPartial | partial:m1243_13 | -| ir.cpp:1243:20:1243:28 | ChiTotal | total:m1243_1 | -| ir.cpp:1243:20:1243:28 | ChiTotal | total:m1243_11 | -| ir.cpp:1243:20:1243:28 | SideEffect | ~m1243_1 | -| ir.cpp:1243:21:1243:27 | Address | &:r1243_7 | -| ir.cpp:1243:21:1243:27 | Address | &:r1243_8 | -| ir.cpp:1243:21:1243:27 | Arg(0) | 0:r1243_8 | -| ir.cpp:1243:21:1243:27 | Load | m1240_6 | -| ir.cpp:1243:21:1243:27 | SideEffect | ~m1240_8 | -| ir.cpp:1244:1:1244:1 | Phi | from 4:~m1243_1 | -| ir.cpp:1244:1:1244:1 | Phi | from 5:~m1243_17 | -| ir.cpp:1251:6:1251:17 | ChiPartial | partial:m1251_3 | -| ir.cpp:1251:6:1251:17 | ChiTotal | total:m1251_2 | -| ir.cpp:1251:6:1251:17 | SideEffect | m1251_3 | -| ir.cpp:1251:25:1251:26 | Address | &:r1251_5 | -| ir.cpp:1251:25:1251:26 | Address | &:r1251_5 | -| ir.cpp:1251:25:1251:26 | Address | &:r1251_7 | -| ir.cpp:1251:25:1251:26 | Address | &:r1251_7 | -| ir.cpp:1251:25:1251:26 | Load | m1251_6 | -| ir.cpp:1251:25:1251:26 | SideEffect | m1251_8 | -| ir.cpp:1251:35:1251:36 | Address | &:r1251_9 | -| ir.cpp:1251:35:1251:36 | Address | &:r1251_9 | -| ir.cpp:1251:35:1251:36 | Address | &:r1251_11 | -| ir.cpp:1251:35:1251:36 | Address | &:r1251_11 | -| ir.cpp:1251:35:1251:36 | Load | m1251_10 | -| ir.cpp:1251:35:1251:36 | SideEffect | m1251_12 | -| ir.cpp:1252:10:1252:15 | Address | &:r1252_1 | -| ir.cpp:1252:10:1252:15 | Left | r1252_1 | -| ir.cpp:1252:10:1252:15 | Left | r1252_1 | -| ir.cpp:1252:24:1252:27 | Address | &:r1252_4 | -| ir.cpp:1252:24:1252:27 | Address | &:r1252_9 | -| ir.cpp:1252:24:1252:27 | ChiPartial | partial:m1252_11 | -| ir.cpp:1252:24:1252:27 | ChiTotal | total:m1252_7 | -| ir.cpp:1252:24:1252:27 | Right | r1252_3 | -| ir.cpp:1252:24:1252:27 | Right | r1252_8 | -| ir.cpp:1252:24:1252:27 | StoreValue | r1252_10 | -| ir.cpp:1252:26:1252:26 | ChiPartial | partial:m1252_6 | -| ir.cpp:1252:26:1252:26 | ChiTotal | total:m1252_2 | -| ir.cpp:1252:26:1252:26 | StoreValue | r1252_5 | -| ir.cpp:1254:5:1254:10 | CallTarget | func:r1254_1 | -| ir.cpp:1254:12:1254:17 | Address | &:r1254_3 | -| ir.cpp:1254:12:1254:17 | Arg(0) | 0:r1254_3 | -| ir.cpp:1254:12:1254:17 | ChiPartial | partial:m1254_9 | -| ir.cpp:1254:12:1254:17 | ChiTotal | total:m1252_12 | -| ir.cpp:1254:12:1254:17 | Unary | r1254_2 | -| ir.cpp:1254:20:1254:21 | Address | &:r1254_4 | -| ir.cpp:1254:20:1254:21 | Address | &:r1254_6 | -| ir.cpp:1254:20:1254:21 | Arg(1) | 1:r1254_6 | -| ir.cpp:1254:20:1254:21 | Load | m1251_6 | -| ir.cpp:1254:20:1254:21 | SideEffect | ~m1251_8 | -| ir.cpp:1254:20:1254:21 | Unary | r1254_5 | -| ir.cpp:1255:5:1255:10 | CallTarget | func:r1255_1 | -| ir.cpp:1255:12:1255:17 | Address | &:r1255_3 | -| ir.cpp:1255:12:1255:17 | Address | &:r1255_3 | -| ir.cpp:1255:12:1255:17 | Arg(0) | 0:r1255_3 | -| ir.cpp:1255:12:1255:17 | ChiPartial | partial:m1255_10 | -| ir.cpp:1255:12:1255:17 | ChiTotal | total:m1254_10 | -| ir.cpp:1255:12:1255:17 | SideEffect | ~m1254_10 | -| ir.cpp:1255:12:1255:17 | Unary | r1255_2 | -| ir.cpp:1255:20:1255:21 | Address | &:r1255_4 | -| ir.cpp:1255:20:1255:21 | Address | &:r1255_6 | -| ir.cpp:1255:20:1255:21 | Arg(1) | 1:r1255_6 | -| ir.cpp:1255:20:1255:21 | Load | m1251_10 | -| ir.cpp:1255:20:1255:21 | SideEffect | ~m1251_12 | -| ir.cpp:1255:20:1255:21 | Unary | r1255_5 | -| ir.cpp:1261:17:1261:29 | ChiPartial | partial:m1261_3 | -| ir.cpp:1261:17:1261:29 | ChiTotal | total:m1261_2 | -| ir.cpp:1261:17:1261:29 | SideEffect | m1261_3 | -| ir.cpp:1261:34:1261:34 | Address | &:r1261_5 | -| ir.cpp:1261:34:1261:34 | Address | &:r1261_5 | -| ir.cpp:1261:34:1261:34 | Address | &:r1261_7 | -| ir.cpp:1261:34:1261:34 | Address | &:r1261_7 | -| ir.cpp:1261:34:1261:34 | Load | m1261_6 | -| ir.cpp:1261:34:1261:34 | SideEffect | m1262_7 | -| ir.cpp:1261:41:1261:41 | Address | &:r1261_9 | -| ir.cpp:1262:9:1262:9 | Address | &:r1262_3 | -| ir.cpp:1262:9:1262:9 | Load | m1261_6 | -| ir.cpp:1262:9:1262:9 | Unary | r1262_4 | -| ir.cpp:1262:9:1262:21 | ChiPartial | partial:m1262_6 | -| ir.cpp:1262:9:1262:21 | ChiTotal | total:m1261_8 | -| ir.cpp:1262:12:1262:17 | Address | &:r1262_5 | -| ir.cpp:1262:21:1262:21 | Address | &:r1262_1 | -| ir.cpp:1262:21:1262:21 | Load | m1261_10 | -| ir.cpp:1262:21:1262:21 | StoreValue | r1262_2 | -| ir.cpp:1270:6:1270:33 | ChiPartial | partial:m1270_3 | -| ir.cpp:1270:6:1270:33 | ChiTotal | total:m1270_2 | -| ir.cpp:1270:6:1270:33 | SideEffect | ~m1286_8 | -| ir.cpp:1270:39:1270:45 | Address | &:r1270_5 | -| ir.cpp:1270:51:1270:55 | Address | &:r1270_7 | -| ir.cpp:1270:51:1270:55 | Address | &:r1270_7 | -| ir.cpp:1270:51:1270:55 | Address | &:r1270_9 | -| ir.cpp:1270:51:1270:55 | Address | &:r1270_9 | -| ir.cpp:1270:51:1270:55 | Load | m1270_8 | -| ir.cpp:1270:51:1270:55 | SideEffect | m1281_12 | -| ir.cpp:1271:7:1271:7 | Address | &:r1271_1 | -| ir.cpp:1271:7:1271:7 | Address | &:r1271_1 | -| ir.cpp:1271:7:1271:7 | Arg(this) | this:r1271_1 | -| ir.cpp:1271:7:1271:7 | CallTarget | func:r1271_3 | -| ir.cpp:1271:7:1271:7 | ChiPartial | partial:m1271_5 | -| ir.cpp:1271:7:1271:7 | ChiPartial | partial:m1271_7 | -| ir.cpp:1271:7:1271:7 | ChiTotal | total:m1270_4 | -| ir.cpp:1271:7:1271:7 | ChiTotal | total:m1271_2 | -| ir.cpp:1271:7:1271:7 | SideEffect | ~m1270_4 | -| ir.cpp:1272:7:1272:26 | CallTarget | func:r1272_2 | -| ir.cpp:1272:7:1272:26 | ChiPartial | partial:m1272_5 | -| ir.cpp:1272:7:1272:26 | ChiTotal | total:m1271_6 | -| ir.cpp:1272:7:1272:26 | SideEffect | ~m1271_6 | -| ir.cpp:1272:28:1272:29 | Arg(0) | 0:r1272_3 | -| ir.cpp:1273:5:1273:27 | CallTarget | func:r1273_1 | -| ir.cpp:1273:5:1273:27 | ChiPartial | partial:m1273_4 | -| ir.cpp:1273:5:1273:27 | ChiTotal | total:m1272_6 | -| ir.cpp:1273:5:1273:27 | SideEffect | ~m1272_6 | -| ir.cpp:1273:29:1273:30 | Arg(0) | 0:r1273_2 | -| ir.cpp:1275:7:1275:7 | Address | &:r1275_1 | -| ir.cpp:1276:7:1276:19 | CallTarget | func:r1276_2 | -| ir.cpp:1276:7:1276:19 | ChiPartial | partial:m1276_8 | -| ir.cpp:1276:7:1276:19 | ChiTotal | total:m1273_5 | -| ir.cpp:1276:7:1276:19 | SideEffect | ~m1273_5 | -| ir.cpp:1276:21:1276:22 | Address | &:r1276_4 | -| ir.cpp:1276:21:1276:22 | Address | &:r1276_4 | -| ir.cpp:1276:21:1276:22 | Arg(0) | 0:r1276_4 | -| ir.cpp:1276:21:1276:22 | ChiPartial | partial:m1276_11 | -| ir.cpp:1276:21:1276:22 | ChiTotal | total:m1275_2 | -| ir.cpp:1276:21:1276:22 | SideEffect | ~m1275_2 | -| ir.cpp:1276:22:1276:22 | Unary | r1276_3 | -| ir.cpp:1276:25:1276:31 | Address | &:r1276_5 | -| ir.cpp:1276:25:1276:31 | Arg(1) | 1:r1276_6 | -| ir.cpp:1276:25:1276:31 | Load | m1270_6 | -| ir.cpp:1277:5:1277:20 | CallTarget | func:r1277_1 | -| ir.cpp:1277:5:1277:20 | ChiPartial | partial:m1277_7 | -| ir.cpp:1277:5:1277:20 | ChiTotal | total:m1276_9 | -| ir.cpp:1277:5:1277:20 | SideEffect | ~m1276_9 | -| ir.cpp:1277:22:1277:23 | Address | &:r1277_3 | -| ir.cpp:1277:22:1277:23 | Address | &:r1277_3 | -| ir.cpp:1277:22:1277:23 | Arg(0) | 0:r1277_3 | -| ir.cpp:1277:22:1277:23 | ChiPartial | partial:m1277_10 | -| ir.cpp:1277:22:1277:23 | ChiTotal | total:m1276_12 | -| ir.cpp:1277:22:1277:23 | SideEffect | ~m1276_12 | -| ir.cpp:1277:23:1277:23 | Unary | r1277_2 | -| ir.cpp:1277:26:1277:32 | Address | &:r1277_4 | -| ir.cpp:1277:26:1277:32 | Arg(1) | 1:r1277_5 | -| ir.cpp:1277:26:1277:32 | Load | m1270_6 | -| ir.cpp:1279:7:1279:7 | Unary | r1279_1 | -| ir.cpp:1279:11:1279:23 | CallTarget | func:r1279_3 | -| ir.cpp:1279:11:1279:23 | ChiPartial | partial:m1279_11 | -| ir.cpp:1279:11:1279:23 | ChiTotal | total:m1277_8 | -| ir.cpp:1279:11:1279:23 | SideEffect | ~m1277_8 | -| ir.cpp:1279:25:1279:29 | Address | &:r1279_4 | -| ir.cpp:1279:25:1279:29 | Address | &:r1279_5 | -| ir.cpp:1279:25:1279:29 | Address | &:r1279_5 | -| ir.cpp:1279:25:1279:29 | Arg(0) | 0:r1279_5 | -| ir.cpp:1279:25:1279:29 | ChiPartial | partial:m1279_14 | -| ir.cpp:1279:25:1279:29 | ChiTotal | total:m1270_10 | -| ir.cpp:1279:25:1279:29 | Load | m1270_8 | -| ir.cpp:1279:25:1279:29 | SideEffect | ~m1270_10 | -| ir.cpp:1279:32:1279:38 | Address | &:r1279_6 | -| ir.cpp:1279:32:1279:38 | Left | r1279_7 | -| ir.cpp:1279:32:1279:38 | Load | m1270_6 | -| ir.cpp:1279:32:1279:42 | Arg(1) | 1:r1279_9 | -| ir.cpp:1279:42:1279:42 | Right | r1279_8 | -| ir.cpp:1280:7:1280:11 | Address | &:r1280_1 | -| ir.cpp:1280:7:1280:11 | Load | m1270_8 | -| ir.cpp:1280:7:1280:11 | Unary | r1280_2 | -| ir.cpp:1280:14:1280:26 | CallTarget | func:r1280_4 | -| ir.cpp:1280:14:1280:26 | ChiPartial | partial:m1280_9 | -| ir.cpp:1280:14:1280:26 | ChiTotal | total:m1279_12 | -| ir.cpp:1280:14:1280:26 | SideEffect | ~m1279_12 | -| ir.cpp:1280:28:1280:29 | Address | &:r1280_6 | -| ir.cpp:1280:28:1280:29 | Address | &:r1280_6 | -| ir.cpp:1280:28:1280:29 | Arg(0) | 0:r1280_6 | -| ir.cpp:1280:28:1280:29 | ChiPartial | partial:m1280_12 | -| ir.cpp:1280:28:1280:29 | ChiTotal | total:m1277_11 | -| ir.cpp:1280:28:1280:29 | SideEffect | ~m1277_11 | -| ir.cpp:1280:29:1280:29 | Unary | r1280_5 | -| ir.cpp:1280:32:1280:33 | Arg(1) | 1:r1280_7 | -| ir.cpp:1281:5:1281:9 | Address | &:r1281_1 | -| ir.cpp:1281:5:1281:9 | Load | m1270_8 | -| ir.cpp:1281:12:1281:24 | CallTarget | func:r1281_3 | -| ir.cpp:1281:12:1281:24 | ChiPartial | partial:m1281_8 | -| ir.cpp:1281:12:1281:24 | ChiTotal | total:m1280_10 | -| ir.cpp:1281:12:1281:24 | SideEffect | ~m1280_10 | -| ir.cpp:1281:26:1281:30 | Address | &:r1281_4 | -| ir.cpp:1281:26:1281:30 | Address | &:r1281_5 | -| ir.cpp:1281:26:1281:30 | Address | &:r1281_5 | -| ir.cpp:1281:26:1281:30 | Arg(0) | 0:r1281_5 | -| ir.cpp:1281:26:1281:30 | ChiPartial | partial:m1281_11 | -| ir.cpp:1281:26:1281:30 | ChiTotal | total:m1279_15 | -| ir.cpp:1281:26:1281:30 | Load | m1270_8 | -| ir.cpp:1281:26:1281:30 | SideEffect | ~m1279_15 | -| ir.cpp:1281:33:1281:34 | Arg(1) | 1:r1281_6 | -| ir.cpp:1283:7:1283:31 | CallTarget | func:r1283_2 | -| ir.cpp:1283:7:1283:31 | ChiPartial | partial:m1283_4 | -| ir.cpp:1283:7:1283:31 | ChiTotal | total:m1281_9 | -| ir.cpp:1283:7:1283:31 | SideEffect | ~m1281_9 | -| ir.cpp:1284:5:1284:32 | CallTarget | func:r1284_1 | -| ir.cpp:1284:5:1284:32 | ChiPartial | partial:m1284_3 | -| ir.cpp:1284:5:1284:32 | ChiTotal | total:m1283_5 | -| ir.cpp:1284:5:1284:32 | SideEffect | ~m1283_5 | -| ir.cpp:1286:5:1286:20 | CallTarget | func:r1286_1 | -| ir.cpp:1286:5:1286:20 | ChiPartial | partial:m1286_3 | -| ir.cpp:1286:5:1286:20 | ChiTotal | total:m1284_4 | -| ir.cpp:1286:5:1286:20 | SideEffect | ~m1284_4 | -| ir.cpp:1286:25:1286:49 | CallTarget | func:r1286_5 | -| ir.cpp:1286:25:1286:49 | ChiPartial | partial:m1286_7 | -| ir.cpp:1286:25:1286:49 | ChiTotal | total:m1286_4 | -| ir.cpp:1286:25:1286:49 | SideEffect | ~m1286_4 | -| ir.cpp:1289:5:1289:22 | Address | &:r1289_10 | -| ir.cpp:1289:5:1289:22 | ChiPartial | partial:m1289_3 | -| ir.cpp:1289:5:1289:22 | ChiTotal | total:m1289_2 | -| ir.cpp:1289:5:1289:22 | Load | m1289_9 | -| ir.cpp:1289:5:1289:22 | Phi | from 2:m1291_4 | -| ir.cpp:1289:5:1289:22 | Phi | from 3:m1293_2 | -| ir.cpp:1289:5:1289:22 | SideEffect | m1289_3 | -| ir.cpp:1289:29:1289:29 | Address | &:r1289_5 | -| ir.cpp:1289:36:1289:36 | Address | &:r1289_7 | -| ir.cpp:1290:9:1290:9 | Address | &:r1290_1 | -| ir.cpp:1290:9:1290:9 | Condition | r1290_2 | -| ir.cpp:1290:9:1290:9 | Load | m1289_6 | -| ir.cpp:1291:9:1291:17 | Address | &:r1291_1 | -| ir.cpp:1291:16:1291:16 | Address | &:r1291_2 | -| ir.cpp:1291:16:1291:16 | Load | m1289_8 | -| ir.cpp:1291:16:1291:16 | StoreValue | r1291_3 | -| ir.cpp:1293:1:1293:1 | Address | &:r1293_1 | -| ir.cpp:1295:6:1295:15 | ChiPartial | partial:m1295_3 | -| ir.cpp:1295:6:1295:15 | ChiTotal | total:m1295_2 | -| ir.cpp:1295:6:1295:15 | SideEffect | ~m1296_8 | -| ir.cpp:1295:21:1295:21 | Address | &:r1295_5 | -| ir.cpp:1295:28:1295:28 | Address | &:r1295_7 | -| ir.cpp:1296:12:1296:21 | CallTarget | func:r1296_1 | -| ir.cpp:1296:12:1296:21 | ChiPartial | partial:m1296_7 | -| ir.cpp:1296:12:1296:21 | ChiTotal | total:m1295_4 | -| ir.cpp:1296:12:1296:21 | SideEffect | ~m1295_4 | -| ir.cpp:1296:23:1296:23 | Address | &:r1296_2 | -| ir.cpp:1296:23:1296:23 | Arg(0) | 0:r1296_3 | -| ir.cpp:1296:23:1296:23 | Load | m1295_6 | -| ir.cpp:1296:26:1296:26 | Address | &:r1296_4 | -| ir.cpp:1296:26:1296:26 | Arg(1) | 1:r1296_5 | -| ir.cpp:1296:26:1296:26 | Load | m1295_8 | -| ir.cpp:1299:6:1299:25 | ChiPartial | partial:m1299_3 | -| ir.cpp:1299:6:1299:25 | ChiTotal | total:m1299_2 | -| ir.cpp:1299:6:1299:25 | SideEffect | m1299_3 | -| ir.cpp:1299:32:1299:32 | Address | &:r1299_5 | -| ir.cpp:1299:39:1299:39 | Address | &:r1299_7 | -| ir.cpp:1299:47:1299:47 | Address | &:r1299_9 | -| ir.cpp:1300:9:1300:9 | Address | &:r1300_1 | -| ir.cpp:1300:13:1300:13 | Address | &:r1300_2 | -| ir.cpp:1300:13:1300:13 | Load | m1299_8 | -| ir.cpp:1300:13:1300:13 | StoreValue | r1300_3 | -| ir.cpp:1301:5:1301:5 | Address | &:r1301_7 | -| ir.cpp:1301:9:1301:9 | Address | &:r1301_1 | -| ir.cpp:1301:9:1301:9 | Condition | r1301_2 | -| ir.cpp:1301:9:1301:9 | Load | m1299_6 | -| ir.cpp:1301:9:1301:9 | StoreValue | r1301_2 | -| ir.cpp:1301:9:1301:14 | Address | &:r1301_5 | -| ir.cpp:1301:9:1301:14 | Address | &:r1301_9 | -| ir.cpp:1301:9:1301:14 | Address | &:r1301_13 | -| ir.cpp:1301:9:1301:14 | Load | m1301_4 | -| ir.cpp:1301:9:1301:14 | Phi | from 2:m1301_10 | -| ir.cpp:1301:9:1301:14 | Phi | from 3:m1301_14 | -| ir.cpp:1301:9:1301:14 | StoreValue | r1301_6 | -| ir.cpp:1301:14:1301:14 | Address | &:r1301_11 | -| ir.cpp:1301:14:1301:14 | Load | m1299_8 | -| ir.cpp:1301:14:1301:14 | StoreValue | r1301_12 | -| ir.cpp:1302:5:1302:5 | Address | &:r1302_8 | +| 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 | ~m1288_8 | +| 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: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:9:1302:9 | Condition | r1302_2 | -| ir.cpp:1302:9:1302:9 | Load | m1299_6 | -| ir.cpp:1302:9:1302:9 | StoreValue | r1302_2 | -| ir.cpp:1302:9:1302:14 | Address | &:r1302_5 | -| ir.cpp:1302:9:1302:14 | Address | &:r1302_10 | -| ir.cpp:1302:9:1302:14 | Address | &:r1302_14 | -| ir.cpp:1302:9:1302:14 | Load | m1302_4 | -| ir.cpp:1302:9:1302:14 | Phi | from 5:m1302_11 | -| ir.cpp:1302:9:1302:14 | Phi | from 6:m1302_15 | -| ir.cpp:1302:9:1302:14 | StoreValue | r1302_7 | -| ir.cpp:1302:9:1302:14 | Unary | r1302_6 | -| ir.cpp:1302:14:1302:14 | Address | &:r1302_12 | -| ir.cpp:1302:14:1302:14 | Load | m1299_10 | -| ir.cpp:1302:14:1302:14 | StoreValue | r1302_13 | -| ir.cpp:1303:5:1303:5 | Address | &:r1303_9 | +| 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_4 | -| ir.cpp:1303:9:1303:9 | Left | r1303_2 | -| ir.cpp:1303:9:1303:9 | Load | m1299_8 | -| ir.cpp:1303:9:1303:9 | Right | r1303_3 | +| 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_7 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_11 | -| ir.cpp:1303:9:1303:14 | Address | &:r1303_15 | -| ir.cpp:1303:9:1303:14 | Load | m1303_6 | -| ir.cpp:1303:9:1303:14 | Phi | from 8:m1303_12 | -| ir.cpp:1303:9:1303:14 | Phi | from 9:m1303_16 | -| ir.cpp:1303:9:1303:14 | StoreValue | r1303_8 | -| ir.cpp:1303:14:1303:14 | Address | &:r1303_13 | -| ir.cpp:1303:14:1303:14 | Load | m1299_8 | -| ir.cpp:1303:14:1303:14 | StoreValue | r1303_14 | -| ir.cpp:1304:5:1304:5 | Address | &:r1304_10 | +| 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_4 | -| ir.cpp:1304:9:1304:9 | Left | r1304_2 | -| ir.cpp:1304:9:1304:9 | Load | m1299_8 | -| ir.cpp:1304:9:1304:9 | Right | r1304_3 | +| 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_7 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_12 | -| ir.cpp:1304:9:1304:14 | Address | &:r1304_16 | -| ir.cpp:1304:9:1304:14 | Load | m1304_6 | -| ir.cpp:1304:9:1304:14 | Phi | from 11:m1304_13 | -| ir.cpp:1304:9:1304:14 | Phi | from 12:m1304_17 | -| ir.cpp:1304:9:1304:14 | StoreValue | r1304_9 | -| ir.cpp:1304:9:1304:14 | Unary | r1304_8 | -| ir.cpp:1304:14:1304:14 | Address | &:r1304_14 | -| ir.cpp:1304:14:1304:14 | Load | m1299_10 | -| ir.cpp:1304:14:1304:14 | StoreValue | r1304_15 | -| ir.cpp:1305:5:1305:5 | Address | &:r1305_10 | +| 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 | m1299_10 | +| 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_12 | -| ir.cpp:1305:9:1305:14 | Address | &:r1305_17 | +| 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 14:m1305_13 | -| ir.cpp:1305:9:1305:14 | Phi | from 15:m1305_18 | -| ir.cpp:1305:9:1305:14 | StoreValue | r1305_9 | -| ir.cpp:1305:9:1305:14 | Unary | r1305_8 | -| ir.cpp:1305:14:1305:14 | Address | &:r1305_14 | -| ir.cpp:1305:14:1305:14 | Load | m1299_8 | -| ir.cpp:1305:14:1305:14 | StoreValue | r1305_16 | -| ir.cpp:1305:14:1305:14 | Unary | r1305_15 | +| 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 | m1299_10 | +| 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 17:m1306_13 | -| ir.cpp:1306:9:1306:14 | Phi | from 18:m1306_17 | +| 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 | m1299_10 | +| ir.cpp:1306:14:1306:14 | Load | m1301_10 | | ir.cpp:1306:14:1306:14 | StoreValue | r1306_15 | -| ir.cpp:1308:5:1308:5 | Address | &:r1308_9 | -| ir.cpp:1308:9:1308:26 | Address | &:r1308_7 | -| ir.cpp:1308:9:1308:26 | Address | &:r1308_11 | -| ir.cpp:1308:9:1308:26 | Address | &:r1308_33 | -| ir.cpp:1308:9:1308:26 | Load | m1308_6 | -| ir.cpp:1308:9:1308:26 | Phi | from 20:m1308_12 | -| ir.cpp:1308:9:1308:26 | Phi | from 26:m1308_34 | -| ir.cpp:1308:9:1308:26 | StoreValue | r1308_8 | -| ir.cpp:1308:10:1308:10 | Address | &:r1308_1 | -| ir.cpp:1308:10:1308:10 | Condition | r1308_4 | -| ir.cpp:1308:10:1308:10 | Left | r1308_2 | -| ir.cpp:1308:10:1308:10 | Load | m1299_8 | -| ir.cpp:1308:10:1308:10 | Right | r1308_3 | -| ir.cpp:1308:10:1308:20 | Address | &:r1308_13 | -| ir.cpp:1308:10:1308:20 | Address | &:r1308_17 | -| ir.cpp:1308:10:1308:20 | Address | &:r1308_20 | -| ir.cpp:1308:10:1308:20 | Condition | r1308_18 | -| ir.cpp:1308:10:1308:20 | Load | m1308_16 | -| ir.cpp:1308:10:1308:20 | Phi | from 21:m1308_15 | -| ir.cpp:1308:10:1308:20 | Phi | from 23:m1308_22 | -| ir.cpp:1308:10:1308:20 | StoreValue | r1308_14 | -| ir.cpp:1308:10:1308:20 | StoreValue | r1308_18 | -| ir.cpp:1308:10:1308:20 | StoreValue | r1308_21 | -| ir.cpp:1308:15:1308:15 | Address | &:r1308_23 | -| ir.cpp:1308:15:1308:15 | Condition | r1308_24 | -| ir.cpp:1308:15:1308:15 | Load | m1299_6 | -| ir.cpp:1308:20:1308:20 | Address | &:r1308_26 | -| ir.cpp:1308:20:1308:20 | Condition | r1308_29 | -| ir.cpp:1308:20:1308:20 | Left | r1308_27 | -| ir.cpp:1308:20:1308:20 | Load | m1299_10 | -| ir.cpp:1308:20:1308:20 | Right | r1308_28 | -| ir.cpp:1308:26:1308:26 | Address | &:r1308_31 | -| ir.cpp:1308:26:1308:26 | Load | m1299_8 | -| ir.cpp:1308:26:1308:26 | StoreValue | r1308_32 | -| ir.cpp:1314:5:1314:27 | Address | &:r1314_9 | -| ir.cpp:1314:5:1314:27 | ChiPartial | partial:m1314_3 | -| ir.cpp:1314:5:1314:27 | ChiTotal | total:m1314_2 | -| ir.cpp:1314:5:1314:27 | Load | m1315_11 | -| ir.cpp:1314:5:1314:27 | SideEffect | ~m1315_7 | -| ir.cpp:1314:33:1314:33 | Address | &:r1314_5 | -| ir.cpp:1314:40:1314:40 | Address | &:r1314_7 | -| ir.cpp:1315:5:1315:48 | Address | &:r1315_1 | -| ir.cpp:1315:12:1315:21 | CallTarget | func:r1315_2 | -| ir.cpp:1315:12:1315:21 | ChiPartial | partial:m1315_4 | -| ir.cpp:1315:12:1315:21 | ChiTotal | total:m1314_4 | -| ir.cpp:1315:12:1315:21 | Condition | r1315_3 | -| ir.cpp:1315:12:1315:21 | SideEffect | ~m1314_4 | -| ir.cpp:1315:12:1315:47 | Address | &:r1315_9 | -| ir.cpp:1315:12:1315:47 | Address | &:r1315_19 | -| ir.cpp:1315:12:1315:47 | Address | &:r1315_24 | -| ir.cpp:1315:12:1315:47 | Load | m1315_8 | -| ir.cpp:1315:12:1315:47 | Phi | from 3:m1315_20 | -| ir.cpp:1315:12:1315:47 | Phi | from 3:~m1315_15 | -| ir.cpp:1315:12:1315:47 | Phi | from 4:m1315_25 | -| ir.cpp:1315:12:1315:47 | Phi | from 4:~m1315_21 | -| ir.cpp:1315:12:1315:47 | StoreValue | r1315_10 | -| ir.cpp:1315:28:1315:37 | CallTarget | func:r1315_12 | -| ir.cpp:1315:28:1315:37 | ChiPartial | partial:m1315_14 | -| ir.cpp:1315:28:1315:37 | ChiTotal | total:m1315_5 | -| ir.cpp:1315:28:1315:37 | Condition | r1315_13 | -| ir.cpp:1315:28:1315:37 | SideEffect | ~m1315_5 | -| ir.cpp:1315:43:1315:43 | Address | &:r1315_17 | -| ir.cpp:1315:43:1315:43 | Load | m1314_6 | -| ir.cpp:1315:43:1315:43 | StoreValue | r1315_18 | -| ir.cpp:1315:47:1315:47 | Address | &:r1315_22 | -| ir.cpp:1315:47:1315:47 | Load | m1314_8 | -| ir.cpp:1315:47:1315:47 | Phi | from 0:~m1315_5 | -| ir.cpp:1315:47:1315:47 | Phi | from 2:~m1315_15 | -| ir.cpp:1315:47:1315:47 | StoreValue | r1315_23 | -| ir.cpp:1320:6:1320:6 | ChiPartial | partial:m1320_3 | -| ir.cpp:1320:6:1320:6 | ChiTotal | total:m1320_2 | -| ir.cpp:1320:6:1320:6 | SideEffect | ~m1322_8 | -| ir.cpp:1320:13:1320:13 | Address | &:r1320_5 | -| ir.cpp:1320:13:1320:13 | Address | &:r1320_5 | -| ir.cpp:1320:13:1320:13 | Address | &:r1320_7 | -| ir.cpp:1320:13:1320:13 | Address | &:r1320_7 | -| ir.cpp:1320:13:1320:13 | Load | m1320_6 | -| ir.cpp:1320:13:1320:13 | SideEffect | m1320_8 | -| ir.cpp:1322:3:1322:13 | Address | &:r1322_6 | -| ir.cpp:1322:3:1322:13 | Arg(0) | 0:r1322_2 | -| ir.cpp:1322:3:1322:13 | CallTarget | func:r1322_1 | -| ir.cpp:1322:3:1322:13 | ChiPartial | partial:m1322_7 | -| ir.cpp:1322:3:1322:13 | ChiTotal | total:m1320_4 | -| ir.cpp:1322:3:1322:13 | SideEffect | ~m1320_4 | -| ir.cpp:1322:3:1322:13 | Unary | r1322_6 | -| ir.cpp:1322:8:1322:8 | Address | &:r1322_3 | -| ir.cpp:1322:8:1322:8 | Arg(1) | 1:r1322_5 | -| ir.cpp:1322:8:1322:8 | Load | m1320_6 | -| ir.cpp:1322:8:1322:8 | Unary | r1322_4 | -| ir.cpp:1326:3:1326:3 | Address | &:r1326_5 | -| ir.cpp:1326:3:1326:3 | Address | &:r1326_5 | -| ir.cpp:1326:3:1326:3 | Address | &:r1326_5 | -| ir.cpp:1326:3:1326:3 | Address | &:r1326_5 | -| ir.cpp:1326:3:1326:3 | ChiPartial | partial:m1326_3 | -| ir.cpp:1326:3:1326:3 | ChiPartial | partial:m1326_3 | -| ir.cpp:1326:3:1326:3 | ChiPartial | partial:m1326_3 | -| ir.cpp:1326:3:1326:3 | ChiPartial | partial:m1326_3 | -| ir.cpp:1326:3:1326:3 | ChiTotal | total:m1326_2 | -| ir.cpp:1326:3:1326:3 | ChiTotal | total:m1326_2 | -| ir.cpp:1326:3:1326:3 | ChiTotal | total:m1326_2 | -| ir.cpp:1326:3:1326:3 | ChiTotal | total:m1326_2 | -| ir.cpp:1326:3:1326:3 | Load | m1327_3 | -| ir.cpp:1326:3:1326:3 | Load | m1327_3 | -| ir.cpp:1326:3:1326:3 | Load | m1327_8 | -| ir.cpp:1326:3:1326:3 | Load | m1327_8 | -| ir.cpp:1326:3:1326:3 | SideEffect | m1326_3 | -| ir.cpp:1326:3:1326:3 | SideEffect | m1326_3 | -| ir.cpp:1326:3:1326:3 | SideEffect | ~m1327_6 | -| ir.cpp:1326:3:1326:3 | SideEffect | ~m1327_6 | -| ir.cpp:1327:5:1327:15 | Address | &:r1327_1 | -| ir.cpp:1327:5:1327:15 | Address | &:r1327_1 | -| ir.cpp:1327:5:1327:15 | Address | &:r1327_1 | -| ir.cpp:1327:5:1327:15 | Address | &:r1327_1 | -| ir.cpp:1327:5:1327:15 | Address | &:r1327_1 | -| ir.cpp:1327:5:1327:15 | Address | &:r1327_1 | -| ir.cpp:1327:5:1327:15 | Arg(this) | this:r1327_1 | -| ir.cpp:1327:5:1327:15 | Arg(this) | this:r1327_1 | -| ir.cpp:1327:5:1327:15 | CallTarget | func:r1327_3 | -| ir.cpp:1327:5:1327:15 | CallTarget | func:r1327_3 | -| ir.cpp:1327:5:1327:15 | ChiPartial | partial:m1327_5 | -| ir.cpp:1327:5:1327:15 | ChiPartial | partial:m1327_5 | -| ir.cpp:1327:5:1327:15 | ChiPartial | partial:m1327_7 | -| ir.cpp:1327:5:1327:15 | ChiPartial | partial:m1327_7 | -| ir.cpp:1327:5:1327:15 | ChiTotal | total:m1326_4 | -| ir.cpp:1327:5:1327:15 | ChiTotal | total:m1326_4 | -| ir.cpp:1327:5:1327:15 | ChiTotal | total:m1327_2 | -| ir.cpp:1327:5:1327:15 | ChiTotal | total:m1327_2 | -| ir.cpp:1327:5:1327:15 | SideEffect | ~m1326_4 | -| ir.cpp:1327:5:1327:15 | SideEffect | ~m1326_4 | -| ir.cpp:1327:5:1327:15 | StoreValue | r1327_2 | -| ir.cpp:1327:5:1327:15 | StoreValue | r1327_2 | -| ir.cpp:1365:6:1365:21 | ChiPartial | partial:m1365_3 | -| ir.cpp:1365:6:1365:21 | ChiTotal | total:m1365_2 | -| ir.cpp:1365:6:1365:21 | SideEffect | ~m1376_5 | -| ir.cpp:1366:12:1366:12 | Address | &:r1366_1 | -| ir.cpp:1366:16:1366:34 | CallTarget | func:r1366_2 | -| ir.cpp:1366:16:1366:34 | ChiPartial | partial:m1366_4 | -| ir.cpp:1366:16:1366:34 | ChiTotal | total:m1365_4 | -| ir.cpp:1366:16:1366:34 | SideEffect | ~m1365_4 | -| ir.cpp:1366:16:1366:34 | StoreValue | r1366_3 | -| ir.cpp:1367:19:1367:20 | Address | &:r1367_1 | -| ir.cpp:1367:24:1367:42 | CallTarget | func:r1367_3 | -| ir.cpp:1367:24:1367:42 | ChiPartial | partial:m1367_5 | -| ir.cpp:1367:24:1367:42 | ChiTotal | total:m1366_5 | -| ir.cpp:1367:24:1367:42 | SideEffect | ~m1366_5 | -| ir.cpp:1367:24:1367:42 | StoreValue | r1367_4 | -| ir.cpp:1367:24:1367:44 | Address | &:r1367_2 | -| ir.cpp:1367:24:1367:44 | StoreValue | r1367_9 | -| ir.cpp:1367:24:1367:44 | Unary | r1367_2 | -| ir.cpp:1367:24:1367:44 | Unary | r1367_8 | -| ir.cpp:1369:5:1369:13 | CallTarget | func:r1369_1 | -| ir.cpp:1369:5:1369:13 | ChiPartial | partial:m1369_6 | -| ir.cpp:1369:5:1369:13 | ChiTotal | total:m1367_6 | -| ir.cpp:1369:5:1369:13 | SideEffect | ~m1367_6 | -| ir.cpp:1369:15:1369:15 | Address | &:r1369_4 | -| ir.cpp:1369:15:1369:15 | Arg(0) | 0:r1369_4 | -| ir.cpp:1369:15:1369:15 | SideEffect | ~m1366_6 | -| ir.cpp:1369:15:1369:15 | Unary | r1369_2 | -| ir.cpp:1369:15:1369:15 | Unary | r1369_3 | -| ir.cpp:1370:5:1370:21 | CallTarget | func:r1370_1 | -| ir.cpp:1370:5:1370:21 | ChiPartial | partial:m1370_15 | -| ir.cpp:1370:5:1370:21 | ChiTotal | total:m1370_9 | -| ir.cpp:1370:5:1370:21 | SideEffect | ~m1370_9 | -| ir.cpp:1370:23:1370:27 | Address | &:r1370_2 | -| ir.cpp:1370:23:1370:27 | Address | &:r1370_2 | -| ir.cpp:1370:23:1370:27 | Address | &:r1370_6 | -| ir.cpp:1370:23:1370:27 | Address | &:r1370_13 | -| ir.cpp:1370:23:1370:27 | Arg(0) | 0:r1370_6 | -| ir.cpp:1370:23:1370:27 | Arg(0) | 0:r1370_13 | -| ir.cpp:1370:23:1370:27 | Arg(this) | this:r1370_2 | -| ir.cpp:1370:23:1370:27 | CallTarget | func:r1370_4 | -| ir.cpp:1370:23:1370:27 | ChiPartial | partial:m1370_8 | -| ir.cpp:1370:23:1370:27 | ChiPartial | partial:m1370_11 | -| ir.cpp:1370:23:1370:27 | ChiTotal | total:m1369_7 | -| ir.cpp:1370:23:1370:27 | ChiTotal | total:m1370_3 | -| ir.cpp:1370:23:1370:27 | SideEffect | ~m1365_3 | -| ir.cpp:1370:23:1370:27 | SideEffect | ~m1369_7 | -| ir.cpp:1370:23:1370:27 | SideEffect | ~m1370_12 | -| ir.cpp:1370:23:1370:27 | Unary | r1370_2 | -| ir.cpp:1370:23:1370:27 | Unary | r1370_5 | -| ir.cpp:1371:5:1371:15 | CallTarget | func:r1371_1 | -| ir.cpp:1371:5:1371:15 | ChiPartial | partial:m1371_16 | -| ir.cpp:1371:5:1371:15 | ChiTotal | total:m1371_10 | -| ir.cpp:1371:5:1371:15 | SideEffect | ~m1371_10 | -| ir.cpp:1371:17:1371:17 | Address | &:r1371_2 | -| ir.cpp:1371:17:1371:17 | Address | &:r1371_2 | -| ir.cpp:1371:17:1371:17 | Address | &:r1371_2 | -| ir.cpp:1371:17:1371:17 | Address | &:r1371_7 | -| ir.cpp:1371:17:1371:17 | Arg(0) | 0:r1371_7 | -| ir.cpp:1371:17:1371:17 | Arg(0) | 0:r1371_14 | -| ir.cpp:1371:17:1371:17 | Arg(this) | this:r1371_2 | -| ir.cpp:1371:17:1371:17 | CallTarget | func:r1371_4 | -| ir.cpp:1371:17:1371:17 | ChiPartial | partial:m1371_9 | -| ir.cpp:1371:17:1371:17 | ChiPartial | partial:m1371_12 | -| ir.cpp:1371:17:1371:17 | ChiTotal | total:m1370_16 | -| ir.cpp:1371:17:1371:17 | ChiTotal | total:m1371_3 | -| ir.cpp:1371:17:1371:17 | Load | m1371_13 | -| ir.cpp:1371:17:1371:17 | SideEffect | ~m1366_6 | -| ir.cpp:1371:17:1371:17 | SideEffect | ~m1370_16 | -| ir.cpp:1371:17:1371:17 | Unary | r1371_5 | -| ir.cpp:1371:17:1371:17 | Unary | r1371_6 | -| ir.cpp:1372:5:1372:23 | CallTarget | func:r1372_1 | -| ir.cpp:1372:5:1372:23 | ChiPartial | partial:m1372_15 | -| ir.cpp:1372:5:1372:23 | ChiTotal | total:m1372_9 | -| ir.cpp:1372:5:1372:23 | SideEffect | ~m1372_9 | -| ir.cpp:1372:25:1372:29 | Address | &:r1372_2 | -| ir.cpp:1372:25:1372:29 | Address | &:r1372_2 | -| ir.cpp:1372:25:1372:29 | Address | &:r1372_2 | -| ir.cpp:1372:25:1372:29 | Address | &:r1372_6 | -| ir.cpp:1372:25:1372:29 | Arg(0) | 0:r1372_6 | -| ir.cpp:1372:25:1372:29 | Arg(0) | 0:r1372_13 | -| ir.cpp:1372:25:1372:29 | Arg(this) | this:r1372_2 | -| ir.cpp:1372:25:1372:29 | CallTarget | func:r1372_4 | -| ir.cpp:1372:25:1372:29 | ChiPartial | partial:m1372_8 | -| ir.cpp:1372:25:1372:29 | ChiPartial | partial:m1372_11 | -| ir.cpp:1372:25:1372:29 | ChiTotal | total:m1371_17 | -| ir.cpp:1372:25:1372:29 | ChiTotal | total:m1372_3 | -| ir.cpp:1372:25:1372:29 | Load | m1372_12 | -| ir.cpp:1372:25:1372:29 | SideEffect | ~m1365_3 | -| ir.cpp:1372:25:1372:29 | SideEffect | ~m1371_17 | -| ir.cpp:1372:25:1372:29 | Unary | r1372_5 | -| ir.cpp:1373:5:1373:12 | Address | &:r1373_1 | -| ir.cpp:1373:5:1373:12 | Address | &:r1373_1 | -| ir.cpp:1373:5:1373:12 | Address | &:r1373_9 | -| ir.cpp:1373:5:1373:12 | Arg(this) | this:r1373_1 | -| ir.cpp:1373:5:1373:12 | Arg(this) | this:r1373_9 | -| ir.cpp:1373:5:1373:12 | CallTarget | func:r1373_3 | -| ir.cpp:1373:5:1373:12 | ChiPartial | partial:m1373_5 | -| ir.cpp:1373:5:1373:12 | ChiPartial | partial:m1373_7 | -| ir.cpp:1373:5:1373:12 | ChiTotal | total:m1372_16 | -| ir.cpp:1373:5:1373:12 | ChiTotal | total:m1373_2 | -| ir.cpp:1373:5:1373:12 | SideEffect | m1373_8 | -| ir.cpp:1373:5:1373:12 | SideEffect | ~m1372_16 | -| ir.cpp:1373:5:1373:12 | Unary | r1373_1 | -| ir.cpp:1373:14:1373:18 | CallTarget | func:r1373_10 | -| ir.cpp:1373:14:1373:18 | ChiPartial | partial:m1373_12 | -| ir.cpp:1373:14:1373:18 | ChiTotal | total:m1373_6 | -| ir.cpp:1373:14:1373:18 | SideEffect | ~m1373_6 | -| ir.cpp:1374:5:1374:23 | CallTarget | func:r1374_2 | -| ir.cpp:1374:5:1374:23 | ChiPartial | partial:m1374_4 | -| ir.cpp:1374:5:1374:23 | ChiTotal | total:m1373_13 | -| ir.cpp:1374:5:1374:23 | SideEffect | ~m1373_13 | -| ir.cpp:1374:5:1374:23 | StoreValue | r1374_3 | -| ir.cpp:1374:5:1374:25 | Address | &:r1374_1 | -| ir.cpp:1374:5:1374:25 | Address | &:r1374_7 | -| ir.cpp:1374:5:1374:25 | Arg(this) | this:r1374_7 | -| ir.cpp:1374:5:1374:25 | SideEffect | m1374_6 | -| ir.cpp:1374:5:1374:25 | Unary | r1374_1 | -| ir.cpp:1374:27:1374:31 | CallTarget | func:r1374_8 | -| ir.cpp:1374:27:1374:31 | ChiPartial | partial:m1374_10 | -| ir.cpp:1374:27:1374:31 | ChiTotal | total:m1374_5 | -| ir.cpp:1374:27:1374:31 | SideEffect | ~m1374_5 | -| ir.cpp:1376:5:1376:28 | CallTarget | func:r1376_2 | -| ir.cpp:1376:5:1376:28 | ChiPartial | partial:m1376_4 | -| ir.cpp:1376:5:1376:28 | ChiTotal | total:m1374_11 | -| ir.cpp:1376:5:1376:28 | SideEffect | ~m1374_11 | -| ir.cpp:1376:5:1376:28 | StoreValue | r1376_3 | -| ir.cpp:1376:5:1376:30 | Address | &:r1376_1 | -| ir.cpp:1379:6:1379:30 | ChiPartial | partial:m1379_3 | -| ir.cpp:1379:6:1379:30 | ChiTotal | total:m1379_2 | -| ir.cpp:1379:6:1379:30 | SideEffect | ~m1388_5 | -| ir.cpp:1380:21:1380:21 | Address | &:r1380_1 | -| ir.cpp:1380:25:1380:52 | CallTarget | func:r1380_2 | -| ir.cpp:1380:25:1380:52 | ChiPartial | partial:m1380_4 | -| ir.cpp:1380:25:1380:52 | ChiTotal | total:m1379_4 | -| ir.cpp:1380:25:1380:52 | SideEffect | ~m1379_4 | -| ir.cpp:1380:25:1380:52 | StoreValue | r1380_3 | -| ir.cpp:1381:28:1381:29 | Address | &:r1381_1 | -| ir.cpp:1381:33:1381:60 | CallTarget | func:r1381_3 | -| ir.cpp:1381:33:1381:60 | ChiPartial | partial:m1381_5 | -| ir.cpp:1381:33:1381:60 | ChiTotal | total:m1380_5 | -| ir.cpp:1381:33:1381:60 | SideEffect | ~m1380_5 | -| ir.cpp:1381:33:1381:60 | StoreValue | r1381_4 | -| ir.cpp:1381:33:1381:62 | Address | &:r1381_2 | -| ir.cpp:1381:33:1381:62 | StoreValue | r1381_9 | -| ir.cpp:1381:33:1381:62 | Unary | r1381_2 | -| ir.cpp:1381:33:1381:62 | Unary | r1381_8 | -| ir.cpp:1382:21:1382:22 | Address | &:r1382_1 | -| ir.cpp:1383:5:1383:13 | CallTarget | func:r1383_1 | -| ir.cpp:1383:5:1383:13 | ChiPartial | partial:m1383_6 | -| ir.cpp:1383:5:1383:13 | ChiTotal | total:m1381_6 | -| ir.cpp:1383:5:1383:13 | SideEffect | ~m1381_6 | -| ir.cpp:1383:15:1383:15 | Address | &:r1383_4 | -| ir.cpp:1383:15:1383:15 | Arg(0) | 0:r1383_4 | -| ir.cpp:1383:15:1383:15 | SideEffect | ~m1380_6 | -| ir.cpp:1383:15:1383:15 | Unary | r1383_2 | -| ir.cpp:1383:15:1383:15 | Unary | r1383_3 | -| ir.cpp:1384:5:1384:15 | CallTarget | func:r1384_1 | -| ir.cpp:1384:5:1384:15 | ChiPartial | partial:m1384_8 | -| ir.cpp:1384:5:1384:15 | ChiTotal | total:m1383_7 | -| ir.cpp:1384:5:1384:15 | SideEffect | ~m1383_7 | -| ir.cpp:1384:17:1384:17 | Address | &:r1384_2 | -| ir.cpp:1384:17:1384:17 | Address | &:r1384_2 | -| ir.cpp:1384:17:1384:17 | Address | &:r1384_3 | -| ir.cpp:1384:17:1384:17 | Arg(0) | 0:r1384_6 | -| ir.cpp:1384:17:1384:17 | Load | m1380_6 | -| ir.cpp:1384:17:1384:17 | Load | m1384_5 | -| ir.cpp:1384:17:1384:17 | StoreValue | r1384_4 | -| ir.cpp:1385:5:1385:21 | Address | &:r1385_1 | -| ir.cpp:1385:5:1385:21 | Address | &:r1385_1 | -| ir.cpp:1385:5:1385:21 | Address | &:r1385_1 | -| ir.cpp:1385:5:1385:21 | Arg(this) | this:r1385_1 | -| ir.cpp:1385:5:1385:21 | ChiPartial | partial:m1385_9 | -| ir.cpp:1385:5:1385:21 | ChiTotal | total:m1385_3 | -| ir.cpp:1385:5:1385:21 | SideEffect | m1385_3 | -| ir.cpp:1385:5:1385:21 | StoreValue | r1385_2 | -| ir.cpp:1385:23:1385:28 | CallTarget | func:r1385_4 | -| ir.cpp:1385:23:1385:28 | ChiPartial | partial:m1385_6 | -| ir.cpp:1385:23:1385:28 | ChiTotal | total:m1384_9 | -| ir.cpp:1385:23:1385:28 | SideEffect | ~m1384_9 | -| ir.cpp:1386:5:1386:32 | CallTarget | func:r1386_2 | -| ir.cpp:1386:5:1386:32 | ChiPartial | partial:m1386_4 | -| ir.cpp:1386:5:1386:32 | ChiTotal | total:m1385_7 | -| ir.cpp:1386:5:1386:32 | SideEffect | ~m1385_7 | -| ir.cpp:1386:5:1386:32 | StoreValue | r1386_3 | -| ir.cpp:1386:5:1386:34 | Address | &:r1386_1 | -| ir.cpp:1386:5:1386:34 | Address | &:r1386_1 | -| ir.cpp:1386:5:1386:34 | Address | &:r1386_1 | -| ir.cpp:1386:5:1386:34 | Arg(this) | this:r1386_1 | -| ir.cpp:1386:5:1386:34 | ChiPartial | partial:m1386_12 | -| ir.cpp:1386:5:1386:34 | ChiTotal | total:m1386_6 | -| ir.cpp:1386:5:1386:34 | SideEffect | m1386_6 | -| ir.cpp:1386:36:1386:41 | CallTarget | func:r1386_7 | -| ir.cpp:1386:36:1386:41 | ChiPartial | partial:m1386_9 | -| ir.cpp:1386:36:1386:41 | ChiTotal | total:m1386_5 | -| ir.cpp:1386:36:1386:41 | SideEffect | ~m1386_5 | -| ir.cpp:1388:5:1388:37 | CallTarget | func:r1388_2 | -| ir.cpp:1388:5:1388:37 | ChiPartial | partial:m1388_4 | -| ir.cpp:1388:5:1388:37 | ChiTotal | total:m1386_10 | -| ir.cpp:1388:5:1388:37 | SideEffect | ~m1386_10 | -| ir.cpp:1388:5:1388:37 | StoreValue | r1388_3 | -| ir.cpp:1388:5:1388:39 | Address | &:r1388_1 | -| ir.cpp:1391:6:1391:31 | ChiPartial | partial:m1391_3 | -| ir.cpp:1391:6:1391:31 | ChiTotal | total:m1391_2 | -| ir.cpp:1391:6:1391:31 | SideEffect | ~m1401_6 | -| ir.cpp:1392:22:1392:22 | Address | &:r1392_1 | -| ir.cpp:1392:26:1392:54 | CallTarget | func:r1392_2 | -| ir.cpp:1392:26:1392:54 | ChiPartial | partial:m1392_4 | -| ir.cpp:1392:26:1392:54 | ChiTotal | total:m1391_4 | -| ir.cpp:1392:26:1392:54 | SideEffect | ~m1391_4 | -| ir.cpp:1392:26:1392:54 | StoreValue | r1392_3 | -| ir.cpp:1393:29:1393:30 | Address | &:r1393_1 | -| ir.cpp:1393:34:1393:62 | CallTarget | func:r1393_3 | -| ir.cpp:1393:34:1393:62 | ChiPartial | partial:m1393_5 | -| ir.cpp:1393:34:1393:62 | ChiTotal | total:m1392_5 | -| ir.cpp:1393:34:1393:62 | SideEffect | ~m1392_5 | -| ir.cpp:1393:34:1393:62 | StoreValue | r1393_4 | -| ir.cpp:1393:34:1393:64 | Address | &:r1393_2 | -| ir.cpp:1393:34:1393:64 | StoreValue | r1393_9 | -| ir.cpp:1393:34:1393:64 | Unary | r1393_2 | -| ir.cpp:1393:34:1393:64 | Unary | r1393_8 | -| ir.cpp:1394:22:1394:23 | Address | &:r1394_1 | -| ir.cpp:1394:22:1394:23 | Address | &:r1394_1 | -| ir.cpp:1394:22:1394:23 | Arg(this) | this:r1394_1 | -| ir.cpp:1394:22:1394:23 | CallTarget | func:r1394_3 | -| ir.cpp:1394:22:1394:23 | ChiPartial | partial:m1394_5 | -| ir.cpp:1394:22:1394:23 | ChiPartial | partial:m1394_7 | -| ir.cpp:1394:22:1394:23 | ChiTotal | total:m1393_6 | -| ir.cpp:1394:22:1394:23 | ChiTotal | total:m1394_2 | -| ir.cpp:1394:22:1394:23 | SideEffect | ~m1393_6 | -| ir.cpp:1395:5:1395:13 | CallTarget | func:r1395_1 | -| ir.cpp:1395:5:1395:13 | ChiPartial | partial:m1395_6 | -| ir.cpp:1395:5:1395:13 | ChiTotal | total:m1394_6 | -| ir.cpp:1395:5:1395:13 | SideEffect | ~m1394_6 | -| ir.cpp:1395:15:1395:15 | Address | &:r1395_4 | -| ir.cpp:1395:15:1395:15 | Arg(0) | 0:r1395_4 | -| ir.cpp:1395:15:1395:15 | SideEffect | ~m1392_6 | -| ir.cpp:1395:15:1395:15 | Unary | r1395_2 | -| ir.cpp:1395:15:1395:15 | Unary | r1395_3 | -| ir.cpp:1396:5:1396:15 | CallTarget | func:r1396_1 | -| ir.cpp:1396:5:1396:15 | ChiPartial | partial:m1396_16 | -| ir.cpp:1396:5:1396:15 | ChiTotal | total:m1396_10 | -| ir.cpp:1396:5:1396:15 | SideEffect | ~m1396_10 | -| ir.cpp:1396:17:1396:17 | Address | &:r1396_2 | -| ir.cpp:1396:17:1396:17 | Address | &:r1396_2 | -| ir.cpp:1396:17:1396:17 | Address | &:r1396_2 | -| ir.cpp:1396:17:1396:17 | Address | &:r1396_7 | -| ir.cpp:1396:17:1396:17 | Arg(0) | 0:r1396_7 | -| ir.cpp:1396:17:1396:17 | Arg(0) | 0:r1396_14 | -| ir.cpp:1396:17:1396:17 | Arg(this) | this:r1396_2 | -| ir.cpp:1396:17:1396:17 | CallTarget | func:r1396_4 | -| ir.cpp:1396:17:1396:17 | ChiPartial | partial:m1396_9 | -| ir.cpp:1396:17:1396:17 | ChiPartial | partial:m1396_12 | -| ir.cpp:1396:17:1396:17 | ChiTotal | total:m1395_7 | -| ir.cpp:1396:17:1396:17 | ChiTotal | total:m1396_3 | -| ir.cpp:1396:17:1396:17 | Load | m1396_13 | -| ir.cpp:1396:17:1396:17 | SideEffect | ~m1392_6 | -| ir.cpp:1396:17:1396:17 | SideEffect | ~m1395_7 | -| ir.cpp:1396:17:1396:17 | Unary | r1396_5 | -| ir.cpp:1396:17:1396:17 | Unary | r1396_6 | -| ir.cpp:1397:5:1397:22 | Address | &:r1397_1 | -| ir.cpp:1397:5:1397:22 | Address | &:r1397_1 | -| ir.cpp:1397:5:1397:22 | Address | &:r1397_1 | -| ir.cpp:1397:5:1397:22 | Address | &:r1397_1 | -| ir.cpp:1397:5:1397:22 | Arg(this) | this:r1397_1 | -| ir.cpp:1397:5:1397:22 | Arg(this) | this:r1397_1 | -| ir.cpp:1397:5:1397:22 | CallTarget | func:r1397_3 | -| ir.cpp:1397:5:1397:22 | ChiPartial | partial:m1397_5 | -| ir.cpp:1397:5:1397:22 | ChiPartial | partial:m1397_7 | -| ir.cpp:1397:5:1397:22 | ChiPartial | partial:m1397_14 | -| ir.cpp:1397:5:1397:22 | ChiTotal | total:m1396_17 | -| ir.cpp:1397:5:1397:22 | ChiTotal | total:m1397_2 | -| ir.cpp:1397:5:1397:22 | ChiTotal | total:m1397_8 | -| ir.cpp:1397:5:1397:22 | SideEffect | m1397_8 | -| ir.cpp:1397:5:1397:22 | SideEffect | ~m1396_17 | -| ir.cpp:1397:24:1397:29 | CallTarget | func:r1397_9 | -| ir.cpp:1397:24:1397:29 | ChiPartial | partial:m1397_11 | -| ir.cpp:1397:24:1397:29 | ChiTotal | total:m1397_6 | -| ir.cpp:1397:24:1397:29 | SideEffect | ~m1397_6 | -| ir.cpp:1398:5:1398:33 | CallTarget | func:r1398_2 | -| ir.cpp:1398:5:1398:33 | ChiPartial | partial:m1398_4 | -| ir.cpp:1398:5:1398:33 | ChiTotal | total:m1397_12 | -| ir.cpp:1398:5:1398:33 | SideEffect | ~m1397_12 | -| ir.cpp:1398:5:1398:33 | StoreValue | r1398_3 | -| ir.cpp:1398:5:1398:35 | Address | &:r1398_1 | -| ir.cpp:1398:5:1398:35 | Address | &:r1398_1 | -| ir.cpp:1398:5:1398:35 | Address | &:r1398_1 | -| ir.cpp:1398:5:1398:35 | Arg(this) | this:r1398_1 | -| ir.cpp:1398:5:1398:35 | ChiPartial | partial:m1398_12 | -| ir.cpp:1398:5:1398:35 | ChiTotal | total:m1398_6 | -| ir.cpp:1398:5:1398:35 | SideEffect | m1398_6 | -| ir.cpp:1398:37:1398:42 | CallTarget | func:r1398_7 | -| ir.cpp:1398:37:1398:42 | ChiPartial | partial:m1398_9 | -| ir.cpp:1398:37:1398:42 | ChiTotal | total:m1398_5 | -| ir.cpp:1398:37:1398:42 | SideEffect | ~m1398_5 | -| ir.cpp:1399:5:1399:38 | CallTarget | func:r1399_2 | -| ir.cpp:1399:5:1399:38 | ChiPartial | partial:m1399_4 | -| ir.cpp:1399:5:1399:38 | ChiTotal | total:m1398_10 | -| ir.cpp:1399:5:1399:38 | SideEffect | ~m1398_10 | -| ir.cpp:1399:5:1399:38 | StoreValue | r1399_3 | -| ir.cpp:1399:5:1399:40 | Address | &:r1399_1 | -| ir.cpp:1401:9:1401:9 | Address | &:r1401_1 | -| ir.cpp:1401:13:1401:41 | CallTarget | func:r1401_3 | -| ir.cpp:1401:13:1401:41 | ChiPartial | partial:m1401_5 | -| ir.cpp:1401:13:1401:41 | ChiTotal | total:m1399_5 | -| ir.cpp:1401:13:1401:41 | SideEffect | ~m1399_5 | -| ir.cpp:1401:13:1401:41 | StoreValue | r1401_4 | -| ir.cpp:1401:13:1401:43 | Address | &:r1401_2 | -| ir.cpp:1401:13:1401:43 | Unary | r1401_2 | -| ir.cpp:1401:45:1401:45 | Address | &:r1401_8 | -| ir.cpp:1401:45:1401:45 | Load | ~m1401_7 | -| ir.cpp:1401:45:1401:45 | StoreValue | r1401_9 | -| ir.cpp:1404:6:1404:20 | ChiPartial | partial:m1404_3 | -| ir.cpp:1404:6:1404:20 | ChiTotal | total:m1404_2 | -| ir.cpp:1404:6:1404:20 | SideEffect | ~m1413_4 | -| ir.cpp:1405:11:1405:11 | Address | &:r1405_1 | -| ir.cpp:1405:15:1405:32 | CallTarget | func:r1405_2 | -| ir.cpp:1405:15:1405:32 | ChiPartial | partial:m1405_4 | -| ir.cpp:1405:15:1405:32 | ChiTotal | total:m1404_4 | -| ir.cpp:1405:15:1405:32 | SideEffect | ~m1404_4 | -| ir.cpp:1405:15:1405:32 | StoreValue | r1405_3 | -| ir.cpp:1406:18:1406:19 | Address | &:r1406_1 | -| ir.cpp:1406:23:1406:40 | CallTarget | func:r1406_3 | -| ir.cpp:1406:23:1406:40 | ChiPartial | partial:m1406_5 | -| ir.cpp:1406:23:1406:40 | ChiTotal | total:m1405_5 | -| ir.cpp:1406:23:1406:40 | SideEffect | ~m1405_5 | -| ir.cpp:1406:23:1406:40 | StoreValue | r1406_4 | -| ir.cpp:1406:23:1406:42 | Address | &:r1406_2 | -| ir.cpp:1406:23:1406:42 | StoreValue | r1406_9 | -| ir.cpp:1406:23:1406:42 | Unary | r1406_2 | -| ir.cpp:1406:23:1406:42 | Unary | r1406_8 | -| ir.cpp:1408:5:1408:13 | CallTarget | func:r1408_1 | -| ir.cpp:1408:5:1408:13 | ChiPartial | partial:m1408_6 | -| ir.cpp:1408:5:1408:13 | ChiTotal | total:m1406_6 | -| ir.cpp:1408:5:1408:13 | SideEffect | ~m1406_6 | -| ir.cpp:1408:15:1408:15 | Address | &:r1408_4 | -| ir.cpp:1408:15:1408:15 | Arg(0) | 0:r1408_4 | -| ir.cpp:1408:15:1408:15 | SideEffect | ~m1405_6 | -| ir.cpp:1408:15:1408:15 | Unary | r1408_2 | -| ir.cpp:1408:15:1408:15 | Unary | r1408_3 | -| ir.cpp:1409:5:1409:15 | CallTarget | func:r1409_1 | -| ir.cpp:1409:5:1409:15 | ChiPartial | partial:m1409_5 | -| ir.cpp:1409:5:1409:15 | ChiTotal | total:m1408_7 | -| ir.cpp:1409:5:1409:15 | SideEffect | ~m1408_7 | -| ir.cpp:1409:17:1409:17 | Address | &:r1409_2 | -| ir.cpp:1409:17:1409:17 | Arg(0) | 0:r1409_3 | -| ir.cpp:1409:17:1409:17 | Load | m1405_6 | -| ir.cpp:1411:9:1411:9 | Address | &:r1411_1 | -| ir.cpp:1411:13:1411:30 | Address | &:r1411_6 | -| ir.cpp:1411:13:1411:30 | CallTarget | func:r1411_2 | -| ir.cpp:1411:13:1411:30 | ChiPartial | partial:m1411_4 | -| ir.cpp:1411:13:1411:30 | ChiTotal | total:m1409_6 | -| ir.cpp:1411:13:1411:30 | SideEffect | ~m1409_6 | -| ir.cpp:1411:13:1411:30 | StoreValue | r1411_3 | -| ir.cpp:1411:13:1411:30 | Unary | r1411_6 | -| ir.cpp:1411:34:1411:34 | Address | &:r1411_8 | -| ir.cpp:1411:34:1411:34 | Load | ~m1411_7 | -| ir.cpp:1411:34:1411:34 | StoreValue | r1411_9 | -| ir.cpp:1413:5:1413:27 | CallTarget | func:r1413_1 | -| ir.cpp:1413:5:1413:27 | ChiPartial | partial:m1413_3 | -| ir.cpp:1413:5:1413:27 | ChiTotal | total:m1411_5 | -| ir.cpp:1413:5:1413:27 | SideEffect | ~m1411_5 | -| ir.cpp:1421:6:1421:29 | ChiPartial | partial:m1421_3 | -| ir.cpp:1421:6:1421:29 | ChiTotal | total:m1421_2 | -| ir.cpp:1421:6:1421:29 | SideEffect | ~m1426_5 | -| ir.cpp:1422:16:1422:17 | Address | &:r1422_1 | -| ir.cpp:1422:21:1422:46 | Address | &:r1422_6 | -| ir.cpp:1422:21:1422:46 | CallTarget | func:r1422_2 | -| ir.cpp:1422:21:1422:46 | ChiPartial | partial:m1422_4 | -| ir.cpp:1422:21:1422:46 | ChiTotal | total:m1421_4 | -| ir.cpp:1422:21:1422:46 | SideEffect | ~m1421_4 | -| ir.cpp:1422:21:1422:46 | StoreValue | r1422_3 | -| ir.cpp:1422:21:1422:46 | Unary | r1422_6 | -| ir.cpp:1422:21:1422:50 | StoreValue | r1422_12 | -| ir.cpp:1422:21:1422:50 | Unary | r1422_10 | -| ir.cpp:1422:21:1422:50 | Unary | r1422_11 | -| ir.cpp:1422:50:1422:50 | Address | &:r1422_8 | -| ir.cpp:1422:50:1422:50 | Load | ~m1422_7 | -| ir.cpp:1422:50:1422:50 | Unary | r1422_9 | -| ir.cpp:1423:9:1423:9 | Address | &:r1423_1 | -| ir.cpp:1423:13:1423:38 | Address | &:r1423_6 | -| ir.cpp:1423:13:1423:38 | CallTarget | func:r1423_2 | -| ir.cpp:1423:13:1423:38 | ChiPartial | partial:m1423_4 | -| ir.cpp:1423:13:1423:38 | ChiTotal | total:m1422_5 | -| ir.cpp:1423:13:1423:38 | SideEffect | ~m1422_5 | -| ir.cpp:1423:13:1423:38 | StoreValue | r1423_3 | -| ir.cpp:1423:13:1423:38 | Unary | r1423_6 | -| ir.cpp:1423:13:1423:42 | Load | ~m1423_5 | -| ir.cpp:1423:13:1423:42 | StoreValue | r1423_10 | -| ir.cpp:1423:42:1423:42 | Address | &:r1423_8 | -| ir.cpp:1423:42:1423:42 | Address | &:r1423_9 | -| ir.cpp:1423:42:1423:42 | Load | ~m1423_7 | -| ir.cpp:1425:18:1425:19 | Address | &:r1425_1 | -| ir.cpp:1425:23:1425:48 | Address | &:r1425_6 | -| ir.cpp:1425:23:1425:48 | CallTarget | func:r1425_2 | -| ir.cpp:1425:23:1425:48 | ChiPartial | partial:m1425_4 | -| ir.cpp:1425:23:1425:48 | ChiTotal | total:m1423_5 | -| ir.cpp:1425:23:1425:48 | SideEffect | ~m1423_5 | -| ir.cpp:1425:23:1425:48 | StoreValue | r1425_3 | -| ir.cpp:1425:23:1425:48 | Unary | r1425_6 | -| ir.cpp:1425:23:1425:52 | Left | r1425_9 | -| ir.cpp:1425:23:1425:55 | StoreValue | r1425_13 | -| ir.cpp:1425:23:1425:55 | Unary | r1425_11 | -| ir.cpp:1425:23:1425:55 | Unary | r1425_12 | -| ir.cpp:1425:52:1425:52 | Unary | r1425_8 | -| ir.cpp:1425:54:1425:54 | Right | r1425_10 | -| ir.cpp:1426:11:1426:11 | Address | &:r1426_1 | -| ir.cpp:1426:15:1426:40 | Address | &:r1426_6 | -| ir.cpp:1426:15:1426:40 | CallTarget | func:r1426_2 | -| ir.cpp:1426:15:1426:40 | ChiPartial | partial:m1426_4 | -| ir.cpp:1426:15:1426:40 | ChiTotal | total:m1425_5 | -| ir.cpp:1426:15:1426:40 | SideEffect | ~m1425_5 | -| ir.cpp:1426:15:1426:40 | StoreValue | r1426_3 | -| ir.cpp:1426:15:1426:40 | Unary | r1426_6 | -| ir.cpp:1426:15:1426:44 | Left | r1426_9 | -| ir.cpp:1426:15:1426:47 | Address | &:r1426_11 | -| ir.cpp:1426:15:1426:47 | Load | ~m1426_7 | -| ir.cpp:1426:15:1426:47 | StoreValue | r1426_12 | -| ir.cpp:1426:44:1426:44 | Unary | r1426_8 | -| ir.cpp:1426:46:1426:46 | Right | r1426_10 | -| ir.cpp:1443:6:1443:24 | ChiPartial | partial:m1443_3 | -| ir.cpp:1443:6:1443:24 | ChiTotal | total:m1443_2 | -| ir.cpp:1443:6:1443:24 | SideEffect | ~m1447_10 | -| ir.cpp:1444:14:1444:14 | Address | &:r1444_1 | -| ir.cpp:1444:18:1444:40 | CallTarget | func:r1444_2 | -| ir.cpp:1444:18:1444:40 | ChiPartial | partial:m1444_4 | -| ir.cpp:1444:18:1444:40 | ChiTotal | total:m1443_4 | -| ir.cpp:1444:18:1444:40 | SideEffect | ~m1443_4 | -| ir.cpp:1444:18:1444:40 | StoreValue | r1444_3 | -| ir.cpp:1445:5:1445:5 | Address | &:r1445_10 | -| ir.cpp:1445:9:1445:36 | Address | &:r1445_1 | -| ir.cpp:1445:9:1445:36 | Address | &:r1445_8 | -| ir.cpp:1445:9:1445:36 | Load | ~m1445_6 | -| ir.cpp:1445:9:1445:36 | StoreValue | r1445_9 | -| ir.cpp:1445:9:1445:36 | Unary | r1445_1 | -| ir.cpp:1445:9:1445:36 | Unary | r1445_7 | -| ir.cpp:1445:10:1445:33 | CallTarget | func:r1445_2 | -| ir.cpp:1445:10:1445:33 | ChiPartial | partial:m1445_4 | -| ir.cpp:1445:10:1445:33 | ChiTotal | total:m1444_5 | -| ir.cpp:1445:10:1445:33 | SideEffect | ~m1444_5 | -| ir.cpp:1445:10:1445:33 | StoreValue | r1445_3 | -| ir.cpp:1446:9:1446:9 | Address | &:r1446_1 | -| ir.cpp:1446:13:1446:36 | CallTarget | func:r1446_2 | -| ir.cpp:1446:13:1446:36 | ChiPartial | partial:m1446_4 | -| ir.cpp:1446:13:1446:36 | ChiTotal | total:m1445_5 | -| ir.cpp:1446:13:1446:36 | SideEffect | ~m1445_5 | -| ir.cpp:1446:13:1446:36 | StoreValue | r1446_3 | -| ir.cpp:1446:40:1446:40 | Address | &:r1446_7 | -| ir.cpp:1446:40:1446:40 | Load | ~m1446_6 | -| ir.cpp:1446:40:1446:40 | StoreValue | r1446_8 | -| ir.cpp:1447:11:1447:11 | Address | &:r1447_1 | -| ir.cpp:1447:16:1447:39 | CallTarget | func:r1447_2 | -| ir.cpp:1447:16:1447:39 | ChiPartial | partial:m1447_4 | -| ir.cpp:1447:16:1447:39 | ChiTotal | total:m1446_5 | -| ir.cpp:1447:16:1447:39 | SideEffect | ~m1446_5 | -| ir.cpp:1447:16:1447:39 | StoreValue | r1447_3 | -| ir.cpp:1447:44:1447:44 | Arg(this) | this:r0_11 | -| ir.cpp:1447:44:1447:44 | CallTarget | func:r1447_7 | -| ir.cpp:1447:44:1447:44 | ChiPartial | partial:m1447_9 | -| ir.cpp:1447:44:1447:44 | ChiTotal | total:m1447_5 | -| ir.cpp:1447:44:1447:44 | SideEffect | ~m1447_5 | -| ir.cpp:1447:44:1447:44 | StoreValue | r1447_8 | -| ir.cpp:1451:3:1451:21 | Address | &:r1451_5 | -| ir.cpp:1451:3:1451:21 | Address | &:r1451_5 | -| ir.cpp:1451:3:1451:21 | Address | &:r1451_7 | -| ir.cpp:1451:3:1451:21 | Address | &:r1451_7 | -| ir.cpp:1451:3:1451:21 | ChiPartial | partial:m1451_3 | -| ir.cpp:1451:3:1451:21 | ChiTotal | total:m1451_2 | -| ir.cpp:1451:3:1451:21 | Load | m1451_6 | -| ir.cpp:1451:3:1451:21 | SideEffect | m1451_3 | -| ir.cpp:1451:3:1451:21 | SideEffect | m1451_8 | -| ir.cpp:1457:3:1457:20 | Address | &:r1457_5 | -| ir.cpp:1457:3:1457:20 | Address | &:r1457_5 | -| ir.cpp:1457:3:1457:20 | Address | &:r1457_7 | -| ir.cpp:1457:3:1457:20 | Address | &:r1457_7 | -| ir.cpp:1457:3:1457:20 | ChiPartial | partial:m1457_3 | -| ir.cpp:1457:3:1457:20 | ChiTotal | total:m1457_2 | -| ir.cpp:1457:3:1457:20 | Load | m1457_6 | -| ir.cpp:1457:3:1457:20 | SideEffect | m1457_3 | -| ir.cpp:1457:3:1457:20 | SideEffect | m1458_6 | -| ir.cpp:1457:3:1457:20 | Unary | m1457_6 | -| ir.cpp:1457:26:1457:30 | Address | &:r1457_9 | -| ir.cpp:1457:26:1457:30 | ChiPartial | partial:m1457_11 | -| ir.cpp:1457:26:1457:30 | ChiTotal | total:m1457_8 | -| ir.cpp:1457:26:1457:30 | StoreValue | r1457_10 | -| ir.cpp:1458:5:1458:5 | Address | &:r1458_2 | -| ir.cpp:1458:5:1458:5 | Address | &:r1458_4 | -| ir.cpp:1458:5:1458:5 | Load | m1457_6 | -| ir.cpp:1458:5:1458:5 | Unary | r1458_3 | -| ir.cpp:1458:5:1458:9 | ChiPartial | partial:m1458_5 | -| ir.cpp:1458:5:1458:9 | ChiTotal | total:m1457_12 | -| ir.cpp:1458:9:1458:9 | StoreValue | r1458_1 | -| ir.cpp:1462:6:1462:29 | ChiPartial | partial:m1462_3 | -| ir.cpp:1462:6:1462:29 | ChiTotal | total:m1462_2 | -| ir.cpp:1462:6:1462:29 | SideEffect | m1462_3 | -| ir.cpp:1463:9:1463:10 | Address | &:r1463_1 | -| ir.cpp:1463:9:1463:10 | Left | r1463_1 | -| ir.cpp:1463:9:1463:10 | Left | r1463_1 | -| ir.cpp:1463:16:1463:22 | Address | &:r1463_4 | -| ir.cpp:1463:16:1463:22 | Address | &:r1463_9 | -| ir.cpp:1463:16:1463:22 | Right | r1463_3 | -| ir.cpp:1463:16:1463:22 | Right | r1463_8 | -| ir.cpp:1463:18:1463:18 | ChiPartial | partial:m1463_6 | -| ir.cpp:1463:18:1463:18 | ChiTotal | total:m1463_2 | -| ir.cpp:1463:18:1463:18 | StoreValue | r1463_5 | -| ir.cpp:1463:21:1463:21 | ChiPartial | partial:m1463_11 | -| ir.cpp:1463:21:1463:21 | ChiTotal | total:m1463_7 | -| ir.cpp:1463:21:1463:21 | StoreValue | r1463_10 | -| ir.cpp:1466:15:1466:15 | Address | &:r1466_1 | -| ir.cpp:1466:16:1466:16 | Address | &:r1466_5 | -| ir.cpp:1466:20:1466:20 | Address | &:r1466_6 | -| ir.cpp:1466:26:1466:27 | StoreValue | r1466_3 | -| ir.cpp:1466:26:1466:27 | Unary | r1466_2 | -| ir.cpp:1467:9:1467:10 | Address | &:r1467_2 | -| ir.cpp:1467:9:1467:10 | Address | &:r1467_3 | -| ir.cpp:1467:9:1467:10 | Load | m0_14 | -| ir.cpp:1467:9:1467:14 | ChiPartial | partial:m1467_4 | -| ir.cpp:1467:9:1467:14 | ChiTotal | total:m1463_12 | -| ir.cpp:1467:14:1467:14 | StoreValue | r1467_1 | -| ir.cpp:1468:14:1468:16 | Address | &:r1468_1 | -| ir.cpp:1468:20:1468:21 | Address | &:r1468_2 | -| ir.cpp:1468:20:1468:21 | Load | m0_14 | -| ir.cpp:1468:20:1468:21 | StoreValue | r1468_4 | -| ir.cpp:1468:20:1468:21 | Unary | r1468_3 | -| ir.cpp:1469:13:1469:13 | Address | &:r1469_1 | -| ir.cpp:1469:17:1469:18 | Address | &:r1469_2 | -| ir.cpp:1469:17:1469:18 | Address | &:r1469_3 | -| ir.cpp:1469:17:1469:18 | Load | m0_14 | -| ir.cpp:1469:17:1469:18 | Load | m1467_4 | -| ir.cpp:1469:17:1469:18 | StoreValue | r1469_4 | -| ir.cpp:1473:15:1473:36 | Address | &:r1473_1 | -| ir.cpp:1473:40:1473:41 | StoreValue | r1473_3 | -| ir.cpp:1473:40:1473:41 | Unary | r1473_2 | -| ir.cpp:1474:15:1474:16 | Address | &:r1474_1 | -| ir.cpp:1474:20:1474:41 | Address | &:r1474_2 | -| ir.cpp:1474:20:1474:41 | Left | r1474_5 | -| ir.cpp:1474:20:1474:41 | Load | m1473_4 | -| ir.cpp:1474:20:1474:41 | Unary | r1474_3 | -| ir.cpp:1474:20:1474:41 | Unary | r1474_4 | -| ir.cpp:1474:20:1474:44 | StoreValue | r1474_8 | -| ir.cpp:1474:20:1474:44 | Unary | r1474_7 | -| ir.cpp:1474:43:1474:43 | Right | r1474_6 | -| ir.cpp:1475:15:1475:16 | Address | &:r1475_1 | -| ir.cpp:1475:20:1475:41 | Address | &:r1475_2 | -| ir.cpp:1475:20:1475:41 | Left | r1475_5 | -| ir.cpp:1475:20:1475:41 | Load | m1473_4 | -| ir.cpp:1475:20:1475:41 | Unary | r1475_3 | -| ir.cpp:1475:20:1475:41 | Unary | r1475_4 | -| ir.cpp:1475:20:1475:44 | StoreValue | r1475_8 | -| ir.cpp:1475:20:1475:44 | Unary | r1475_7 | -| ir.cpp:1475:43:1475:43 | Right | r1475_6 | -| ir.cpp:1476:9:1476:10 | Address | &:r1476_2 | -| ir.cpp:1476:9:1476:10 | Address | &:r1476_4 | -| ir.cpp:1476:9:1476:10 | Load | m1475_9 | -| ir.cpp:1476:9:1476:10 | Unary | r1476_3 | -| ir.cpp:1476:9:1476:14 | ChiPartial | partial:m1476_5 | -| ir.cpp:1476:9:1476:14 | ChiTotal | total:m1467_5 | -| ir.cpp:1476:14:1476:14 | StoreValue | r1476_1 | -| ir.cpp:1477:14:1477:16 | Address | &:r1477_1 | -| ir.cpp:1477:20:1477:21 | Address | &:r1477_2 | -| ir.cpp:1477:20:1477:21 | Load | m1475_9 | -| ir.cpp:1477:20:1477:21 | StoreValue | r1477_5 | -| ir.cpp:1477:20:1477:21 | Unary | r1477_3 | -| ir.cpp:1477:20:1477:21 | Unary | r1477_4 | -| ir.cpp:1478:13:1478:13 | Address | &:r1478_1 | -| ir.cpp:1478:17:1478:18 | Address | &:r1478_2 | -| ir.cpp:1478:17:1478:18 | Address | &:r1478_3 | -| ir.cpp:1478:17:1478:18 | Load | m1475_9 | -| ir.cpp:1478:17:1478:18 | Load | m1476_5 | -| ir.cpp:1478:17:1478:18 | StoreValue | r1478_4 | -| ir.cpp:1482:8:1482:8 | Address | &:r1482_5 | -| ir.cpp:1482:8:1482:8 | Address | &:r1482_5 | -| ir.cpp:1482:8:1482:8 | Address | &:r1482_7 | -| ir.cpp:1482:8:1482:8 | Address | &:r1482_7 | -| ir.cpp:1482:8:1482:8 | ChiPartial | partial:m1482_3 | -| ir.cpp:1482:8:1482:8 | ChiTotal | total:m1482_2 | -| ir.cpp:1482:8:1482:8 | Load | m1482_6 | -| ir.cpp:1482:8:1482:8 | SideEffect | m1482_3 | -| ir.cpp:1482:8:1482:8 | SideEffect | m1482_8 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_5 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_5 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_5 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_5 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_7 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_7 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_7 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_7 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_9 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_10 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_13 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_17 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_18 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_21 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_25 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_26 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_29 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_33 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_34 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_37 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_41 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_42 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_45 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_49 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_50 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_53 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_57 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_58 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_61 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_65 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_66 | -| ir.cpp:1486:8:1486:8 | Address | &:r1486_69 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_3 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_3 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_15 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_23 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_31 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_39 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_47 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_55 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_63 | -| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_71 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_2 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_2 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_8 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_16 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_24 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_32 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_40 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_48 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_56 | -| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_64 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m0_2 | -| ir.cpp:1486:8:1486:8 | Load | m1486_6 | -| ir.cpp:1486:8:1486:8 | Load | m1486_6 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | Load | ~m0_4 | -| ir.cpp:1486:8:1486:8 | SideEffect | m1486_3 | -| ir.cpp:1486:8:1486:8 | SideEffect | m1486_3 | -| ir.cpp:1486:8:1486:8 | SideEffect | m1486_8 | -| ir.cpp:1486:8:1486:8 | SideEffect | m1486_72 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_14 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_22 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_30 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_38 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_46 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_54 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_62 | -| ir.cpp:1486:8:1486:8 | StoreValue | r1486_70 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | m1486_6 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_11 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_12 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_19 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_20 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_27 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_28 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_35 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_36 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_43 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_44 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_51 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_52 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_59 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_60 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_67 | -| ir.cpp:1486:8:1486:8 | Unary | r1486_68 | -| ir.cpp:1499:6:1499:35 | ChiPartial | partial:m1499_3 | -| ir.cpp:1499:6:1499:35 | ChiTotal | total:m1499_2 | -| ir.cpp:1499:6:1499:35 | SideEffect | ~m1525_7 | -| ir.cpp:1500:39:1500:39 | Address | &:r1500_1 | -| ir.cpp:1500:39:1500:39 | Address | &:r1500_1 | -| ir.cpp:1500:39:1500:39 | Arg(this) | this:r1500_1 | -| ir.cpp:1500:39:1500:39 | CallTarget | func:r1500_3 | -| ir.cpp:1500:39:1500:39 | ChiPartial | partial:m1500_5 | -| ir.cpp:1500:39:1500:39 | ChiPartial | partial:m1500_7 | -| ir.cpp:1500:39:1500:39 | ChiTotal | total:m1499_4 | -| ir.cpp:1500:39:1500:39 | ChiTotal | total:m1500_2 | -| ir.cpp:1500:39:1500:39 | SideEffect | ~m1499_4 | -| ir.cpp:1503:14:1503:14 | Address | &:r1503_1 | -| ir.cpp:1503:15:1503:15 | Address | &:r1503_5 | -| ir.cpp:1503:18:1503:18 | Address | &:r1503_9 | -| ir.cpp:1503:21:1503:21 | Address | &:r1503_13 | -| ir.cpp:1503:24:1503:24 | Address | &:r1503_17 | -| ir.cpp:1503:27:1503:27 | Address | &:r1503_23 | -| ir.cpp:1503:30:1503:30 | Address | &:r1503_27 | -| ir.cpp:1503:34:1503:34 | Address | &:r1503_31 | -| ir.cpp:1503:41:1503:41 | Address | &:r1503_37 | -| ir.cpp:1503:46:1503:46 | Address | &:r1503_2 | -| ir.cpp:1503:46:1503:46 | Load | m1500_8 | -| ir.cpp:1503:46:1503:46 | StoreValue | r1503_3 | -| ir.cpp:1503:47:1503:47 | Address | &:r1503_19 | -| ir.cpp:1503:47:1503:47 | Address | &:r1503_33 | -| ir.cpp:1503:47:1503:47 | Load | ~m1503_4 | -| ir.cpp:1503:47:1503:47 | Load | ~m1503_4 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_7 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_11 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_15 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_21 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_25 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_29 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_35 | -| ir.cpp:1503:47:1503:47 | StoreValue | r1503_39 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_6 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_10 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_14 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_18 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_20 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_24 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_28 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_32 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_34 | -| ir.cpp:1503:47:1503:47 | Unary | r1503_38 | -| ir.cpp:1504:9:1504:9 | Address | &:r1504_2 | -| ir.cpp:1504:9:1504:9 | Address | &:r1504_3 | -| ir.cpp:1504:9:1504:9 | Load | m1503_12 | -| ir.cpp:1504:9:1504:15 | ChiPartial | partial:m1504_4 | -| ir.cpp:1504:9:1504:15 | ChiTotal | total:m1503_4 | -| ir.cpp:1504:13:1504:15 | StoreValue | r1504_1 | -| ir.cpp:1505:17:1505:18 | Address | &:r1505_1 | -| ir.cpp:1505:22:1505:22 | Address | &:r1505_2 | -| ir.cpp:1505:22:1505:22 | Load | m1503_12 | -| ir.cpp:1505:22:1505:22 | StoreValue | r1505_4 | -| ir.cpp:1505:22:1505:22 | Unary | r1505_3 | -| ir.cpp:1506:13:1506:13 | Address | &:r1506_1 | -| ir.cpp:1506:17:1506:17 | Address | &:r1506_2 | -| ir.cpp:1506:17:1506:17 | Address | &:r1506_3 | -| ir.cpp:1506:17:1506:17 | Load | m1503_8 | -| ir.cpp:1506:17:1506:17 | Load | ~m1503_4 | -| ir.cpp:1506:17:1506:17 | StoreValue | r1506_4 | -| ir.cpp:1507:9:1507:9 | Address | &:r1507_2 | -| ir.cpp:1507:9:1507:9 | Address | &:r1507_3 | -| ir.cpp:1507:9:1507:9 | Load | m1503_22 | -| ir.cpp:1507:9:1507:13 | ChiPartial | partial:m1507_4 | -| ir.cpp:1507:9:1507:13 | ChiTotal | total:m1500_6 | -| ir.cpp:1507:13:1507:13 | StoreValue | r1507_1 | -| ir.cpp:1508:9:1508:10 | Address | &:r1508_5 | -| ir.cpp:1508:9:1508:14 | ChiPartial | partial:m1508_6 | -| ir.cpp:1508:9:1508:14 | ChiTotal | total:m1507_5 | -| ir.cpp:1508:10:1508:10 | Address | &:r1508_2 | -| ir.cpp:1508:10:1508:10 | Address | &:r1508_3 | -| ir.cpp:1508:10:1508:10 | Load | m1503_26 | -| ir.cpp:1508:10:1508:10 | Load | ~m1503_4 | -| ir.cpp:1508:10:1508:10 | Unary | r1508_4 | -| ir.cpp:1508:14:1508:14 | StoreValue | r1508_1 | -| ir.cpp:1509:14:1509:15 | Address | &:r1509_1 | -| ir.cpp:1509:19:1509:19 | Address | &:r1509_2 | -| ir.cpp:1509:19:1509:19 | Load | m1503_22 | -| ir.cpp:1509:19:1509:19 | StoreValue | r1509_4 | -| ir.cpp:1509:19:1509:19 | Unary | r1509_3 | -| ir.cpp:1510:14:1510:15 | Address | &:r1510_1 | -| ir.cpp:1510:19:1510:20 | StoreValue | r1510_4 | -| ir.cpp:1510:20:1510:20 | Address | &:r1510_2 | -| ir.cpp:1510:20:1510:20 | Load | m1503_22 | -| ir.cpp:1510:20:1510:20 | Unary | r1510_3 | -| ir.cpp:1511:13:1511:13 | Address | &:r1511_1 | -| ir.cpp:1511:17:1511:17 | Address | &:r1511_2 | -| ir.cpp:1511:17:1511:17 | Address | &:r1511_3 | -| ir.cpp:1511:17:1511:17 | Load | m1503_22 | -| ir.cpp:1511:17:1511:17 | Load | ~m1508_7 | -| ir.cpp:1511:17:1511:17 | StoreValue | r1511_4 | -| ir.cpp:1515:14:1515:35 | Address | &:r1515_1 | -| ir.cpp:1515:39:1515:39 | Address | &:r1515_2 | -| ir.cpp:1515:39:1515:39 | Load | m1500_8 | -| ir.cpp:1515:39:1515:39 | StoreValue | r1515_3 | -| ir.cpp:1516:15:1516:15 | Address | &:r1516_1 | -| ir.cpp:1516:19:1516:40 | Unary | r1516_2 | -| ir.cpp:1516:19:1516:42 | StoreValue | r1516_4 | -| ir.cpp:1516:42:1516:42 | Unary | r1516_3 | -| ir.cpp:1517:15:1517:15 | Address | &:r1517_1 | -| ir.cpp:1517:19:1517:40 | Unary | r1517_2 | -| ir.cpp:1517:19:1517:42 | StoreValue | r1517_4 | -| ir.cpp:1517:42:1517:42 | Unary | r1517_3 | +| 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 | ~m1378_5 | +| 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: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 | ~m1390_5 | +| 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: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_6 | -| ir.cpp:1519:19:1519:42 | Unary | r1519_5 | -| ir.cpp:1519:42:1519:42 | Address | &:r1519_3 | -| ir.cpp:1519:42:1519:42 | Load | ~m1515_4 | -| ir.cpp:1519:42:1519:42 | Unary | r1519_4 | -| ir.cpp:1520:15:1520:15 | Address | &:r1520_1 | -| ir.cpp:1520:19:1520:40 | Unary | r1520_2 | -| ir.cpp:1520:19:1520:42 | StoreValue | r1520_4 | -| ir.cpp:1520:42:1520:42 | Unary | r1520_3 | -| ir.cpp:1521:9:1521:9 | Address | &:r1521_2 | -| ir.cpp:1521:9:1521:9 | Address | &:r1521_4 | -| ir.cpp:1521:9:1521:9 | Load | m1517_5 | -| ir.cpp:1521:9:1521:9 | Unary | r1521_3 | -| ir.cpp:1521:9:1521:15 | ChiPartial | partial:m1521_5 | -| ir.cpp:1521:9:1521:15 | ChiTotal | total:m1515_4 | -| ir.cpp:1521:13:1521:15 | StoreValue | r1521_1 | -| ir.cpp:1522:17:1522:18 | Address | &:r1522_1 | -| ir.cpp:1522:22:1522:22 | Address | &:r1522_2 | -| ir.cpp:1522:22:1522:22 | Load | m1517_5 | -| ir.cpp:1522:22:1522:22 | StoreValue | r1522_5 | -| ir.cpp:1522:22:1522:22 | Unary | r1522_3 | -| ir.cpp:1522:22:1522:22 | Unary | r1522_4 | -| ir.cpp:1523:13:1523:13 | Address | &:r1523_1 | -| ir.cpp:1523:17:1523:17 | Address | &:r1523_2 | -| ir.cpp:1523:17:1523:17 | Address | &:r1523_3 | -| ir.cpp:1523:17:1523:17 | Load | m1516_5 | -| ir.cpp:1523:17:1523:17 | Load | ~m1515_4 | -| ir.cpp:1523:17:1523:17 | StoreValue | r1523_4 | -| ir.cpp:1524:9:1524:9 | Address | &:r1524_2 | -| ir.cpp:1524:9:1524:9 | Address | &:r1524_4 | -| ir.cpp:1524:9:1524:9 | Load | m1519_7 | -| ir.cpp:1524:9:1524:9 | Unary | r1524_3 | -| ir.cpp:1524:9:1524:13 | ChiPartial | partial:m1524_5 | -| ir.cpp:1524:9:1524:13 | ChiTotal | total:m1508_7 | -| ir.cpp:1524:13:1524:13 | StoreValue | r1524_1 | -| ir.cpp:1525:9:1525:10 | Address | &:r1525_5 | -| ir.cpp:1525:9:1525:14 | ChiPartial | partial:m1525_6 | -| ir.cpp:1525:9:1525:14 | ChiTotal | total:m1524_6 | -| ir.cpp:1525:10:1525:10 | Address | &:r1525_2 | -| ir.cpp:1525:10:1525:10 | Address | &:r1525_3 | -| ir.cpp:1525:10:1525:10 | Load | m1520_5 | -| ir.cpp:1525:10:1525:10 | Load | ~m1515_4 | -| ir.cpp:1525:10:1525:10 | Unary | r1525_4 | -| ir.cpp:1525:14:1525:14 | StoreValue | r1525_1 | -| ir.cpp:1526:14:1526:15 | Address | &:r1526_1 | -| ir.cpp:1526:19:1526:19 | Address | &:r1526_2 | -| ir.cpp:1526:19:1526:19 | Load | m1519_7 | -| ir.cpp:1526:19:1526:19 | StoreValue | r1526_5 | -| ir.cpp:1526:19:1526:19 | Unary | r1526_3 | -| ir.cpp:1526:19:1526:19 | Unary | r1526_4 | -| ir.cpp:1527:14:1527:15 | Address | &:r1527_1 | -| ir.cpp:1527:19:1527:20 | StoreValue | r1527_5 | -| ir.cpp:1527:20:1527:20 | Address | &:r1527_2 | -| ir.cpp:1527:20:1527:20 | Load | m1519_7 | -| ir.cpp:1527:20:1527:20 | Unary | r1527_3 | -| ir.cpp:1527:20:1527:20 | Unary | r1527_4 | -| ir.cpp:1528:13:1528:13 | Address | &:r1528_1 | -| ir.cpp:1528:17:1528:17 | Address | &:r1528_2 | -| ir.cpp:1528:17:1528:17 | Address | &:r1528_3 | -| ir.cpp:1528:17:1528:17 | Load | m1519_7 | -| ir.cpp:1528:17:1528:17 | Load | ~m1525_7 | -| ir.cpp:1528:17:1528:17 | StoreValue | r1528_4 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_5 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_5 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_5 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_5 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_7 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_7 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_7 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_7 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_9 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_10 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_13 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_17 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_18 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_21 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_25 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_26 | -| ir.cpp:1539:8:1539:8 | Address | &:r1539_29 | -| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_3 | -| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_3 | -| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_15 | -| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_23 | -| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_31 | -| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_2 | -| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_2 | -| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_8 | -| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_16 | -| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_24 | -| ir.cpp:1539:8:1539:8 | Load | m0_2 | -| ir.cpp:1539:8:1539:8 | Load | m0_2 | -| ir.cpp:1539:8:1539:8 | Load | m0_2 | -| ir.cpp:1539:8:1539:8 | Load | m1539_6 | -| ir.cpp:1539:8:1539:8 | Load | m1539_6 | -| ir.cpp:1539:8:1539:8 | Load | ~m0_4 | -| ir.cpp:1539:8:1539:8 | Load | ~m0_4 | -| ir.cpp:1539:8:1539:8 | Load | ~m0_4 | -| ir.cpp:1539:8:1539:8 | SideEffect | m1539_3 | -| ir.cpp:1539:8:1539:8 | SideEffect | m1539_3 | -| ir.cpp:1539:8:1539:8 | SideEffect | m1539_8 | -| ir.cpp:1539:8:1539:8 | SideEffect | m1539_32 | -| ir.cpp:1539:8:1539:8 | StoreValue | r1539_14 | -| ir.cpp:1539:8:1539:8 | StoreValue | r1539_22 | -| ir.cpp:1539:8:1539:8 | StoreValue | r1539_30 | -| ir.cpp:1539:8:1539:8 | Unary | m1539_6 | -| ir.cpp:1539:8:1539:8 | Unary | m1539_6 | -| ir.cpp:1539:8:1539:8 | Unary | m1539_6 | -| ir.cpp:1539:8:1539:8 | Unary | r1539_11 | -| ir.cpp:1539:8:1539:8 | Unary | r1539_12 | -| ir.cpp:1539:8:1539:8 | Unary | r1539_19 | -| ir.cpp:1539:8:1539:8 | Unary | r1539_20 | -| ir.cpp:1539:8:1539:8 | Unary | r1539_27 | -| ir.cpp:1539:8:1539:8 | Unary | r1539_28 | -| ir.cpp:1567:60:1567:95 | Address | &:r1567_5 | -| ir.cpp:1567:60:1567:95 | Address | &:r1567_5 | -| ir.cpp:1567:60:1567:95 | Address | &:r1567_7 | -| ir.cpp:1567:60:1567:95 | Address | &:r1567_7 | -| ir.cpp:1567:60:1567:95 | Address | &:r1567_10 | -| ir.cpp:1567:60:1567:95 | ChiPartial | partial:m1567_3 | -| ir.cpp:1567:60:1567:95 | ChiTotal | total:m1567_2 | -| ir.cpp:1567:60:1567:95 | Load | m0_2 | -| ir.cpp:1567:60:1567:95 | Load | m1567_6 | -| ir.cpp:1567:60:1567:95 | SideEffect | m1567_3 | -| ir.cpp:1567:60:1567:95 | SideEffect | m1567_8 | -| ir.cpp:1568:5:1568:13 | Address | &:r1568_1 | -| ir.cpp:1568:12:1568:12 | Address | &:r1568_2 | -| ir.cpp:1568:12:1568:12 | Load | m1567_6 | -| ir.cpp:1568:12:1568:12 | Unary | r1568_3 | -| ir.cpp:1568:12:1568:12 | Unary | r1568_4 | -| ir.cpp:1571:60:1571:95 | Address | &:r1571_5 | -| ir.cpp:1571:60:1571:95 | Address | &:r1571_5 | -| ir.cpp:1571:60:1571:95 | Address | &:r1571_7 | -| ir.cpp:1571:60:1571:95 | Address | &:r1571_7 | -| ir.cpp:1571:60:1571:95 | Address | &:r1571_10 | -| ir.cpp:1571:60:1571:95 | ChiPartial | partial:m1571_3 | -| ir.cpp:1571:60:1571:95 | ChiTotal | total:m1571_2 | -| ir.cpp:1571:60:1571:95 | Load | m0_2 | -| ir.cpp:1571:60:1571:95 | Load | m1571_6 | -| ir.cpp:1571:60:1571:95 | SideEffect | m1571_3 | -| ir.cpp:1571:60:1571:95 | SideEffect | m1571_8 | -| ir.cpp:1572:5:1572:13 | Address | &:r1572_1 | -| ir.cpp:1572:12:1572:12 | Address | &:r1572_2 | -| ir.cpp:1572:12:1572:12 | Load | m1571_6 | -| ir.cpp:1572:12:1572:12 | Unary | r1572_3 | -| ir.cpp:1572:12:1572:12 | Unary | r1572_4 | -| ir.cpp:1575:60:1575:95 | Address | &:r1575_5 | -| ir.cpp:1575:60:1575:95 | Address | &:r1575_5 | -| ir.cpp:1575:60:1575:95 | Address | &:r1575_7 | -| ir.cpp:1575:60:1575:95 | Address | &:r1575_7 | -| ir.cpp:1575:60:1575:95 | Address | &:r1575_10 | -| ir.cpp:1575:60:1575:95 | ChiPartial | partial:m1575_3 | -| ir.cpp:1575:60:1575:95 | ChiTotal | total:m1575_2 | -| ir.cpp:1575:60:1575:95 | Load | m1575_6 | -| ir.cpp:1575:60:1575:95 | Load | m1576_8 | -| ir.cpp:1575:60:1575:95 | SideEffect | m1575_3 | -| ir.cpp:1575:60:1575:95 | SideEffect | m1575_8 | -| ir.cpp:1576:5:1576:13 | Address | &:r1576_1 | -| ir.cpp:1576:12:1576:12 | Address | &:r1576_2 | -| ir.cpp:1576:12:1576:12 | Address | &:r1576_4 | -| ir.cpp:1576:12:1576:12 | Load | m1575_6 | -| ir.cpp:1576:12:1576:12 | Load | ~m1575_8 | -| ir.cpp:1576:12:1576:12 | StoreValue | r1576_7 | -| ir.cpp:1576:12:1576:12 | Unary | r1576_3 | -| ir.cpp:1576:12:1576:12 | Unary | r1576_5 | -| ir.cpp:1576:12:1576:12 | Unary | r1576_6 | -| ir.cpp:1579:6:1579:37 | ChiPartial | partial:m1579_3 | -| ir.cpp:1579:6:1579:37 | ChiTotal | total:m1579_2 | -| ir.cpp:1579:6:1579:37 | SideEffect | ~m1600_6 | -| ir.cpp:1580:34:1580:34 | Address | &:r1580_1 | -| ir.cpp:1580:34:1580:34 | Address | &:r1580_1 | -| ir.cpp:1580:34:1580:34 | Arg(this) | this:r1580_1 | -| ir.cpp:1580:34:1580:34 | CallTarget | func:r1580_3 | -| ir.cpp:1580:34:1580:34 | ChiPartial | partial:m1580_5 | -| ir.cpp:1580:34:1580:34 | ChiPartial | partial:m1580_7 | -| ir.cpp:1580:34:1580:34 | ChiTotal | total:m1579_4 | -| ir.cpp:1580:34:1580:34 | ChiTotal | total:m1580_2 | -| ir.cpp:1580:34:1580:34 | SideEffect | ~m1579_4 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_1 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_6 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_6 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_18 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_18 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_30 | -| ir.cpp:1583:14:1583:14 | Address | &:r1583_30 | -| ir.cpp:1583:14:1583:14 | Arg(this) | this:r1583_6 | -| ir.cpp:1583:14:1583:14 | Arg(this) | this:r1583_18 | -| ir.cpp:1583:14:1583:14 | Arg(this) | this:r1583_30 | -| ir.cpp:1583:14:1583:14 | CallTarget | func:r1583_7 | -| ir.cpp:1583:14:1583:14 | CallTarget | func:r1583_19 | -| ir.cpp:1583:14:1583:14 | CallTarget | func:r1583_31 | -| ir.cpp:1583:14:1583:14 | ChiPartial | partial:m1583_9 | -| ir.cpp:1583:14:1583:14 | ChiPartial | partial:m1583_12 | -| ir.cpp:1583:14:1583:14 | ChiPartial | partial:m1583_21 | -| ir.cpp:1583:14:1583:14 | ChiPartial | partial:m1583_24 | -| ir.cpp:1583:14:1583:14 | ChiPartial | partial:m1583_33 | -| ir.cpp:1583:14:1583:14 | ChiPartial | partial:m1583_36 | -| ir.cpp:1583:14:1583:14 | ChiTotal | total:m1580_6 | -| ir.cpp:1583:14:1583:14 | ChiTotal | total:m1583_4 | -| ir.cpp:1583:14:1583:14 | ChiTotal | total:m1583_10 | -| ir.cpp:1583:14:1583:14 | ChiTotal | total:m1583_13 | -| ir.cpp:1583:14:1583:14 | ChiTotal | total:m1583_22 | -| ir.cpp:1583:14:1583:14 | ChiTotal | total:m1583_25 | -| ir.cpp:1583:14:1583:14 | SideEffect | m1583_4 | -| ir.cpp:1583:14:1583:14 | SideEffect | m1583_13 | -| ir.cpp:1583:14:1583:14 | SideEffect | m1583_25 | -| ir.cpp:1583:14:1583:14 | SideEffect | ~m1580_6 | -| ir.cpp:1583:14:1583:14 | SideEffect | ~m1583_10 | -| ir.cpp:1583:14:1583:14 | SideEffect | ~m1583_22 | -| ir.cpp:1583:14:1583:14 | Unary | r1583_8 | -| ir.cpp:1583:14:1583:14 | Unary | r1583_20 | -| ir.cpp:1583:14:1583:14 | Unary | r1583_32 | -| ir.cpp:1583:14:1583:27 | StoreValue | r1583_15 | -| ir.cpp:1583:14:1583:27 | StoreValue | r1583_27 | -| ir.cpp:1583:14:1583:27 | StoreValue | r1583_39 | -| ir.cpp:1583:14:1583:27 | Unary | r1583_14 | -| ir.cpp:1583:14:1583:27 | Unary | r1583_26 | -| ir.cpp:1583:14:1583:27 | Unary | r1583_38 | -| ir.cpp:1583:15:1583:15 | Address | &:r1583_5 | -| ir.cpp:1583:18:1583:18 | Address | &:r1583_17 | -| ir.cpp:1583:21:1583:21 | Address | &:r1583_29 | -| ir.cpp:1583:26:1583:26 | Address | &:r1583_2 | -| ir.cpp:1583:26:1583:26 | Load | m1580_8 | -| ir.cpp:1583:26:1583:26 | StoreValue | r1583_3 | -| ir.cpp:1584:9:1584:9 | Address | &:r1584_2 | -| ir.cpp:1584:9:1584:9 | Address | &:r1584_4 | -| ir.cpp:1584:9:1584:9 | Load | m1583_28 | -| ir.cpp:1584:9:1584:9 | Unary | r1584_3 | -| ir.cpp:1584:9:1584:15 | ChiPartial | partial:m1584_5 | -| ir.cpp:1584:9:1584:15 | ChiTotal | total:m1583_37 | -| ir.cpp:1584:13:1584:15 | StoreValue | r1584_1 | -| ir.cpp:1585:17:1585:18 | Address | &:r1585_1 | -| ir.cpp:1585:22:1585:22 | Address | &:r1585_2 | -| ir.cpp:1585:22:1585:22 | Load | m1583_28 | -| ir.cpp:1585:22:1585:22 | StoreValue | r1585_5 | -| ir.cpp:1585:22:1585:22 | Unary | r1585_3 | -| ir.cpp:1585:22:1585:22 | Unary | r1585_4 | -| ir.cpp:1586:13:1586:13 | Address | &:r1586_1 | -| ir.cpp:1586:17:1586:17 | Address | &:r1586_2 | -| ir.cpp:1586:17:1586:17 | Address | &:r1586_3 | -| ir.cpp:1586:17:1586:17 | Load | m1583_16 | -| ir.cpp:1586:17:1586:17 | Load | ~m1583_37 | -| ir.cpp:1586:17:1586:17 | StoreValue | r1586_4 | -| ir.cpp:1587:9:1587:9 | Address | &:r1587_2 | -| ir.cpp:1587:9:1587:9 | Address | &:r1587_4 | -| ir.cpp:1587:9:1587:9 | Load | m1583_40 | -| ir.cpp:1587:9:1587:9 | Unary | r1587_3 | -| ir.cpp:1587:9:1587:13 | ChiPartial | partial:m1587_5 | -| ir.cpp:1587:9:1587:13 | ChiTotal | total:m1583_34 | -| ir.cpp:1587:13:1587:13 | StoreValue | r1587_1 | -| ir.cpp:1588:14:1588:15 | Address | &:r1588_1 | -| ir.cpp:1588:19:1588:19 | Address | &:r1588_2 | -| ir.cpp:1588:19:1588:19 | Load | m1583_40 | -| ir.cpp:1588:19:1588:19 | StoreValue | r1588_5 | -| ir.cpp:1588:19:1588:19 | Unary | r1588_3 | -| ir.cpp:1588:19:1588:19 | Unary | r1588_4 | -| ir.cpp:1589:13:1589:13 | Address | &:r1589_1 | -| ir.cpp:1589:17:1589:17 | Address | &:r1589_2 | -| ir.cpp:1589:17:1589:17 | Address | &:r1589_3 | -| ir.cpp:1589:17:1589:17 | Load | m1583_40 | -| ir.cpp:1589:17:1589:17 | Load | ~m1587_6 | -| ir.cpp:1589:17:1589:17 | StoreValue | r1589_4 | -| ir.cpp:1593:14:1593:35 | Address | &:r1593_1 | -| ir.cpp:1593:39:1593:39 | Address | &:r1593_2 | -| ir.cpp:1593:39:1593:39 | Load | m1580_8 | -| ir.cpp:1593:39:1593:39 | StoreValue | r1593_3 | -| ir.cpp:1594:15:1594:15 | Address | &:r1594_1 | -| ir.cpp:1594:19:1594:40 | Address | &:r1594_2 | -| ir.cpp:1594:19:1594:40 | Address | &:r1594_2 | -| ir.cpp:1594:19:1594:40 | Arg(this) | this:r1594_2 | -| ir.cpp:1594:19:1594:40 | ChiPartial | partial:m1594_8 | -| ir.cpp:1594:19:1594:40 | ChiTotal | total:m1593_4 | -| ir.cpp:1594:19:1594:40 | SideEffect | m1593_4 | -| ir.cpp:1594:42:1594:47 | CallTarget | func:r1594_3 | -| ir.cpp:1594:42:1594:47 | ChiPartial | partial:m1594_5 | -| ir.cpp:1594:42:1594:47 | ChiTotal | total:m1587_6 | -| ir.cpp:1594:42:1594:47 | SideEffect | ~m1587_6 | -| ir.cpp:1594:42:1594:47 | Unary | r1594_4 | -| ir.cpp:1594:48:1594:50 | StoreValue | r1594_11 | -| ir.cpp:1594:48:1594:50 | Unary | r1594_10 | -| ir.cpp:1595:15:1595:15 | Address | &:r1595_1 | -| ir.cpp:1595:19:1595:40 | Address | &:r1595_2 | -| ir.cpp:1595:19:1595:40 | Address | &:r1595_2 | -| ir.cpp:1595:19:1595:40 | Arg(this) | this:r1595_2 | -| ir.cpp:1595:19:1595:40 | ChiPartial | partial:m1595_8 | -| ir.cpp:1595:19:1595:40 | ChiTotal | total:m1594_9 | -| ir.cpp:1595:19:1595:40 | SideEffect | m1594_9 | -| ir.cpp:1595:42:1595:47 | CallTarget | func:r1595_3 | -| ir.cpp:1595:42:1595:47 | ChiPartial | partial:m1595_5 | -| ir.cpp:1595:42:1595:47 | ChiTotal | total:m1594_6 | -| ir.cpp:1595:42:1595:47 | SideEffect | ~m1594_6 | -| ir.cpp:1595:42:1595:47 | Unary | r1595_4 | -| ir.cpp:1595:48:1595:50 | StoreValue | r1595_11 | -| ir.cpp:1595:48:1595:50 | Unary | r1595_10 | +| 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_9 | -| ir.cpp:1596:19:1596:40 | SideEffect | m1595_9 | +| 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:m1595_6 | -| ir.cpp:1596:42:1596:47 | SideEffect | ~m1595_6 | +| 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:9:1597:9 | Address | &:r1597_2 | -| ir.cpp:1597:9:1597:9 | Address | &:r1597_4 | -| ir.cpp:1597:9:1597:9 | Load | m1595_12 | -| ir.cpp:1597:9:1597:9 | Unary | r1597_3 | -| ir.cpp:1597:9:1597:15 | ChiPartial | partial:m1597_5 | -| ir.cpp:1597:9:1597:15 | ChiTotal | total:m1596_9 | -| ir.cpp:1597:13:1597:15 | StoreValue | r1597_1 | -| ir.cpp:1598:17:1598:18 | Address | &:r1598_1 | -| ir.cpp:1598:22:1598:22 | Address | &:r1598_2 | -| ir.cpp:1598:22:1598:22 | Load | m1595_12 | -| ir.cpp:1598:22:1598:22 | StoreValue | r1598_5 | -| ir.cpp:1598:22:1598:22 | Unary | r1598_3 | -| ir.cpp:1598:22:1598:22 | Unary | r1598_4 | -| ir.cpp:1599:13:1599:13 | Address | &:r1599_1 | -| ir.cpp:1599:17:1599:17 | Address | &:r1599_2 | -| ir.cpp:1599:17:1599:17 | Address | &:r1599_3 | -| ir.cpp:1599:17:1599:17 | Load | m1594_12 | -| ir.cpp:1599:17:1599:17 | Load | ~m1596_9 | -| ir.cpp:1599:17:1599:17 | StoreValue | r1599_4 | -| ir.cpp:1600:9:1600:9 | Address | &:r1600_2 | -| ir.cpp:1600:9:1600:9 | Address | &:r1600_4 | -| ir.cpp:1600:9:1600:9 | Load | m1596_12 | -| ir.cpp:1600:9:1600:9 | Unary | r1600_3 | -| ir.cpp:1600:9:1600:13 | ChiPartial | partial:m1600_5 | -| ir.cpp:1600:9:1600:13 | ChiTotal | total:m1596_6 | -| ir.cpp:1600:13:1600:13 | StoreValue | r1600_1 | -| ir.cpp:1601:14:1601:15 | Address | &:r1601_1 | -| ir.cpp:1601:19:1601:19 | Address | &:r1601_2 | -| ir.cpp:1601:19:1601:19 | Load | m1596_12 | -| ir.cpp:1601:19:1601:19 | StoreValue | r1601_5 | -| ir.cpp:1601:19:1601:19 | Unary | r1601_3 | -| ir.cpp:1601:19:1601:19 | Unary | r1601_4 | -| ir.cpp:1602:13:1602:13 | Address | &:r1602_1 | -| ir.cpp:1602:17:1602:17 | Address | &:r1602_2 | -| ir.cpp:1602:17:1602:17 | Address | &:r1602_3 | -| ir.cpp:1602:17:1602:17 | Load | m1596_12 | -| ir.cpp:1602:17:1602:17 | Load | ~m1600_6 | -| ir.cpp:1602:17:1602:17 | StoreValue | r1602_4 | -| ir.cpp:1606:8:1606:8 | Address | &:r1606_5 | -| ir.cpp:1606:8:1606:8 | Address | &:r1606_5 | -| ir.cpp:1606:8:1606:8 | Address | &:r1606_7 | -| ir.cpp:1606:8:1606:8 | Address | &:r1606_7 | -| ir.cpp:1606:8:1606:8 | ChiPartial | partial:m1606_3 | -| ir.cpp:1606:8:1606:8 | ChiTotal | total:m1606_2 | -| ir.cpp:1606:8:1606:8 | Load | m1606_6 | -| ir.cpp:1606:8:1606:8 | SideEffect | m1606_3 | -| ir.cpp:1606:8:1606:8 | SideEffect | m1606_8 | -| ir.cpp:1633:61:1633:98 | Address | &:r1633_5 | -| ir.cpp:1633:61:1633:98 | Address | &:r1633_5 | -| ir.cpp:1633:61:1633:98 | Address | &:r1633_7 | -| ir.cpp:1633:61:1633:98 | Address | &:r1633_7 | -| ir.cpp:1633:61:1633:98 | Address | &:r1633_10 | -| ir.cpp:1633:61:1633:98 | ChiPartial | partial:m1633_3 | -| ir.cpp:1633:61:1633:98 | ChiTotal | total:m1633_2 | -| ir.cpp:1633:61:1633:98 | Load | m1633_6 | -| ir.cpp:1633:61:1633:98 | Load | m1634_6 | -| ir.cpp:1633:61:1633:98 | SideEffect | m1633_3 | -| ir.cpp:1633:61:1633:98 | SideEffect | m1633_8 | -| ir.cpp:1634:5:1634:13 | Address | &:r1634_1 | -| ir.cpp:1634:12:1634:12 | Address | &:r1634_2 | -| ir.cpp:1634:12:1634:12 | Address | &:r1634_4 | -| ir.cpp:1634:12:1634:12 | Load | m1633_6 | -| ir.cpp:1634:12:1634:12 | Load | ~m1633_8 | -| ir.cpp:1634:12:1634:12 | StoreValue | r1634_5 | -| ir.cpp:1634:12:1634:12 | Unary | r1634_3 | -| ir.cpp:1637:61:1637:98 | Address | &:r1637_5 | -| ir.cpp:1637:61:1637:98 | Address | &:r1637_5 | -| ir.cpp:1637:61:1637:98 | Address | &:r1637_7 | -| ir.cpp:1637:61:1637:98 | Address | &:r1637_7 | -| ir.cpp:1637:61:1637:98 | Address | &:r1637_10 | -| ir.cpp:1637:61:1637:98 | ChiPartial | partial:m1637_3 | -| ir.cpp:1637:61:1637:98 | ChiTotal | total:m1637_2 | -| ir.cpp:1637:61:1637:98 | Load | m1637_6 | -| ir.cpp:1637:61:1637:98 | Load | m1638_8 | -| ir.cpp:1637:61:1637:98 | SideEffect | m1637_3 | -| ir.cpp:1637:61:1637:98 | SideEffect | m1637_8 | -| ir.cpp:1638:5:1638:13 | Address | &:r1638_1 | -| ir.cpp:1638:12:1638:12 | Address | &:r1638_2 | -| ir.cpp:1638:12:1638:12 | Address | &:r1638_4 | -| ir.cpp:1638:12:1638:12 | Load | m1637_6 | -| ir.cpp:1638:12:1638:12 | Load | ~m1637_8 | -| ir.cpp:1638:12:1638:12 | StoreValue | r1638_7 | -| ir.cpp:1638:12:1638:12 | Unary | r1638_3 | -| ir.cpp:1638:12:1638:12 | Unary | r1638_5 | -| ir.cpp:1638:12:1638:12 | Unary | r1638_6 | -| ir.cpp:1641:61:1641:98 | Address | &:r1641_5 | -| ir.cpp:1641:61:1641:98 | Address | &:r1641_5 | -| ir.cpp:1641:61:1641:98 | Address | &:r1641_7 | -| ir.cpp:1641:61:1641:98 | Address | &:r1641_7 | -| ir.cpp:1641:61:1641:98 | Address | &:r1641_10 | -| ir.cpp:1641:61:1641:98 | ChiPartial | partial:m1641_3 | -| ir.cpp:1641:61:1641:98 | ChiTotal | total:m1641_2 | -| ir.cpp:1641:61:1641:98 | Load | m1641_6 | -| ir.cpp:1641:61:1641:98 | Load | m1642_6 | -| ir.cpp:1641:61:1641:98 | SideEffect | m1641_3 | -| ir.cpp:1641:61:1641:98 | SideEffect | m1641_8 | -| ir.cpp:1642:5:1642:13 | Address | &:r1642_1 | -| ir.cpp:1642:12:1642:12 | Address | &:r1642_2 | -| ir.cpp:1642:12:1642:12 | StoreValue | r1642_3 | -| ir.cpp:1642:12:1642:12 | StoreValue | r1642_5 | -| ir.cpp:1642:12:1642:12 | Unary | r1642_2 | -| ir.cpp:1645:6:1645:40 | ChiPartial | partial:m1645_3 | -| ir.cpp:1645:6:1645:40 | ChiTotal | total:m1645_2 | -| ir.cpp:1645:6:1645:40 | SideEffect | ~m1666_6 | -| ir.cpp:1646:36:1646:36 | Address | &:r1646_1 | -| ir.cpp:1646:36:1646:36 | Address | &:r1646_1 | -| ir.cpp:1646:36:1646:36 | Arg(this) | this:r1646_1 | -| ir.cpp:1646:36:1646:36 | CallTarget | func:r1646_3 | -| ir.cpp:1646:36:1646:36 | ChiPartial | partial:m1646_5 | -| ir.cpp:1646:36:1646:36 | ChiPartial | partial:m1646_7 | -| ir.cpp:1646:36:1646:36 | ChiTotal | total:m1645_4 | -| ir.cpp:1646:36:1646:36 | ChiTotal | total:m1646_2 | -| ir.cpp:1646:36:1646:36 | SideEffect | ~m1645_4 | -| ir.cpp:1649:16:1649:16 | Address | &:r1649_1 | -| ir.cpp:1649:16:1649:16 | Address | &:r1649_7 | -| ir.cpp:1649:16:1649:16 | Address | &:r1649_21 | -| ir.cpp:1649:16:1649:16 | Address | &:r1649_35 | -| ir.cpp:1649:16:1649:16 | CallTarget | func:r1649_10 | -| ir.cpp:1649:16:1649:16 | CallTarget | func:r1649_24 | -| ir.cpp:1649:16:1649:16 | CallTarget | func:r1649_38 | -| ir.cpp:1649:16:1649:16 | ChiPartial | partial:m1649_12 | -| ir.cpp:1649:16:1649:16 | ChiPartial | partial:m1649_26 | -| ir.cpp:1649:16:1649:16 | ChiPartial | partial:m1649_40 | -| ir.cpp:1649:16:1649:16 | ChiTotal | total:m1646_6 | -| ir.cpp:1649:16:1649:16 | ChiTotal | total:m1649_13 | -| ir.cpp:1649:16:1649:16 | ChiTotal | total:m1649_27 | -| ir.cpp:1649:16:1649:16 | Load | m1649_4 | -| ir.cpp:1649:16:1649:16 | Load | m1649_4 | -| ir.cpp:1649:16:1649:16 | Load | m1649_4 | -| ir.cpp:1649:16:1649:16 | SideEffect | ~m1646_6 | -| ir.cpp:1649:16:1649:16 | SideEffect | ~m1649_13 | -| ir.cpp:1649:16:1649:16 | SideEffect | ~m1649_27 | -| ir.cpp:1649:16:1649:16 | StoreValue | r1649_11 | -| ir.cpp:1649:16:1649:16 | Unary | r1649_8 | -| ir.cpp:1649:16:1649:16 | Unary | r1649_22 | -| ir.cpp:1649:16:1649:16 | Unary | r1649_25 | -| ir.cpp:1649:16:1649:16 | Unary | r1649_36 | -| ir.cpp:1649:16:1649:16 | Unary | r1649_39 | -| ir.cpp:1649:16:1649:30 | Address | &:r1649_6 | -| ir.cpp:1649:16:1649:30 | StoreValue | r1649_18 | -| ir.cpp:1649:16:1649:30 | StoreValue | r1649_32 | -| ir.cpp:1649:16:1649:30 | StoreValue | r1649_46 | -| ir.cpp:1649:16:1649:30 | Unary | r1649_6 | -| ir.cpp:1649:16:1649:30 | Unary | r1649_31 | -| ir.cpp:1649:16:1649:30 | Unary | r1649_45 | -| ir.cpp:1649:17:1649:17 | Address | &:r1649_5 | -| ir.cpp:1649:20:1649:20 | Address | &:r1649_20 | -| ir.cpp:1649:23:1649:23 | Address | &:r1649_34 | -| ir.cpp:1649:29:1649:29 | StoreValue | r1649_3 | -| ir.cpp:1649:29:1649:29 | Unary | r1649_2 | -| ir.cpp:1649:30:1649:30 | Address | &:r1649_9 | -| ir.cpp:1649:30:1649:30 | Address | &:r1649_9 | -| ir.cpp:1649:30:1649:30 | Address | &:r1649_23 | -| ir.cpp:1649:30:1649:30 | Address | &:r1649_23 | -| ir.cpp:1649:30:1649:30 | Address | &:r1649_37 | -| ir.cpp:1649:30:1649:30 | Address | &:r1649_37 | -| ir.cpp:1649:30:1649:30 | Arg(this) | this:r1649_9 | -| ir.cpp:1649:30:1649:30 | Arg(this) | this:r1649_23 | -| ir.cpp:1649:30:1649:30 | Arg(this) | this:r1649_37 | -| ir.cpp:1649:30:1649:30 | ChiPartial | partial:m1649_15 | -| ir.cpp:1649:30:1649:30 | ChiPartial | partial:m1649_29 | -| ir.cpp:1649:30:1649:30 | ChiPartial | partial:m1649_43 | -| ir.cpp:1649:30:1649:30 | ChiTotal | total:m1646_8 | -| ir.cpp:1649:30:1649:30 | ChiTotal | total:m1649_16 | -| ir.cpp:1649:30:1649:30 | ChiTotal | total:m1649_30 | -| ir.cpp:1649:30:1649:30 | SideEffect | m1646_8 | -| ir.cpp:1649:30:1649:30 | SideEffect | m1649_16 | -| ir.cpp:1649:30:1649:30 | SideEffect | m1649_30 | -| ir.cpp:1650:9:1650:9 | Address | &:r1650_2 | -| ir.cpp:1650:9:1650:9 | Address | &:r1650_4 | -| ir.cpp:1650:9:1650:9 | Load | m1649_19 | -| ir.cpp:1650:9:1650:9 | Unary | r1650_3 | -| ir.cpp:1650:13:1650:13 | StoreValue | r1650_1 | -| ir.cpp:1651:14:1651:15 | Address | &:r1651_1 | -| ir.cpp:1651:19:1651:19 | Address | &:r1651_2 | -| ir.cpp:1651:19:1651:19 | Load | m1649_19 | -| ir.cpp:1651:19:1651:19 | StoreValue | r1651_5 | -| ir.cpp:1651:19:1651:19 | Unary | r1651_3 | -| ir.cpp:1651:19:1651:19 | Unary | r1651_4 | -| ir.cpp:1652:13:1652:13 | Address | &:r1652_1 | -| ir.cpp:1652:17:1652:17 | Address | &:r1652_2 | -| ir.cpp:1652:17:1652:17 | Address | &:r1652_3 | -| ir.cpp:1652:17:1652:17 | Load | m1649_19 | -| ir.cpp:1652:17:1652:17 | Load | m1650_5 | -| ir.cpp:1652:17:1652:17 | StoreValue | r1652_4 | -| ir.cpp:1653:9:1653:9 | Address | &:r1653_2 | -| ir.cpp:1653:9:1653:9 | Address | &:r1653_4 | -| ir.cpp:1653:9:1653:9 | Load | m1649_33 | -| ir.cpp:1653:9:1653:9 | Unary | r1653_3 | -| ir.cpp:1653:9:1653:13 | ChiPartial | partial:m1653_5 | -| ir.cpp:1653:9:1653:13 | ChiTotal | total:m1649_41 | -| ir.cpp:1653:13:1653:13 | StoreValue | r1653_1 | -| ir.cpp:1654:14:1654:15 | Address | &:r1654_1 | -| ir.cpp:1654:19:1654:19 | Address | &:r1654_2 | -| ir.cpp:1654:19:1654:19 | Load | m1649_33 | -| ir.cpp:1654:19:1654:19 | StoreValue | r1654_5 | -| ir.cpp:1654:19:1654:19 | Unary | r1654_3 | -| ir.cpp:1654:19:1654:19 | Unary | r1654_4 | -| ir.cpp:1655:13:1655:13 | Address | &:r1655_1 | -| ir.cpp:1655:17:1655:17 | Address | &:r1655_2 | -| ir.cpp:1655:17:1655:17 | Address | &:r1655_3 | -| ir.cpp:1655:17:1655:17 | Load | m1649_33 | -| ir.cpp:1655:17:1655:17 | Load | ~m1653_6 | -| ir.cpp:1655:17:1655:17 | StoreValue | r1655_4 | -| ir.cpp:1659:16:1659:37 | Address | &:r1659_1 | -| ir.cpp:1659:41:1659:41 | StoreValue | r1659_3 | -| ir.cpp:1659:41:1659:41 | Unary | r1659_2 | -| ir.cpp:1660:16:1660:16 | Address | &:r1660_1 | -| ir.cpp:1660:20:1660:41 | Address | &:r1660_3 | -| ir.cpp:1660:20:1660:41 | Address | &:r1660_5 | -| ir.cpp:1660:20:1660:41 | Address | &:r1660_5 | -| ir.cpp:1660:20:1660:41 | Arg(this) | this:r1660_5 | -| ir.cpp:1660:20:1660:41 | ChiPartial | partial:m1660_11 | -| ir.cpp:1660:20:1660:41 | ChiTotal | total:m1649_44 | -| ir.cpp:1660:20:1660:41 | Load | m1659_4 | -| ir.cpp:1660:20:1660:41 | SideEffect | m1649_44 | -| ir.cpp:1660:20:1660:41 | Unary | r1660_4 | -| ir.cpp:1660:20:1660:50 | Address | &:r1660_2 | -| ir.cpp:1660:20:1660:50 | StoreValue | r1660_14 | -| ir.cpp:1660:20:1660:50 | Unary | r1660_2 | -| ir.cpp:1660:43:1660:48 | CallTarget | func:r1660_6 | -| ir.cpp:1660:43:1660:48 | ChiPartial | partial:m1660_8 | -| ir.cpp:1660:43:1660:48 | ChiTotal | total:m1653_6 | -| ir.cpp:1660:43:1660:48 | SideEffect | ~m1653_6 | -| ir.cpp:1660:43:1660:48 | StoreValue | r1660_7 | -| ir.cpp:1661:15:1661:15 | Address | &:r1661_1 | -| ir.cpp:1661:19:1661:40 | Address | &:r1661_2 | -| ir.cpp:1661:19:1661:40 | Address | &:r1661_4 | -| ir.cpp:1661:19:1661:40 | Address | &:r1661_4 | -| ir.cpp:1661:19:1661:40 | Arg(this) | this:r1661_4 | -| ir.cpp:1661:19:1661:40 | ChiPartial | partial:m1661_10 | -| ir.cpp:1661:19:1661:40 | ChiTotal | total:m1660_12 | -| ir.cpp:1661:19:1661:40 | Load | m1659_4 | -| ir.cpp:1661:19:1661:40 | SideEffect | m1660_12 | -| ir.cpp:1661:19:1661:40 | Unary | r1661_3 | -| ir.cpp:1661:42:1661:47 | CallTarget | func:r1661_5 | -| ir.cpp:1661:42:1661:47 | ChiPartial | partial:m1661_7 | -| ir.cpp:1661:42:1661:47 | ChiTotal | total:m1660_9 | -| ir.cpp:1661:42:1661:47 | SideEffect | ~m1660_9 | -| ir.cpp:1661:42:1661:47 | Unary | r1661_6 | -| ir.cpp:1661:48:1661:50 | StoreValue | r1661_13 | -| ir.cpp:1661:48:1661:50 | Unary | r1661_12 | -| ir.cpp:1662:16:1662:17 | Address | &:r1662_1 | -| ir.cpp:1662:21:1662:42 | Address | &:r1662_2 | -| ir.cpp:1662:21:1662:42 | Address | &:r1662_4 | -| ir.cpp:1662:21:1662:42 | Address | &:r1662_4 | -| ir.cpp:1662:21:1662:42 | Arg(this) | this:r1662_4 | -| ir.cpp:1662:21:1662:42 | ChiPartial | partial:m1662_10 | -| ir.cpp:1662:21:1662:42 | ChiTotal | total:m1661_11 | -| ir.cpp:1662:21:1662:42 | Load | m1659_4 | -| ir.cpp:1662:21:1662:42 | SideEffect | m1661_11 | -| ir.cpp:1662:21:1662:42 | Unary | r1662_3 | -| ir.cpp:1662:44:1662:49 | CallTarget | func:r1662_5 | -| ir.cpp:1662:44:1662:49 | ChiPartial | partial:m1662_7 | -| ir.cpp:1662:44:1662:49 | ChiTotal | total:m1661_8 | -| ir.cpp:1662:44:1662:49 | SideEffect | ~m1661_8 | -| ir.cpp:1662:44:1662:49 | Unary | r1662_6 | -| ir.cpp:1662:50:1662:52 | StoreValue | r1662_13 | -| ir.cpp:1662:50:1662:52 | Unary | r1662_12 | -| ir.cpp:1663:9:1663:9 | Address | &:r1663_2 | -| ir.cpp:1663:9:1663:9 | Address | &:r1663_4 | -| ir.cpp:1663:9:1663:9 | Load | m1660_15 | -| ir.cpp:1663:9:1663:9 | Unary | r1663_3 | -| ir.cpp:1663:13:1663:13 | StoreValue | r1663_1 | -| ir.cpp:1664:14:1664:15 | Address | &:r1664_1 | -| ir.cpp:1664:19:1664:19 | Address | &:r1664_2 | -| ir.cpp:1664:19:1664:19 | Load | m1660_15 | -| ir.cpp:1664:19:1664:19 | StoreValue | r1664_5 | -| ir.cpp:1664:19:1664:19 | Unary | r1664_3 | -| ir.cpp:1664:19:1664:19 | Unary | r1664_4 | -| ir.cpp:1665:13:1665:13 | Address | &:r1665_1 | -| ir.cpp:1665:17:1665:17 | Address | &:r1665_2 | -| ir.cpp:1665:17:1665:17 | Address | &:r1665_3 | -| ir.cpp:1665:17:1665:17 | Load | m1660_15 | -| ir.cpp:1665:17:1665:17 | Load | m1663_5 | -| ir.cpp:1665:17:1665:17 | StoreValue | r1665_4 | -| ir.cpp:1666:9:1666:9 | Address | &:r1666_2 | -| ir.cpp:1666:9:1666:9 | Address | &:r1666_4 | -| ir.cpp:1666:9:1666:9 | Load | m1661_14 | -| ir.cpp:1666:9:1666:9 | Unary | r1666_3 | -| ir.cpp:1666:9:1666:13 | ChiPartial | partial:m1666_5 | -| ir.cpp:1666:9:1666:13 | ChiTotal | total:m1662_8 | -| ir.cpp:1666:13:1666:13 | StoreValue | r1666_1 | -| ir.cpp:1667:14:1667:15 | Address | &:r1667_1 | -| ir.cpp:1667:19:1667:19 | Address | &:r1667_2 | -| ir.cpp:1667:19:1667:19 | Load | m1661_14 | -| ir.cpp:1667:19:1667:19 | StoreValue | r1667_5 | -| ir.cpp:1667:19:1667:19 | Unary | r1667_3 | -| ir.cpp:1667:19:1667:19 | Unary | r1667_4 | -| ir.cpp:1668:13:1668:13 | Address | &:r1668_1 | -| ir.cpp:1668:17:1668:17 | Address | &:r1668_2 | -| ir.cpp:1668:17:1668:17 | Address | &:r1668_3 | -| ir.cpp:1668:17:1668:17 | Load | m1661_14 | -| ir.cpp:1668:17:1668:17 | Load | ~m1666_6 | -| ir.cpp:1668:17:1668:17 | StoreValue | r1668_4 | -| ir.cpp:1672:6:1672:42 | ChiPartial | partial:m1672_3 | -| ir.cpp:1672:6:1672:42 | ChiTotal | total:m1672_2 | -| ir.cpp:1672:6:1672:42 | SideEffect | m1672_3 | -| ir.cpp:1673:9:1673:10 | Address | &:r1673_1 | -| ir.cpp:1673:9:1673:10 | Left | r1673_1 | -| ir.cpp:1673:9:1673:10 | Left | r1673_1 | -| ir.cpp:1673:16:1673:22 | Address | &:r1673_4 | -| ir.cpp:1673:16:1673:22 | Address | &:r1673_9 | -| ir.cpp:1673:16:1673:22 | Right | r1673_3 | -| ir.cpp:1673:16:1673:22 | Right | r1673_8 | -| ir.cpp:1673:18:1673:18 | ChiPartial | partial:m1673_6 | -| ir.cpp:1673:18:1673:18 | ChiTotal | total:m1673_2 | -| ir.cpp:1673:18:1673:18 | StoreValue | r1673_5 | -| ir.cpp:1673:21:1673:21 | ChiPartial | partial:m1673_11 | -| ir.cpp:1673:21:1673:21 | ChiTotal | total:m1673_7 | -| ir.cpp:1673:21:1673:21 | StoreValue | r1673_10 | -| ir.cpp:1674:10:1674:10 | Address | &:r1674_1 | -| ir.cpp:1674:11:1674:11 | Address | &:r1674_5 | -| ir.cpp:1674:15:1674:15 | Address | &:r1674_6 | -| ir.cpp:1674:21:1674:22 | Address | &:r1674_2 | -| ir.cpp:1674:21:1674:22 | Load | m1673_12 | -| ir.cpp:1674:21:1674:22 | StoreValue | r1674_3 | -| ir.cpp:1680:5:1680:23 | Address | &:r1680_5 | -| ir.cpp:1680:5:1680:23 | Address | &:r1680_5 | -| ir.cpp:1680:5:1680:23 | Address | &:r1680_7 | -| ir.cpp:1680:5:1680:23 | Address | &:r1680_7 | -| ir.cpp:1680:5:1680:23 | ChiPartial | partial:m1680_3 | -| ir.cpp:1680:5:1680:23 | ChiTotal | total:m1680_2 | -| ir.cpp:1680:5:1680:23 | Load | m1680_6 | -| ir.cpp:1680:5:1680:23 | SideEffect | m1680_3 | -| ir.cpp:1680:5:1680:23 | SideEffect | m1680_8 | -| ir.cpp:1683:6:1683:20 | ChiPartial | partial:m1683_3 | -| ir.cpp:1683:6:1683:20 | ChiTotal | total:m1683_2 | -| ir.cpp:1683:6:1683:20 | SideEffect | ~m1686_6 | -| ir.cpp:1683:26:1683:26 | Address | &:r1683_5 | -| ir.cpp:1683:34:1683:34 | Address | &:r1683_7 | -| ir.cpp:1683:34:1683:34 | Address | &:r1683_7 | -| ir.cpp:1683:34:1683:34 | Address | &:r1683_9 | -| ir.cpp:1683:34:1683:34 | Address | &:r1683_9 | -| ir.cpp:1683:34:1683:34 | Load | m1683_8 | -| ir.cpp:1683:34:1683:34 | SideEffect | m1683_10 | -| ir.cpp:1683:43:1683:43 | Address | &:r1683_11 | -| ir.cpp:1683:43:1683:43 | Address | &:r1683_11 | -| ir.cpp:1683:43:1683:43 | Address | &:r1683_13 | -| ir.cpp:1683:43:1683:43 | Address | &:r1683_13 | -| ir.cpp:1683:43:1683:43 | Load | m1683_12 | -| ir.cpp:1683:43:1683:43 | SideEffect | m1683_14 | -| ir.cpp:1685:17:1685:20 | Address | &:r1685_1 | -| ir.cpp:1685:24:1685:44 | Address | &:r1685_2 | -| ir.cpp:1685:24:1685:44 | Address | &:r1685_2 | -| ir.cpp:1685:24:1685:44 | Arg(this) | this:r1685_2 | -| ir.cpp:1685:24:1685:44 | CallTarget | func:r1685_4 | -| ir.cpp:1685:24:1685:44 | ChiPartial | partial:m1685_6 | -| ir.cpp:1685:24:1685:44 | ChiPartial | partial:m1685_8 | -| ir.cpp:1685:24:1685:44 | ChiTotal | total:m1683_4 | -| ir.cpp:1685:24:1685:44 | ChiTotal | total:m1685_3 | -| ir.cpp:1685:24:1685:44 | SideEffect | ~m1683_4 | -| ir.cpp:1685:24:1685:44 | StoreValue | r1685_11 | -| ir.cpp:1685:24:1685:44 | Unary | r1685_2 | -| ir.cpp:1685:24:1685:44 | Unary | r1685_10 | -| ir.cpp:1686:10:1686:13 | Address | &:r1686_1 | -| ir.cpp:1686:10:1686:13 | Address | &:r1686_1 | -| ir.cpp:1686:10:1686:13 | Arg(this) | this:r1686_1 | -| ir.cpp:1686:16:1686:37 | CallTarget | func:r1686_3 | -| ir.cpp:1686:16:1686:37 | ChiPartial | partial:m1686_5 | -| ir.cpp:1686:16:1686:37 | ChiPartial | partial:m1686_7 | -| ir.cpp:1686:16:1686:37 | ChiTotal | total:m1685_7 | -| ir.cpp:1686:16:1686:37 | ChiTotal | total:m1686_2 | -| ir.cpp:1686:16:1686:37 | SideEffect | ~m1685_7 | -| ir.cpp:1688:10:1688:21 | Address | &:r1688_1 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_2 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_2 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_4 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_5 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_6 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_7 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_8 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_12 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_17 | -| ir.cpp:1688:24:1690:5 | Address | &:r1688_20 | -| ir.cpp:1688:24:1690:5 | ChiPartial | partial:m1688_10 | -| ir.cpp:1688:24:1690:5 | ChiTotal | total:m0_3 | -| ir.cpp:1688:24:1690:5 | Load | m1685_12 | -| ir.cpp:1688:24:1690:5 | Load | m1686_8 | -| ir.cpp:1688:24:1690:5 | Load | m1690_6 | -| ir.cpp:1688:24:1690:5 | StoreValue | r1688_9 | -| ir.cpp:1688:24:1690:5 | StoreValue | r1688_23 | -| ir.cpp:1688:24:1690:5 | Unary | r1688_2 | -| ir.cpp:1688:24:1690:5 | Unary | r1688_2 | -| ir.cpp:1688:24:1690:5 | Unary | r1688_2 | -| ir.cpp:1688:24:1690:5 | Unary | r1688_2 | -| ir.cpp:1688:24:1690:5 | Unary | r1688_2 | -| ir.cpp:1688:38:1688:38 | Address | &:r1688_13 | -| ir.cpp:1688:38:1688:38 | ChiPartial | partial:m1688_15 | -| ir.cpp:1688:38:1688:38 | ChiTotal | total:m1688_11 | -| ir.cpp:1688:38:1688:38 | Load | m1683_6 | -| ir.cpp:1688:38:1688:38 | StoreValue | r1688_14 | -| ir.cpp:1688:41:1688:41 | Address | &:r1688_18 | -| ir.cpp:1688:41:1688:41 | Address | &:r1688_19 | -| ir.cpp:1688:41:1688:41 | Load | m1683_8 | -| ir.cpp:1688:44:1688:44 | Address | &:r1688_21 | -| ir.cpp:1688:44:1688:44 | Address | &:r1688_22 | -| ir.cpp:1688:44:1688:44 | Load | m1683_12 | -| ir.cpp:1688:46:1688:46 | Address | &:r1688_5 | -| ir.cpp:1688:46:1688:46 | Address | &:r1688_5 | -| ir.cpp:1688:46:1688:46 | Address | &:r1688_7 | -| ir.cpp:1688:46:1688:46 | Address | &:r1688_7 | -| ir.cpp:1688:46:1688:46 | ChiPartial | partial:m1688_3 | -| ir.cpp:1688:46:1688:46 | ChiTotal | total:m1688_2 | -| ir.cpp:1688:46:1688:46 | Load | m1688_6 | -| ir.cpp:1688:46:1688:46 | SideEffect | m1688_3 | -| ir.cpp:1688:46:1688:46 | SideEffect | m1688_8 | -| ir.cpp:1689:14:1689:25 | Address | &:r1689_1 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_2 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_2 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_4 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_5 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_7 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_11 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_12 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_14 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_18 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_19 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_21 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_25 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_26 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_28 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_32 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_33 | -| ir.cpp:1689:28:1689:54 | Address | &:r1689_35 | -| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_9 | -| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_16 | -| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_23 | -| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_30 | -| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_37 | -| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_3 | -| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_10 | -| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_17 | -| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_24 | -| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_31 | -| ir.cpp:1689:28:1689:54 | Load | m1688_6 | -| ir.cpp:1689:28:1689:54 | Load | m1688_6 | -| ir.cpp:1689:28:1689:54 | Load | m1688_6 | -| ir.cpp:1689:28:1689:54 | Load | m1688_6 | -| ir.cpp:1689:28:1689:54 | Load | m1688_6 | -| ir.cpp:1689:28:1689:54 | Load | m1689_38 | -| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 | -| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 | -| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 | -| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 | -| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 | -| ir.cpp:1689:28:1689:54 | StoreValue | r1689_8 | -| ir.cpp:1689:28:1689:54 | StoreValue | r1689_15 | -| ir.cpp:1689:28:1689:54 | StoreValue | r1689_22 | -| ir.cpp:1689:28:1689:54 | StoreValue | r1689_29 | -| ir.cpp:1689:28:1689:54 | StoreValue | r1689_36 | -| ir.cpp:1689:28:1689:54 | StoreValue | r1689_39 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_2 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_2 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_2 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_2 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_2 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_6 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_13 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_20 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_27 | -| ir.cpp:1689:28:1689:54 | Unary | r1689_34 | -| ir.cpp:1689:50:1689:50 | Address | &:r1689_5 | -| ir.cpp:1689:50:1689:50 | Address | &:r1689_5 | -| ir.cpp:1689:50:1689:50 | Address | &:r1689_7 | -| ir.cpp:1689:50:1689:50 | Address | &:r1689_7 | -| ir.cpp:1689:50:1689:50 | ChiPartial | partial:m1689_3 | -| ir.cpp:1689:50:1689:50 | ChiTotal | total:m1689_2 | -| ir.cpp:1689:50:1689:50 | Load | m1689_6 | -| ir.cpp:1689:50:1689:50 | SideEffect | m1689_3 | -| ir.cpp:1689:50:1689:50 | SideEffect | m1689_8 | -| ir.cpp:1690:6:1690:6 | ChiPartial | partial:m1690_2 | -| ir.cpp:1690:6:1690:6 | ChiPartial | partial:m1690_5 | -| ir.cpp:1690:6:1690:6 | ChiTotal | total:m1688_16 | -| ir.cpp:1690:6:1690:6 | ChiTotal | total:m1690_3 | -| ir.cpp:1690:6:1690:6 | Load | ~m1683_10 | -| ir.cpp:1690:6:1690:6 | Load | ~m1683_14 | -| ir.cpp:1690:6:1690:6 | StoreValue | r1690_1 | -| ir.cpp:1690:6:1690:6 | StoreValue | r1690_4 | -| ir.cpp:1693:5:1693:21 | Address | &:r1693_5 | -| ir.cpp:1693:5:1693:21 | ChiPartial | partial:m1693_3 | -| ir.cpp:1693:5:1693:21 | ChiTotal | total:m1693_2 | -| ir.cpp:1693:5:1693:21 | Load | m1696_4 | -| ir.cpp:1693:5:1693:21 | SideEffect | m1693_3 | -| ir.cpp:1694:7:1694:7 | Address | &:r1694_1 | -| ir.cpp:1694:10:1694:12 | StoreValue | r1694_2 | -| ir.cpp:1696:3:1696:11 | Address | &:r1696_1 | -| ir.cpp:1696:10:1696:10 | Address | &:r1696_2 | -| ir.cpp:1696:10:1696:10 | Load | m1694_3 | -| ir.cpp:1696:10:1696:10 | StoreValue | r1696_3 | -| ir.cpp:1701:10:1701:10 | Address | &:r1701_5 | -| ir.cpp:1701:10:1701:10 | Address | &:r1701_5 | -| ir.cpp:1701:10:1701:10 | Address | &:r1701_7 | -| ir.cpp:1701:10:1701:10 | Address | &:r1701_7 | -| ir.cpp:1701:10:1701:10 | ChiPartial | partial:m1701_3 | -| ir.cpp:1701:10:1701:10 | ChiTotal | total:m1701_2 | -| ir.cpp:1701:10:1701:10 | Load | m1701_6 | -| ir.cpp:1701:10:1701:10 | SideEffect | m1701_3 | -| ir.cpp:1701:10:1701:10 | SideEffect | m1701_8 | -| ir.cpp:1702:14:1702:22 | Address | &:r1702_1 | -| ir.cpp:1702:25:1708:9 | Address | &:r1702_2 | -| ir.cpp:1702:25:1708:9 | Address | &:r1702_2 | -| ir.cpp:1702:25:1708:9 | Address | &:r1702_4 | -| ir.cpp:1702:25:1708:9 | Address | &:r1702_5 | -| ir.cpp:1702:25:1708:9 | Address | &:r1702_6 | -| ir.cpp:1702:25:1708:9 | Load | m1701_6 | -| ir.cpp:1702:25:1708:9 | Load | ~m1701_8 | -| ir.cpp:1702:25:1708:9 | Load | ~m1702_8 | -| ir.cpp:1702:25:1708:9 | StoreValue | r1702_7 | -| ir.cpp:1702:25:1708:9 | StoreValue | r1702_9 | -| ir.cpp:1702:25:1708:9 | Unary | r1702_2 | -| ir.cpp:1702:34:1702:34 | Address | &:r1702_5 | -| ir.cpp:1702:34:1702:34 | Address | &:r1702_5 | -| ir.cpp:1702:34:1702:34 | Address | &:r1702_7 | -| ir.cpp:1702:34:1702:34 | Address | &:r1702_7 | -| ir.cpp:1702:34:1702:34 | ChiPartial | partial:m1702_3 | -| ir.cpp:1702:34:1702:34 | ChiTotal | total:m1702_2 | -| ir.cpp:1702:34:1702:34 | Load | m1702_6 | -| ir.cpp:1702:34:1702:34 | SideEffect | m1702_8 | -| ir.cpp:1702:34:1702:34 | SideEffect | ~m1703_8 | -| ir.cpp:1703:13:1703:13 | Address | &:r1703_1 | -| ir.cpp:1703:13:1703:13 | Address | &:r1703_4 | -| ir.cpp:1703:13:1703:13 | Arg(this) | this:r1703_4 | -| ir.cpp:1703:13:1703:13 | CallTarget | func:r1703_5 | -| ir.cpp:1703:13:1703:13 | ChiPartial | partial:m1703_7 | -| ir.cpp:1703:13:1703:13 | ChiTotal | total:m1702_4 | -| ir.cpp:1703:13:1703:13 | Load | m1702_6 | -| ir.cpp:1703:13:1703:13 | SideEffect | ~m1702_4 | -| ir.cpp:1703:13:1703:13 | SideEffect | ~m1702_8 | -| ir.cpp:1703:13:1703:13 | Unary | r1703_2 | -| ir.cpp:1703:13:1703:13 | Unary | r1703_3 | -| ir.cpp:1705:18:1705:26 | Address | &:r1705_1 | -| ir.cpp:1705:29:1707:13 | Address | &:r1705_2 | -| ir.cpp:1705:29:1707:13 | Address | &:r1705_2 | -| ir.cpp:1705:29:1707:13 | Address | &:r1705_4 | -| ir.cpp:1705:29:1707:13 | Address | &:r1705_5 | -| ir.cpp:1705:29:1707:13 | Address | &:r1705_7 | -| ir.cpp:1705:29:1707:13 | Load | m1702_6 | -| ir.cpp:1705:29:1707:13 | Load | ~m1702_8 | -| ir.cpp:1705:29:1707:13 | Load | ~m1705_9 | -| ir.cpp:1705:29:1707:13 | StoreValue | r1705_8 | -| ir.cpp:1705:29:1707:13 | StoreValue | r1705_10 | -| ir.cpp:1705:29:1707:13 | Unary | r1705_2 | -| ir.cpp:1705:29:1707:13 | Unary | r1705_6 | -| ir.cpp:1705:38:1705:38 | Address | &:r1705_5 | -| ir.cpp:1705:38:1705:38 | Address | &:r1705_5 | -| ir.cpp:1705:38:1705:38 | Address | &:r1705_7 | -| ir.cpp:1705:38:1705:38 | Address | &:r1705_7 | -| ir.cpp:1705:38:1705:38 | ChiPartial | partial:m1705_3 | -| ir.cpp:1705:38:1705:38 | ChiTotal | total:m1705_2 | -| ir.cpp:1705:38:1705:38 | Load | m1705_6 | -| ir.cpp:1705:38:1705:38 | SideEffect | m1705_8 | -| ir.cpp:1705:38:1705:38 | SideEffect | ~m1706_8 | -| ir.cpp:1706:17:1706:17 | Address | &:r1706_1 | -| ir.cpp:1706:17:1706:17 | Address | &:r1706_4 | -| ir.cpp:1706:17:1706:17 | Arg(this) | this:r1706_4 | -| ir.cpp:1706:17:1706:17 | CallTarget | func:r1706_5 | -| ir.cpp:1706:17:1706:17 | ChiPartial | partial:m1706_7 | -| ir.cpp:1706:17:1706:17 | ChiTotal | total:m1705_4 | -| ir.cpp:1706:17:1706:17 | Load | m1705_6 | -| ir.cpp:1706:17:1706:17 | SideEffect | ~m1705_4 | -| ir.cpp:1706:17:1706:17 | SideEffect | ~m1705_8 | -| ir.cpp:1706:17:1706:17 | Unary | r1706_2 | -| ir.cpp:1706:17:1706:17 | Unary | r1706_3 | -| ir.cpp:1712:6:1712:21 | ChiPartial | partial:m1712_3 | -| ir.cpp:1712:6:1712:21 | ChiTotal | total:m1712_2 | -| ir.cpp:1712:6:1712:21 | SideEffect | m1712_3 | -| ir.cpp:1712:42:1712:43 | Address | &:r1712_5 | -| ir.cpp:1712:66:1712:67 | Address | &:r1712_7 | -| ir.cpp:1712:66:1712:67 | Address | &:r1712_7 | -| ir.cpp:1712:66:1712:67 | Address | &:r1712_9 | -| ir.cpp:1712:66:1712:67 | Address | &:r1712_9 | -| ir.cpp:1712:66:1712:67 | Load | m1712_8 | -| ir.cpp:1712:66:1712:67 | SideEffect | m1712_10 | -| ir.cpp:1712:91:1712:92 | Address | &:r1712_11 | -| ir.cpp:1712:91:1712:92 | Address | &:r1712_11 | -| ir.cpp:1712:91:1712:92 | Address | &:r1712_13 | -| ir.cpp:1712:91:1712:92 | Address | &:r1712_13 | -| ir.cpp:1712:91:1712:92 | Load | m1712_12 | -| ir.cpp:1712:91:1712:92 | SideEffect | m1712_14 | -| ir.cpp:1713:30:1713:31 | Address | &:r1713_1 | -| ir.cpp:1714:31:1714:32 | Address | &:r1714_1 | -| ir.cpp:1714:36:1714:55 | Address | &:r1714_2 | -| ir.cpp:1714:36:1714:55 | StoreValue | r1714_3 | -| ir.cpp:1714:36:1714:55 | StoreValue | r1714_6 | -| ir.cpp:1714:36:1714:55 | Unary | r1714_2 | -| ir.cpp:1714:36:1714:55 | Unary | r1714_5 | -| ir.cpp:1716:10:1716:17 | Address | &:r1716_1 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_2 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_2 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_4 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_5 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_9 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_10 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_11 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_12 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_13 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_14 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_15 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_16 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_20 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_21 | -| ir.cpp:1716:20:1718:5 | Address | &:r1716_22 | -| ir.cpp:1716:20:1718:5 | ChiPartial | partial:m1716_7 | -| ir.cpp:1716:20:1718:5 | ChiPartial | partial:m1716_18 | -| ir.cpp:1716:20:1718:5 | ChiTotal | total:m0_6 | -| ir.cpp:1716:20:1718:5 | ChiTotal | total:m1716_3 | -| ir.cpp:1716:20:1718:5 | Load | m0_9 | -| ir.cpp:1716:20:1718:5 | Load | m1712_6 | -| ir.cpp:1716:20:1718:5 | Load | m1712_8 | -| ir.cpp:1716:20:1718:5 | Load | m1712_12 | -| ir.cpp:1716:20:1718:5 | Load | m1713_2 | -| ir.cpp:1716:20:1718:5 | Load | m1714_7 | -| ir.cpp:1716:20:1718:5 | StoreValue | r1716_6 | -| ir.cpp:1716:20:1718:5 | StoreValue | r1716_17 | -| ir.cpp:1716:20:1718:5 | StoreValue | r1716_23 | -| ir.cpp:1716:20:1718:5 | Unary | r1716_2 | -| ir.cpp:1716:20:1718:5 | Unary | r1716_2 | -| ir.cpp:1716:20:1718:5 | Unary | r1716_2 | -| ir.cpp:1716:20:1718:5 | Unary | r1716_2 | -| ir.cpp:1716:20:1718:5 | Unary | r1716_2 | -| ir.cpp:1716:42:1716:42 | Address | &:r1716_5 | -| ir.cpp:1716:42:1716:42 | Address | &:r1716_5 | -| ir.cpp:1716:42:1716:42 | Address | &:r1716_7 | -| ir.cpp:1716:42:1716:42 | Address | &:r1716_7 | -| ir.cpp:1716:42:1716:42 | ChiPartial | partial:m1716_3 | -| ir.cpp:1716:42:1716:42 | ChiTotal | total:m1716_2 | -| ir.cpp:1716:42:1716:42 | Load | m1716_6 | -| ir.cpp:1716:42:1716:42 | SideEffect | m1716_3 | -| ir.cpp:1716:42:1716:42 | SideEffect | m1716_8 | -| ir.cpp:1717:14:1717:21 | Address | &:r1717_1 | -| ir.cpp:1717:24:1717:31 | Address | &:r1717_2 | -| ir.cpp:1717:24:1717:31 | Address | &:r1717_2 | -| ir.cpp:1717:24:1717:31 | Address | &:r1717_4 | -| ir.cpp:1717:24:1717:31 | Address | &:r1717_5 | -| ir.cpp:1717:24:1717:31 | Address | &:r1717_7 | -| ir.cpp:1717:24:1717:31 | Load | m1716_6 | -| ir.cpp:1717:24:1717:31 | Load | ~m1716_8 | -| ir.cpp:1717:24:1717:31 | Load | ~m1717_9 | -| ir.cpp:1717:24:1717:31 | StoreValue | r1717_8 | -| ir.cpp:1717:24:1717:31 | StoreValue | r1717_10 | -| ir.cpp:1717:24:1717:31 | Unary | r1717_2 | -| ir.cpp:1717:24:1717:31 | Unary | r1717_6 | -| ir.cpp:1717:30:1717:30 | Address | &:r1717_5 | -| ir.cpp:1717:30:1717:30 | Address | &:r1717_5 | -| ir.cpp:1717:30:1717:30 | Address | &:r1717_7 | -| ir.cpp:1717:30:1717:30 | Address | &:r1717_7 | -| ir.cpp:1717:30:1717:30 | ChiPartial | partial:m1717_3 | -| ir.cpp:1717:30:1717:30 | ChiTotal | total:m1717_2 | -| ir.cpp:1717:30:1717:30 | Load | m1717_6 | -| ir.cpp:1717:30:1717:30 | SideEffect | m1717_3 | -| ir.cpp:1717:30:1717:30 | SideEffect | m1717_8 | -| ir.cpp:1724:5:1724:44 | Address | &:r1724_5 | -| ir.cpp:1724:5:1724:44 | Address | &:r1724_5 | -| ir.cpp:1724:5:1724:44 | Address | &:r1724_7 | -| ir.cpp:1724:5:1724:44 | Address | &:r1724_7 | -| ir.cpp:1724:5:1724:44 | ChiPartial | partial:m1724_3 | -| ir.cpp:1724:5:1724:44 | ChiTotal | total:m1724_2 | -| ir.cpp:1724:5:1724:44 | Load | m1724_6 | -| ir.cpp:1724:5:1724:44 | SideEffect | m1724_3 | -| ir.cpp:1724:5:1724:44 | SideEffect | m1724_8 | -| ir.cpp:1725:5:1725:44 | Address | &:r1725_5 | -| ir.cpp:1725:5:1725:44 | Address | &:r1725_5 | -| ir.cpp:1725:5:1725:44 | Address | &:r1725_7 | -| ir.cpp:1725:5:1725:44 | Address | &:r1725_7 | -| ir.cpp:1725:5:1725:44 | ChiPartial | partial:m1725_3 | -| ir.cpp:1725:5:1725:44 | ChiTotal | total:m1725_2 | -| ir.cpp:1725:5:1725:44 | Load | m1725_6 | -| ir.cpp:1725:5:1725:44 | SideEffect | m1725_3 | -| ir.cpp:1725:5:1725:44 | SideEffect | m1726_10 | -| ir.cpp:1725:94:1725:94 | Address | &:r1725_9 | -| ir.cpp:1725:94:1725:94 | Address | &:r1725_9 | -| ir.cpp:1725:94:1725:94 | Address | &:r1725_11 | -| ir.cpp:1725:94:1725:94 | Address | &:r1725_11 | -| ir.cpp:1725:94:1725:94 | Load | m1725_10 | -| ir.cpp:1725:94:1725:94 | SideEffect | m1725_12 | -| ir.cpp:1726:9:1726:9 | Address | &:r1726_6 | -| ir.cpp:1726:9:1726:9 | Address | &:r1726_8 | -| ir.cpp:1726:9:1726:9 | Load | m1725_6 | -| ir.cpp:1726:9:1726:9 | Unary | r1726_7 | -| ir.cpp:1726:9:1726:15 | ChiPartial | partial:m1726_9 | -| ir.cpp:1726:9:1726:15 | ChiTotal | total:m1725_8 | -| ir.cpp:1726:13:1726:13 | Address | &:r1726_1 | -| ir.cpp:1726:13:1726:13 | Load | m1725_10 | -| ir.cpp:1726:13:1726:13 | Unary | r1726_2 | -| ir.cpp:1726:13:1726:13 | Unary | r1726_3 | -| ir.cpp:1726:15:1726:15 | Address | &:r1726_4 | -| ir.cpp:1726:15:1726:15 | Load | ~m1725_12 | -| ir.cpp:1726:15:1726:15 | StoreValue | r1726_5 | -| ir.cpp:1733:5:1733:39 | Address | &:r1733_5 | -| ir.cpp:1733:5:1733:39 | Address | &:r1733_5 | -| ir.cpp:1733:5:1733:39 | Address | &:r1733_7 | -| ir.cpp:1733:5:1733:39 | Address | &:r1733_7 | -| ir.cpp:1733:5:1733:39 | ChiPartial | partial:m1733_3 | -| ir.cpp:1733:5:1733:39 | ChiTotal | total:m1733_2 | -| ir.cpp:1733:5:1733:39 | Load | m1733_6 | -| ir.cpp:1733:5:1733:39 | SideEffect | m1733_3 | -| ir.cpp:1733:5:1733:39 | SideEffect | m1733_8 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_5 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_5 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_7 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_7 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_9 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_11 | -| ir.cpp:1736:7:1736:7 | Address | &:r1736_15 | -| ir.cpp:1736:7:1736:7 | Arg(0) | 0:r1736_15 | -| ir.cpp:1736:7:1736:7 | Arg(this) | this:r1736_9 | -| ir.cpp:1736:7:1736:7 | CallTarget | func:r1736_10 | -| ir.cpp:1736:7:1736:7 | ChiPartial | partial:m1736_3 | -| ir.cpp:1736:7:1736:7 | ChiPartial | partial:m1736_17 | -| ir.cpp:1736:7:1736:7 | ChiPartial | partial:m1736_20 | -| ir.cpp:1736:7:1736:7 | ChiTotal | total:m1736_2 | -| ir.cpp:1736:7:1736:7 | ChiTotal | total:m1736_4 | -| ir.cpp:1736:7:1736:7 | ChiTotal | total:m1736_8 | -| ir.cpp:1736:7:1736:7 | Load | m0_2 | -| ir.cpp:1736:7:1736:7 | Load | m1736_6 | -| ir.cpp:1736:7:1736:7 | SideEffect | m1736_21 | -| ir.cpp:1736:7:1736:7 | SideEffect | ~m0_4 | -| ir.cpp:1736:7:1736:7 | SideEffect | ~m1736_4 | -| ir.cpp:1736:7:1736:7 | SideEffect | ~m1736_18 | -| ir.cpp:1736:7:1736:7 | Unary | m1736_6 | -| ir.cpp:1736:7:1736:7 | Unary | r1736_12 | -| ir.cpp:1736:7:1736:7 | Unary | r1736_13 | -| ir.cpp:1736:7:1736:7 | Unary | r1736_14 | -| ir.cpp:1740:5:1740:38 | Address | &:r1740_5 | -| ir.cpp:1740:5:1740:38 | Address | &:r1740_5 | -| ir.cpp:1740:5:1740:38 | Address | &:r1740_7 | -| ir.cpp:1740:5:1740:38 | Address | &:r1740_7 | -| ir.cpp:1740:5:1740:38 | ChiPartial | partial:m1740_3 | -| ir.cpp:1740:5:1740:38 | ChiTotal | total:m1740_2 | -| ir.cpp:1740:5:1740:38 | Load | m1740_6 | -| ir.cpp:1740:5:1740:38 | SideEffect | m1740_22 | -| ir.cpp:1740:5:1740:38 | SideEffect | ~m1740_20 | -| ir.cpp:1740:5:1740:38 | Unary | m1740_6 | -| ir.cpp:1740:5:1740:38 | Unary | m1740_6 | -| ir.cpp:1740:42:1740:42 | Address | &:r1740_9 | -| ir.cpp:1740:42:1740:42 | Address | &:r1740_16 | -| ir.cpp:1740:42:1740:42 | Arg(this) | this:r1740_9 | -| ir.cpp:1740:42:1740:42 | Arg(this) | this:r1740_16 | -| ir.cpp:1740:42:1740:42 | CallTarget | func:r1740_10 | -| ir.cpp:1740:42:1740:42 | CallTarget | func:r1740_17 | -| ir.cpp:1740:42:1740:42 | ChiPartial | partial:m1740_12 | -| ir.cpp:1740:42:1740:42 | ChiPartial | partial:m1740_14 | -| ir.cpp:1740:42:1740:42 | ChiPartial | partial:m1740_19 | -| ir.cpp:1740:42:1740:42 | ChiPartial | partial:m1740_21 | -| ir.cpp:1740:42:1740:42 | ChiTotal | total:m1740_4 | -| ir.cpp:1740:42:1740:42 | ChiTotal | total:m1740_8 | -| ir.cpp:1740:42:1740:42 | ChiTotal | total:m1740_13 | -| ir.cpp:1740:42:1740:42 | ChiTotal | total:m1740_15 | -| ir.cpp:1740:42:1740:42 | SideEffect | ~m1740_4 | -| ir.cpp:1740:42:1740:42 | SideEffect | ~m1740_13 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_5 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_5 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_7 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_7 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_9 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_11 | -| ir.cpp:1743:7:1743:7 | Address | &:r1743_15 | -| ir.cpp:1743:7:1743:7 | Arg(0) | 0:r1743_15 | -| ir.cpp:1743:7:1743:7 | Arg(this) | this:r1743_9 | -| ir.cpp:1743:7:1743:7 | CallTarget | func:r1743_10 | -| ir.cpp:1743:7:1743:7 | ChiPartial | partial:m1743_3 | -| ir.cpp:1743:7:1743:7 | ChiPartial | partial:m1743_17 | -| ir.cpp:1743:7:1743:7 | ChiPartial | partial:m1743_20 | -| ir.cpp:1743:7:1743:7 | ChiTotal | total:m1743_2 | -| ir.cpp:1743:7:1743:7 | ChiTotal | total:m1743_4 | -| ir.cpp:1743:7:1743:7 | ChiTotal | total:m1743_18 | -| ir.cpp:1743:7:1743:7 | Load | m0_2 | -| ir.cpp:1743:7:1743:7 | Load | m1743_6 | -| ir.cpp:1743:7:1743:7 | SideEffect | m1743_8 | -| ir.cpp:1743:7:1743:7 | SideEffect | ~m0_4 | -| ir.cpp:1743:7:1743:7 | SideEffect | ~m1743_4 | -| ir.cpp:1743:7:1743:7 | SideEffect | ~m1743_21 | -| ir.cpp:1743:7:1743:7 | Unary | m1743_6 | -| ir.cpp:1743:7:1743:7 | Unary | r1743_12 | -| ir.cpp:1743:7:1743:7 | Unary | r1743_13 | -| ir.cpp:1743:7:1743:7 | Unary | r1743_14 | -| ir.cpp:1747:5:1747:35 | Address | &:r1747_5 | -| ir.cpp:1747:5:1747:35 | Address | &:r1747_5 | -| ir.cpp:1747:5:1747:35 | Address | &:r1747_7 | -| ir.cpp:1747:5:1747:35 | Address | &:r1747_7 | -| ir.cpp:1747:5:1747:35 | ChiPartial | partial:m1747_3 | -| ir.cpp:1747:5:1747:35 | ChiTotal | total:m1747_2 | -| ir.cpp:1747:5:1747:35 | Load | m1747_6 | -| ir.cpp:1747:5:1747:35 | SideEffect | m1747_8 | -| ir.cpp:1747:5:1747:35 | SideEffect | ~m1747_22 | -| ir.cpp:1747:5:1747:35 | Unary | m1747_6 | -| ir.cpp:1747:5:1747:35 | Unary | m1747_6 | -| ir.cpp:1747:39:1747:39 | Address | &:r1747_9 | -| ir.cpp:1747:39:1747:39 | Address | &:r1747_16 | -| ir.cpp:1747:39:1747:39 | Arg(this) | this:r1747_9 | -| ir.cpp:1747:39:1747:39 | Arg(this) | this:r1747_16 | -| ir.cpp:1747:39:1747:39 | CallTarget | func:r1747_10 | -| ir.cpp:1747:39:1747:39 | CallTarget | func:r1747_17 | -| ir.cpp:1747:39:1747:39 | ChiPartial | partial:m1747_12 | -| ir.cpp:1747:39:1747:39 | ChiPartial | partial:m1747_14 | -| ir.cpp:1747:39:1747:39 | ChiPartial | partial:m1747_19 | -| ir.cpp:1747:39:1747:39 | ChiPartial | partial:m1747_21 | -| ir.cpp:1747:39:1747:39 | ChiTotal | total:m1747_4 | -| ir.cpp:1747:39:1747:39 | ChiTotal | total:m1747_13 | -| ir.cpp:1747:39:1747:39 | ChiTotal | total:m1747_15 | -| ir.cpp:1747:39:1747:39 | ChiTotal | total:m1747_20 | -| ir.cpp:1747:39:1747:39 | SideEffect | ~m1747_4 | -| ir.cpp:1747:39:1747:39 | SideEffect | ~m1747_15 | -| ir.cpp:1750:5:1750:34 | Address | &:r1750_5 | -| ir.cpp:1750:5:1750:34 | ChiPartial | partial:m1750_3 | -| ir.cpp:1750:5:1750:34 | ChiTotal | total:m1750_2 | -| ir.cpp:1750:5:1750:34 | Load | m1755_2 | -| ir.cpp:1750:5:1750:34 | SideEffect | ~m1754_10 | -| ir.cpp:1751:51:1751:51 | Address | &:r1751_1 | -| ir.cpp:1751:51:1751:51 | Address | &:r1751_1 | -| ir.cpp:1751:51:1751:51 | Address | &:r1751_3 | -| ir.cpp:1751:51:1751:51 | Address | &:r1751_3 | -| ir.cpp:1751:51:1751:51 | Load | m1751_2 | -| ir.cpp:1751:51:1751:51 | SideEffect | m1751_4 | -| ir.cpp:1752:48:1752:48 | Address | &:r1752_1 | -| ir.cpp:1752:48:1752:48 | Address | &:r1752_1 | -| ir.cpp:1752:48:1752:48 | Address | &:r1752_3 | -| ir.cpp:1752:48:1752:48 | Address | &:r1752_3 | -| ir.cpp:1752:48:1752:48 | Load | m1752_2 | -| ir.cpp:1752:48:1752:48 | SideEffect | m1752_4 | -| ir.cpp:1753:40:1753:41 | Address | &:r1753_1 | -| ir.cpp:1753:40:1753:41 | Address | &:r1753_1 | -| ir.cpp:1753:40:1753:41 | Arg(this) | this:r1753_1 | -| ir.cpp:1753:44:1753:45 | CallTarget | func:r1753_3 | -| ir.cpp:1753:44:1753:45 | ChiPartial | partial:m1753_9 | -| ir.cpp:1753:44:1753:45 | ChiPartial | partial:m1753_12 | -| ir.cpp:1753:44:1753:45 | ChiTotal | total:m1750_4 | -| ir.cpp:1753:44:1753:45 | ChiTotal | total:m1753_2 | -| ir.cpp:1753:44:1753:45 | SideEffect | ~m1750_4 | -| ir.cpp:1753:45:1753:45 | Address | &:r1753_4 | -| ir.cpp:1753:45:1753:45 | Address | &:r1753_7 | -| ir.cpp:1753:45:1753:45 | Arg(0) | 0:r1753_7 | -| ir.cpp:1753:45:1753:45 | Load | m1751_2 | -| ir.cpp:1753:45:1753:45 | SideEffect | ~m1751_4 | -| ir.cpp:1753:45:1753:45 | Unary | r1753_5 | -| ir.cpp:1753:45:1753:45 | Unary | r1753_6 | -| ir.cpp:1754:37:1754:38 | Address | &:r1754_1 | -| ir.cpp:1754:37:1754:38 | Address | &:r1754_1 | -| ir.cpp:1754:37:1754:38 | Arg(this) | this:r1754_1 | -| ir.cpp:1754:41:1754:42 | CallTarget | func:r1754_3 | -| ir.cpp:1754:41:1754:42 | ChiPartial | partial:m1754_9 | -| ir.cpp:1754:41:1754:42 | ChiPartial | partial:m1754_12 | -| ir.cpp:1754:41:1754:42 | ChiTotal | total:m1753_10 | -| ir.cpp:1754:41:1754:42 | ChiTotal | total:m1754_2 | -| ir.cpp:1754:41:1754:42 | SideEffect | ~m1753_10 | -| ir.cpp:1754:42:1754:42 | Address | &:r1754_4 | -| ir.cpp:1754:42:1754:42 | Address | &:r1754_7 | -| ir.cpp:1754:42:1754:42 | Arg(0) | 0:r1754_7 | -| ir.cpp:1754:42:1754:42 | Load | m1752_2 | -| ir.cpp:1754:42:1754:42 | SideEffect | ~m1752_4 | -| ir.cpp:1754:42:1754:42 | Unary | r1754_5 | -| ir.cpp:1754:42:1754:42 | Unary | r1754_6 | -| ir.cpp:1755:1:1755:1 | Address | &:r1755_1 | -| ir.cpp:1757:6:1757:22 | ChiPartial | partial:m1757_3 | -| ir.cpp:1757:6:1757:22 | ChiTotal | total:m1757_2 | -| ir.cpp:1757:6:1757:22 | SideEffect | m1757_3 | -| ir.cpp:1757:28:1757:28 | Address | &:r1757_5 | -| ir.cpp:1758:13:1758:13 | Address | &:r1758_1 | -| ir.cpp:1758:17:1758:17 | Address | &:r1758_2 | -| ir.cpp:1758:17:1758:17 | Load | m1757_6 | -| ir.cpp:1758:17:1758:17 | StoreValue | r1758_3 | -| ir.cpp:1758:20:1758:20 | Address | &:r1758_5 | -| ir.cpp:1758:20:1758:20 | Left | r1758_6 | -| ir.cpp:1758:20:1758:20 | Load | m1757_6 | -| ir.cpp:1758:20:1758:24 | Condition | r1758_10 | -| ir.cpp:1758:20:1758:24 | Left | r1758_8 | -| ir.cpp:1758:20:1758:24 | Right | r1758_9 | -| ir.cpp:1758:24:1758:24 | Right | r1758_7 | -| ir.cpp:1759:9:1759:9 | Address | &:r1759_6 | -| ir.cpp:1759:13:1759:13 | Address | &:r1759_1 | -| ir.cpp:1759:13:1759:13 | Left | r1759_2 | -| ir.cpp:1759:13:1759:13 | Load | m1757_6 | -| ir.cpp:1759:13:1759:17 | StoreValue | r1759_5 | -| ir.cpp:1759:17:1759:17 | Address | &:r1759_3 | -| ir.cpp:1759:17:1759:17 | Load | m1758_4 | -| ir.cpp:1759:17:1759:17 | Right | r1759_4 | -| ir.cpp:1762:9:1762:9 | Address | &:r1762_2 | -| ir.cpp:1762:9:1762:9 | Phi | from 0:m1757_6 | -| ir.cpp:1762:9:1762:9 | Phi | from 1:m1759_7 | -| ir.cpp:1763:9:1763:9 | Address | &:r1763_3 | -| ir.cpp:1763:13:1763:13 | Address | &:r1763_1 | -| ir.cpp:1763:13:1763:13 | Load | m1762_1 | -| ir.cpp:1763:13:1763:13 | StoreValue | r1763_2 | -| ir.cpp:1763:16:1763:16 | Address | &:r1763_5 | -| ir.cpp:1763:16:1763:16 | Left | r1763_6 | -| ir.cpp:1763:16:1763:16 | Load | m1762_1 | -| ir.cpp:1763:16:1763:20 | Condition | r1763_10 | -| ir.cpp:1763:16:1763:20 | Left | r1763_8 | -| ir.cpp:1763:16:1763:20 | Right | r1763_9 | -| ir.cpp:1763:20:1763:20 | Right | r1763_7 | -| ir.cpp:1764:9:1764:9 | Address | &:r1764_6 | -| ir.cpp:1764:13:1764:13 | Address | &:r1764_1 | -| ir.cpp:1764:13:1764:13 | Left | r1764_2 | -| ir.cpp:1764:13:1764:13 | Load | m1762_1 | -| ir.cpp:1764:13:1764:17 | StoreValue | r1764_5 | -| ir.cpp:1764:17:1764:17 | Address | &:r1764_3 | -| ir.cpp:1764:17:1764:17 | Load | m1763_4 | -| ir.cpp:1764:17:1764:17 | Right | r1764_4 | -| ir.cpp:1767:9:1767:9 | Address | &:r1767_4 | -| ir.cpp:1767:13:1767:13 | Address | &:r1767_2 | -| ir.cpp:1767:13:1767:13 | Load | m1767_1 | -| ir.cpp:1767:13:1767:13 | Phi | from 2:m1762_1 | -| ir.cpp:1767:13:1767:13 | Phi | from 3:m1764_7 | -| ir.cpp:1767:13:1767:13 | StoreValue | r1767_3 | -| ir.cpp:1767:14:1767:25 | Address | &:r1767_6 | -| ir.cpp:1767:14:1767:25 | Condition | r1767_14 | -| ir.cpp:1767:20:1767:21 | Address | &:r1767_10 | -| ir.cpp:1767:20:1767:21 | Left | r1767_11 | -| ir.cpp:1767:20:1767:21 | Load | m1767_9 | -| ir.cpp:1767:20:1767:21 | Right | r1767_12 | -| ir.cpp:1767:20:1767:21 | Unary | r1767_13 | -| ir.cpp:1767:25:1767:25 | Address | &:r1767_7 | -| ir.cpp:1767:25:1767:25 | Load | m1767_5 | -| ir.cpp:1767:25:1767:25 | StoreValue | r1767_8 | -| ir.cpp:1768:9:1768:9 | Address | &:r1768_6 | -| ir.cpp:1768:13:1768:13 | Address | &:r1768_1 | -| ir.cpp:1768:13:1768:13 | Left | r1768_2 | -| ir.cpp:1768:13:1768:13 | Load | m1767_1 | -| ir.cpp:1768:13:1768:17 | StoreValue | r1768_5 | -| ir.cpp:1768:17:1768:17 | Address | &:r1768_3 | -| ir.cpp:1768:17:1768:17 | Load | m1767_5 | -| ir.cpp:1768:17:1768:17 | Right | r1768_4 | -| ir.cpp:1771:9:1771:29 | Address | &:r1771_6 | -| ir.cpp:1771:9:1771:29 | Condition | r1771_14 | -| ir.cpp:1771:13:1771:13 | Address | &:r1771_2 | -| ir.cpp:1771:13:1771:13 | Phi | from 4:m1767_1 | -| ir.cpp:1771:13:1771:13 | Phi | from 5:m1768_7 | -| ir.cpp:1771:17:1771:17 | Address | &:r1771_3 | -| ir.cpp:1771:17:1771:17 | Load | m1771_1 | -| ir.cpp:1771:17:1771:17 | StoreValue | r1771_4 | -| ir.cpp:1771:24:1771:25 | Address | &:r1771_10 | -| ir.cpp:1771:24:1771:25 | Left | r1771_11 | -| ir.cpp:1771:24:1771:25 | Load | m1771_9 | -| ir.cpp:1771:24:1771:25 | Right | r1771_12 | -| ir.cpp:1771:24:1771:25 | Unary | r1771_13 | -| ir.cpp:1771:29:1771:29 | Address | &:r1771_7 | -| ir.cpp:1771:29:1771:29 | Load | m1771_5 | -| ir.cpp:1771:29:1771:29 | StoreValue | r1771_8 | -| ir.cpp:1772:9:1772:9 | Address | &:r1772_6 | -| ir.cpp:1772:13:1772:13 | Address | &:r1772_1 | -| ir.cpp:1772:13:1772:13 | Left | r1772_2 | -| ir.cpp:1772:13:1772:13 | Load | m1771_1 | -| ir.cpp:1772:13:1772:17 | StoreValue | r1772_5 | -| ir.cpp:1772:17:1772:17 | Address | &:r1772_3 | -| ir.cpp:1772:17:1772:17 | Load | m1771_5 | -| ir.cpp:1772:17:1772:17 | Right | r1772_4 | -| ir.cpp:1775:9:1775:9 | Address | &:r1775_2 | -| ir.cpp:1775:9:1775:9 | Phi | from 6:m1771_1 | -| ir.cpp:1775:9:1775:9 | Phi | from 7:m1772_7 | -| ir.cpp:1775:13:1775:13 | Address | &:r1775_3 | -| ir.cpp:1775:13:1775:13 | Load | m1775_1 | -| ir.cpp:1775:13:1775:13 | StoreValue | r1775_4 | -| ir.cpp:1776:9:1776:9 | Address | &:r1776_1 | -| ir.cpp:1776:9:1776:9 | Condition | r1776_4 | -| ir.cpp:1776:9:1776:9 | Left | r1776_2 | -| ir.cpp:1776:9:1776:9 | Load | m1775_5 | -| ir.cpp:1776:9:1776:9 | Right | r1776_3 | -| ir.cpp:1777:9:1777:9 | Address | &:r1777_6 | -| ir.cpp:1777:13:1777:13 | Address | &:r1777_1 | -| ir.cpp:1777:13:1777:13 | Left | r1777_2 | -| ir.cpp:1777:13:1777:13 | Load | m1775_1 | -| ir.cpp:1777:13:1777:17 | StoreValue | r1777_5 | -| ir.cpp:1777:17:1777:17 | Address | &:r1777_3 | -| ir.cpp:1777:17:1777:17 | Load | m1775_5 | -| ir.cpp:1777:17:1777:17 | Right | r1777_4 | -| ir.cpp:1780:9:1780:18 | Address | &:r1780_2 | -| ir.cpp:1780:9:1780:18 | Condition | r1780_10 | -| ir.cpp:1780:9:1780:18 | Phi | from 8:m1775_1 | -| ir.cpp:1780:9:1780:18 | Phi | from 9:m1777_7 | -| ir.cpp:1780:13:1780:14 | Address | &:r1780_6 | -| ir.cpp:1780:13:1780:14 | Left | r1780_7 | -| ir.cpp:1780:13:1780:14 | Load | m1780_5 | -| ir.cpp:1780:13:1780:14 | Right | r1780_8 | -| ir.cpp:1780:13:1780:14 | Unary | r1780_9 | -| ir.cpp:1780:18:1780:18 | Address | &:r1780_3 | -| ir.cpp:1780:18:1780:18 | Load | m1775_5 | -| ir.cpp:1780:18:1780:18 | StoreValue | r1780_4 | -| ir.cpp:1781:9:1781:9 | Address | &:r1781_3 | -| ir.cpp:1781:9:1781:9 | Address | &:r1781_3 | -| ir.cpp:1781:9:1781:9 | Left | r1781_4 | -| ir.cpp:1781:9:1781:9 | Load | m1780_1 | -| ir.cpp:1781:9:1781:15 | StoreValue | r1781_5 | -| ir.cpp:1781:14:1781:15 | Address | &:r1781_1 | -| ir.cpp:1781:14:1781:15 | Load | m1780_5 | -| ir.cpp:1781:14:1781:15 | Right | r1781_2 | -| ir.cpp:1785:6:1785:26 | ChiPartial | partial:m1785_3 | -| ir.cpp:1785:6:1785:26 | ChiTotal | total:m1785_2 | -| ir.cpp:1785:6:1785:26 | SideEffect | m1785_3 | -| ir.cpp:1785:32:1785:32 | Address | &:r1785_5 | -| ir.cpp:1786:17:1786:17 | Address | &:r1786_1 | -| ir.cpp:1786:21:1786:21 | Address | &:r1786_2 | -| ir.cpp:1786:21:1786:21 | Load | m1785_6 | -| ir.cpp:1786:21:1786:21 | StoreValue | r1786_3 | -| ir.cpp:1786:24:1786:24 | Address | &:r1786_5 | -| ir.cpp:1786:24:1786:24 | Left | r1786_6 | -| ir.cpp:1786:24:1786:24 | Load | m1785_6 | -| ir.cpp:1786:24:1786:28 | Condition | r1786_8 | -| ir.cpp:1786:28:1786:28 | Right | r1786_7 | -| ir.cpp:1788:9:1788:9 | Address | &:r1788_6 | -| ir.cpp:1788:13:1788:13 | Address | &:r1788_1 | -| ir.cpp:1788:13:1788:13 | Left | r1788_2 | -| ir.cpp:1788:13:1788:13 | Load | m1785_6 | -| ir.cpp:1788:13:1788:17 | StoreValue | r1788_5 | -| ir.cpp:1788:17:1788:17 | Address | &:r1788_3 | -| ir.cpp:1788:17:1788:17 | Load | m1786_4 | -| ir.cpp:1788:17:1788:17 | Right | r1788_4 | -| ir.cpp:1791:9:1791:9 | Address | &:r1791_1 | -| ir.cpp:1792:13:1792:13 | Address | &:r1792_3 | -| ir.cpp:1792:17:1792:17 | Address | &:r1792_1 | -| ir.cpp:1792:17:1792:17 | Load | m1788_7 | -| ir.cpp:1792:17:1792:17 | StoreValue | r1792_2 | -| ir.cpp:1792:20:1792:20 | Address | &:r1792_5 | -| ir.cpp:1792:20:1792:20 | Left | r1792_6 | -| ir.cpp:1792:20:1792:20 | Load | m1788_7 | -| ir.cpp:1792:20:1792:24 | Condition | r1792_8 | -| ir.cpp:1792:24:1792:24 | Right | r1792_7 | -| ir.cpp:1794:9:1794:9 | Address | &:r1794_6 | -| ir.cpp:1794:13:1794:13 | Address | &:r1794_1 | -| ir.cpp:1794:13:1794:13 | Left | r1794_2 | -| ir.cpp:1794:13:1794:13 | Load | m1788_7 | -| ir.cpp:1794:13:1794:17 | StoreValue | r1794_5 | -| ir.cpp:1794:17:1794:17 | Address | &:r1794_3 | -| ir.cpp:1794:17:1794:17 | Load | m1792_4 | -| ir.cpp:1794:17:1794:17 | Right | r1794_4 | -| ir.cpp:1797:13:1797:13 | Address | &:r1797_3 | -| ir.cpp:1797:17:1797:17 | Address | &:r1797_1 | -| ir.cpp:1797:17:1797:17 | Load | m1794_7 | -| ir.cpp:1797:17:1797:17 | StoreValue | r1797_2 | -| ir.cpp:1797:18:1797:29 | Address | &:r1797_5 | -| ir.cpp:1797:18:1797:29 | Condition | r1797_11 | -| ir.cpp:1797:24:1797:25 | Address | &:r1797_9 | -| ir.cpp:1797:24:1797:25 | Load | m1797_8 | -| ir.cpp:1797:24:1797:25 | Unary | r1797_10 | -| ir.cpp:1797:29:1797:29 | Address | &:r1797_6 | -| ir.cpp:1797:29:1797:29 | Load | m1797_4 | -| ir.cpp:1797:29:1797:29 | StoreValue | r1797_7 | -| ir.cpp:1799:9:1799:9 | Address | &:r1799_6 | -| ir.cpp:1799:13:1799:13 | Address | &:r1799_1 | -| ir.cpp:1799:13:1799:13 | Left | r1799_2 | -| ir.cpp:1799:13:1799:13 | Load | m1794_7 | -| ir.cpp:1799:13:1799:17 | StoreValue | r1799_5 | -| ir.cpp:1799:17:1799:17 | Address | &:r1799_3 | -| ir.cpp:1799:17:1799:17 | Load | m1797_4 | -| ir.cpp:1799:17:1799:17 | Right | r1799_4 | -| ir.cpp:1802:13:1802:33 | Address | &:r1802_5 | -| ir.cpp:1802:13:1802:33 | Condition | r1802_11 | -| ir.cpp:1802:17:1802:17 | Address | &:r1802_1 | -| ir.cpp:1802:21:1802:21 | Address | &:r1802_2 | -| ir.cpp:1802:21:1802:21 | Load | m1799_7 | -| ir.cpp:1802:21:1802:21 | StoreValue | r1802_3 | -| ir.cpp:1802:28:1802:29 | Address | &:r1802_9 | -| ir.cpp:1802:28:1802:29 | Load | m1802_8 | -| ir.cpp:1802:28:1802:29 | Unary | r1802_10 | -| ir.cpp:1802:33:1802:33 | Address | &:r1802_6 | -| ir.cpp:1802:33:1802:33 | Load | m1802_4 | -| ir.cpp:1802:33:1802:33 | StoreValue | r1802_7 | -| ir.cpp:1804:9:1804:9 | Address | &:r1804_6 | -| ir.cpp:1804:13:1804:13 | Address | &:r1804_1 | -| ir.cpp:1804:13:1804:13 | Left | r1804_2 | -| ir.cpp:1804:13:1804:13 | Load | m1799_7 | -| ir.cpp:1804:13:1804:17 | StoreValue | r1804_5 | -| ir.cpp:1804:17:1804:17 | Address | &:r1804_3 | -| ir.cpp:1804:17:1804:17 | Load | m1802_4 | -| ir.cpp:1804:17:1804:17 | Right | r1804_4 | -| ir.cpp:1807:9:1807:9 | Address | &:r1807_1 | -| ir.cpp:1807:13:1807:13 | Address | &:r1807_2 | -| ir.cpp:1807:13:1807:13 | Load | m1804_7 | -| ir.cpp:1807:13:1807:13 | StoreValue | r1807_3 | -| ir.cpp:1808:13:1808:13 | Address | &:r1808_1 | -| ir.cpp:1808:13:1808:13 | Condition | r1808_2 | -| ir.cpp:1808:13:1808:13 | Load | m1807_4 | -| ir.cpp:1810:9:1810:9 | Address | &:r1810_6 | +| 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 | Left | r1810_2 | -| ir.cpp:1810:13:1810:13 | Load | m1804_7 | -| ir.cpp:1810:13:1810:17 | StoreValue | r1810_5 | -| ir.cpp:1810:17:1810:17 | Address | &:r1810_3 | -| ir.cpp:1810:17:1810:17 | Load | m1807_4 | -| ir.cpp:1810:17:1810:17 | Right | r1810_4 | -| ir.cpp:1813:13:1813:22 | Address | &:r1813_1 | -| ir.cpp:1813:13:1813:22 | Condition | r1813_7 | -| ir.cpp:1813:17:1813:18 | Address | &:r1813_5 | -| ir.cpp:1813:17:1813:18 | Load | m1813_4 | -| ir.cpp:1813:17:1813:18 | Unary | r1813_6 | -| ir.cpp:1813:22:1813:22 | Address | &:r1813_2 | -| ir.cpp:1813:22:1813:22 | Load | m1807_4 | -| ir.cpp:1813:22:1813:22 | StoreValue | r1813_3 | -| ir.cpp:1815:9:1815:9 | Address | &:r1815_3 | -| ir.cpp:1815:9:1815:9 | Address | &:r1815_3 | -| ir.cpp:1815:9:1815:9 | Left | r1815_4 | -| ir.cpp:1815:9:1815:9 | Load | m1810_7 | -| ir.cpp:1815:9:1815:15 | StoreValue | r1815_5 | -| ir.cpp:1815:14:1815:15 | Address | &:r1815_1 | -| ir.cpp:1815:14:1815:15 | Load | m1813_4 | -| ir.cpp:1815:14:1815:15 | Right | r1815_2 | -| ir.cpp:1821:5:1821:12 | Address | &:r1821_3 | -| ir.cpp:1821:5:1821:12 | SideEffect | ~m1821_6 | -| ir.cpp:1821:16:1821:16 | ChiPartial | partial:m1821_5 | -| ir.cpp:1821:16:1821:16 | ChiTotal | total:m1821_2 | -| ir.cpp:1821:16:1821:16 | StoreValue | r1821_4 | -| ir.cpp:1825:18:1825:25 | Address | &:r1825_3 | -| ir.cpp:1825:18:1825:25 | Arg(this) | this:r1825_3 | -| ir.cpp:1825:18:1825:25 | SideEffect | ~m1825_10 | -| ir.cpp:1825:27:1825:27 | Arg(0) | 0:r1825_5 | -| ir.cpp:1825:27:1825:28 | CallTarget | func:r1825_4 | -| ir.cpp:1825:27:1825:28 | ChiPartial | partial:m1825_7 | -| ir.cpp:1825:27:1825:28 | ChiPartial | partial:m1825_9 | -| ir.cpp:1825:27:1825:28 | ChiTotal | total:m1825_2 | -| ir.cpp:1825:27:1825:28 | ChiTotal | total:m1825_8 | -| ir.cpp:1825:27:1825:28 | SideEffect | ~m1825_2 | +| 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: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:28:1827:47 | CallTarget | func:r1827_4 | -| ir.cpp:1827:28:1827:47 | ChiPartial | partial:m1827_7 | -| ir.cpp:1827:28:1827:47 | ChiPartial | partial:m1827_9 | -| ir.cpp:1827:28:1827:47 | ChiTotal | total:m1827_2 | -| ir.cpp:1827:28:1827:47 | ChiTotal | total:m1827_8 | -| ir.cpp:1827:28:1827:47 | SideEffect | ~m1827_2 | -| ir.cpp:1827:46:1827:46 | Arg(0) | 0:r1827_5 | -| ir.cpp:1829:7:1829:19 | Address | &:r1829_3 | -| ir.cpp:1829:7:1829:19 | SideEffect | ~m1829_8 | -| ir.cpp:1829:23:1829:37 | ChiPartial | partial:m1829_7 | -| ir.cpp:1829:23:1829:37 | ChiTotal | total:m1829_2 | -| ir.cpp:1829:23:1829:37 | StoreValue | r1829_6 | -| ir.cpp:1829:23:1829:37 | Unary | r1829_4 | -| ir.cpp:1829:23:1829:37 | Unary | r1829_5 | -| ir.cpp:1831:5:1831:12 | Address | &:r1831_3 | -| ir.cpp:1831:5:1831:12 | SideEffect | ~m1831_7 | -| ir.cpp:1831:16:1831:23 | Address | &:r1831_4 | -| ir.cpp:1831:16:1831:23 | ChiPartial | partial:m1831_6 | -| ir.cpp:1831:16:1831:23 | ChiTotal | total:m1831_2 | -| ir.cpp:1831:16:1831:23 | Load | ~m1831_2 | -| ir.cpp:1831:16:1831:23 | StoreValue | r1831_5 | -| ir.cpp:1834:11:1834:11 | Address | &:r1834_5 | -| ir.cpp:1834:11:1834:11 | Address | &:r1834_5 | -| ir.cpp:1834:11:1834:11 | Address | &:r1834_7 | -| ir.cpp:1834:11:1834:11 | Address | &:r1834_7 | -| ir.cpp:1834:11:1834:11 | Address | &:r1834_10 | -| ir.cpp:1834:11:1834:11 | ChiPartial | partial:m1834_3 | -| ir.cpp:1834:11:1834:11 | ChiTotal | total:m1834_2 | -| ir.cpp:1834:11:1834:11 | Load | m0_20 | -| ir.cpp:1834:11:1834:11 | Load | m1834_6 | -| ir.cpp:1834:11:1834:11 | SideEffect | m0_14 | -| ir.cpp:1834:11:1834:11 | SideEffect | m1834_3 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_5 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_5 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_7 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_7 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_9 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_12 | -| ir.cpp:1839:12:1839:12 | Address | &:r1839_20 | -| ir.cpp:1839:12:1839:12 | Arg(this) | this:r0_5 | -| ir.cpp:1839:12:1839:12 | CallTarget | func:r1839_11 | -| ir.cpp:1839:12:1839:12 | ChiPartial | partial:m1839_3 | -| ir.cpp:1839:12:1839:12 | ChiPartial | partial:m1839_17 | -| ir.cpp:1839:12:1839:12 | ChiTotal | total:m1839_2 | -| ir.cpp:1839:12:1839:12 | ChiTotal | total:m1839_4 | -| ir.cpp:1839:12:1839:12 | Load | m0_2 | -| ir.cpp:1839:12:1839:12 | Load | m0_21 | -| ir.cpp:1839:12:1839:12 | Load | m1839_6 | -| ir.cpp:1839:12:1839:12 | Load | m1839_6 | -| ir.cpp:1839:12:1839:12 | SideEffect | m0_12 | -| ir.cpp:1839:12:1839:12 | SideEffect | ~m1839_4 | -| ir.cpp:1839:12:1839:12 | SideEffect | ~m1839_18 | -| ir.cpp:1839:12:1839:12 | Unary | r1839_10 | -| ir.cpp:1839:12:1839:12 | Unary | r1839_13 | -| ir.cpp:1839:12:1839:12 | Unary | r1839_14 | -| ir.cpp:1839:12:1839:12 | Unary | r1839_15 | -| ir.cpp:1839:12:1839:12 | Unary | r1839_16 | -| ir.cpp:1843:10:1843:12 | ChiPartial | partial:m1843_3 | -| ir.cpp:1843:10:1843:12 | ChiTotal | total:m1843_2 | -| ir.cpp:1843:10:1843:12 | SideEffect | ~m1845_18 | -| ir.cpp:1844:11:1844:11 | Address | &:r1844_1 | -| ir.cpp:1844:11:1844:11 | Address | &:r1844_1 | -| ir.cpp:1844:11:1844:11 | Arg(this) | this:r1844_1 | -| ir.cpp:1844:13:1844:13 | Address | &:r1844_4 | -| ir.cpp:1844:13:1844:13 | Address | &:r1844_4 | -| ir.cpp:1844:13:1844:13 | Arg(0) | 0:r1844_4 | -| ir.cpp:1844:13:1844:13 | ChiPartial | partial:m1844_11 | -| ir.cpp:1844:13:1844:13 | ChiTotal | total:m1844_7 | -| ir.cpp:1844:13:1844:13 | SideEffect | ~m1844_7 | -| ir.cpp:1844:13:1844:14 | CallTarget | func:r1844_3 | -| ir.cpp:1844:13:1844:14 | ChiPartial | partial:m1844_6 | -| ir.cpp:1844:13:1844:14 | ChiPartial | partial:m1844_9 | -| ir.cpp:1844:13:1844:14 | ChiTotal | total:m1843_4 | -| ir.cpp:1844:13:1844:14 | ChiTotal | total:m1844_2 | -| ir.cpp:1844:13:1844:14 | SideEffect | ~m1843_4 | -| ir.cpp:1845:9:1845:9 | Address | &:r1845_1 | -| ir.cpp:1845:9:1845:9 | Address | &:r1845_1 | -| ir.cpp:1845:9:1845:9 | Arg(this) | this:r1845_1 | -| ir.cpp:1845:9:1845:9 | ChiPartial | partial:m1845_21 | -| ir.cpp:1845:9:1845:9 | ChiTotal | total:m1844_10 | -| ir.cpp:1845:9:1845:9 | SideEffect | m1844_10 | -| ir.cpp:1845:11:1845:11 | CallTarget | func:r1845_2 | -| ir.cpp:1845:11:1845:11 | ChiPartial | partial:m1845_17 | -| ir.cpp:1845:11:1845:11 | ChiTotal | total:m1845_14 | -| ir.cpp:1845:11:1845:11 | SideEffect | ~m1845_14 | -| ir.cpp:1845:11:1845:11 | Unary | r1845_16 | -| ir.cpp:1845:13:1845:13 | Address | &:r1845_3 | -| ir.cpp:1845:13:1845:13 | Address | &:r1845_3 | -| ir.cpp:1845:13:1845:13 | Address | &:r1845_6 | -| ir.cpp:1845:13:1845:13 | Address | &:r1845_6 | -| ir.cpp:1845:13:1845:13 | Address | &:r1845_15 | -| ir.cpp:1845:13:1845:13 | Address | &:r1845_15 | -| ir.cpp:1845:13:1845:13 | Arg(0) | 0:r1845_6 | -| ir.cpp:1845:13:1845:13 | Arg(0) | 0:r1845_15 | -| ir.cpp:1845:13:1845:13 | Arg(this) | this:r1845_3 | -| ir.cpp:1845:13:1845:13 | CallTarget | func:r1845_5 | -| ir.cpp:1845:13:1845:13 | ChiPartial | partial:m1845_8 | -| ir.cpp:1845:13:1845:13 | ChiPartial | partial:m1845_11 | -| ir.cpp:1845:13:1845:13 | ChiPartial | partial:m1845_13 | -| ir.cpp:1845:13:1845:13 | ChiPartial | partial:m1845_23 | -| ir.cpp:1845:13:1845:13 | ChiTotal | total:m1844_12 | -| ir.cpp:1845:13:1845:13 | ChiTotal | total:m1845_4 | -| ir.cpp:1845:13:1845:13 | ChiTotal | total:m1845_9 | -| ir.cpp:1845:13:1845:13 | ChiTotal | total:m1845_12 | -| ir.cpp:1845:13:1845:13 | SideEffect | ~m1844_12 | -| ir.cpp:1845:13:1845:13 | SideEffect | ~m1845_9 | -| ir.cpp:1845:13:1845:13 | SideEffect | ~m1845_12 | -| ir.cpp:1845:13:1845:13 | Unary | r1845_3 | -| ir.cpp:1849:6:1849:14 | ChiPartial | partial:m1849_3 | -| ir.cpp:1849:6:1849:14 | ChiTotal | total:m1849_2 | -| ir.cpp:1849:6:1849:14 | SideEffect | m1849_3 | -| ir.cpp:1850:17:1850:18 | Address | &:r1850_1 | -| ir.cpp:1850:22:1850:40 | StoreValue | r1850_3 | -| ir.cpp:1850:22:1850:40 | Unary | r1850_2 | -| ir.cpp:1851:17:1851:23 | Address | &:r1851_1 | -| ir.cpp:1851:27:1851:34 | StoreValue | r1851_3 | -| ir.cpp:1851:27:1851:34 | Unary | r1851_2 | -| ir.cpp:1862:15:1862:15 | Address | &:r1862_5 | -| ir.cpp:1862:15:1862:15 | Address | &:r1862_5 | -| ir.cpp:1862:15:1862:15 | Address | &:r1862_7 | -| ir.cpp:1862:15:1862:15 | Address | &:r1862_7 | -| ir.cpp:1862:15:1862:15 | Address | &:r1862_15 | -| ir.cpp:1862:15:1862:15 | ChiPartial | partial:m1862_3 | -| ir.cpp:1862:15:1862:15 | ChiTotal | total:m1862_2 | -| ir.cpp:1862:15:1862:15 | Load | m1862_6 | -| ir.cpp:1862:15:1862:15 | Load | m1864_5 | -| ir.cpp:1862:15:1862:15 | SideEffect | m1862_3 | -| ir.cpp:1862:15:1862:15 | SideEffect | m1862_8 | -| ir.cpp:1862:47:1862:47 | Address | &:r1862_9 | -| ir.cpp:1862:47:1862:47 | Address | &:r1862_9 | -| ir.cpp:1862:47:1862:47 | Address | &:r1862_11 | -| ir.cpp:1862:47:1862:47 | Address | &:r1862_11 | -| ir.cpp:1862:47:1862:47 | Load | m1862_10 | -| ir.cpp:1862:47:1862:47 | SideEffect | m1862_12 | -| ir.cpp:1864:13:1864:21 | Address | &:r1864_1 | -| ir.cpp:1864:20:1864:20 | Address | &:r1864_2 | -| ir.cpp:1864:20:1864:20 | Load | m1862_10 | -| ir.cpp:1864:20:1864:20 | StoreValue | r1864_4 | -| ir.cpp:1864:20:1864:20 | Unary | r1864_3 | -| ir.cpp:1868:10:1868:14 | ChiPartial | partial:m1868_3 | -| ir.cpp:1868:10:1868:14 | ChiTotal | total:m1868_2 | -| ir.cpp:1868:10:1868:14 | SideEffect | ~m1870_12 | -| ir.cpp:1869:19:1869:19 | Address | &:r1869_1 | -| ir.cpp:1870:9:1870:9 | Address | &:r1870_1 | -| ir.cpp:1870:9:1870:9 | Address | &:r1870_1 | -| ir.cpp:1870:9:1870:9 | Arg(this) | this:r1870_1 | -| ir.cpp:1870:9:1870:9 | ChiPartial | partial:m1870_9 | -| ir.cpp:1870:9:1870:9 | ChiTotal | total:m1869_2 | -| ir.cpp:1870:9:1870:9 | SideEffect | m1869_2 | -| ir.cpp:1870:11:1870:33 | CallTarget | func:r1870_2 | -| ir.cpp:1870:11:1870:33 | ChiPartial | partial:m1870_5 | -| ir.cpp:1870:11:1870:33 | ChiTotal | total:m1868_4 | -| ir.cpp:1870:11:1870:33 | SideEffect | ~m1868_4 | -| ir.cpp:1870:35:1870:41 | Address | &:r1870_3 | -| ir.cpp:1870:35:1870:41 | Address | &:r1870_3 | -| ir.cpp:1870:35:1870:41 | Arg(0) | 0:r1870_3 | -| ir.cpp:1870:35:1870:41 | ChiPartial | partial:m1870_11 | -| ir.cpp:1870:35:1870:41 | ChiTotal | total:m1870_6 | -| ir.cpp:1870:35:1870:41 | SideEffect | ~m1870_6 | -| ir.cpp:1875:13:1875:13 | Address | &:r1875_5 | -| ir.cpp:1875:13:1875:13 | Address | &:r1875_5 | -| ir.cpp:1875:13:1875:13 | Address | &:r1875_7 | -| ir.cpp:1875:13:1875:13 | Address | &:r1875_7 | -| ir.cpp:1875:13:1875:13 | Address | &:r1875_10 | -| ir.cpp:1875:13:1875:13 | ChiPartial | partial:m1875_3 | -| ir.cpp:1875:13:1875:13 | ChiTotal | total:m1875_2 | -| ir.cpp:1875:13:1875:13 | Load | m1875_6 | -| ir.cpp:1875:13:1875:13 | Load | m1879_9 | -| ir.cpp:1875:13:1875:13 | SideEffect | m1875_3 | -| ir.cpp:1875:13:1875:13 | SideEffect | m1875_8 | -| ir.cpp:1876:13:1876:29 | Address | &:r1876_1 | -| ir.cpp:1876:13:1876:29 | Address | &:r1876_3 | -| ir.cpp:1877:13:1877:14 | Address | &:r1877_4 | -| ir.cpp:1877:13:1877:19 | ChiPartial | partial:m1877_5 | -| ir.cpp:1877:13:1877:19 | ChiTotal | total:m1876_2 | -| ir.cpp:1877:14:1877:14 | Unary | r1877_2 | -| ir.cpp:1877:14:1877:14 | Unary | r1877_3 | -| ir.cpp:1877:18:1877:19 | StoreValue | r1877_1 | -| ir.cpp:1878:13:1878:14 | Address | &:r1878_4 | -| ir.cpp:1878:13:1878:19 | ChiPartial | partial:m1878_5 | -| ir.cpp:1878:13:1878:19 | ChiTotal | total:m1876_4 | -| ir.cpp:1878:14:1878:14 | Unary | r1878_2 | -| ir.cpp:1878:14:1878:14 | Unary | r1878_3 | -| ir.cpp:1878:18:1878:19 | StoreValue | r1878_1 | -| ir.cpp:1879:13:1879:27 | Address | &:r1879_1 | -| ir.cpp:1879:20:1879:21 | Left | r1879_4 | -| ir.cpp:1879:20:1879:21 | Load | m1877_5 | -| ir.cpp:1879:20:1879:26 | StoreValue | r1879_8 | -| ir.cpp:1879:21:1879:21 | Address | &:r1879_3 | -| ir.cpp:1879:21:1879:21 | Unary | r1879_2 | -| ir.cpp:1879:25:1879:26 | Load | m1878_5 | -| ir.cpp:1879:25:1879:26 | Right | r1879_7 | -| ir.cpp:1879:26:1879:26 | Address | &:r1879_6 | -| ir.cpp:1879:26:1879:26 | Unary | r1879_5 | -| ir.cpp:1883:10:1883:14 | ChiPartial | partial:m1883_3 | -| ir.cpp:1883:10:1883:14 | ChiTotal | total:m1883_2 | -| ir.cpp:1883:10:1883:14 | SideEffect | ~m1885_5 | -| ir.cpp:1884:19:1884:19 | Address | &:r1884_1 | -| ir.cpp:1885:9:1885:9 | Address | &:r1885_1 | -| ir.cpp:1885:9:1885:9 | Address | &:r1885_1 | -| ir.cpp:1885:9:1885:9 | Arg(this) | this:r1885_1 | -| ir.cpp:1885:9:1885:9 | ChiPartial | partial:m1885_7 | -| ir.cpp:1885:9:1885:9 | ChiTotal | total:m1884_2 | -| ir.cpp:1885:9:1885:9 | SideEffect | m1884_2 | -| ir.cpp:1885:11:1885:50 | CallTarget | func:r1885_2 | -| ir.cpp:1885:11:1885:50 | ChiPartial | partial:m1885_4 | -| ir.cpp:1885:11:1885:50 | ChiTotal | total:m1883_4 | -| ir.cpp:1885:11:1885:50 | SideEffect | ~m1883_4 | -| ir.cpp:1889:24:1889:24 | Address | &:r1889_3 | -| ir.cpp:1889:24:1889:24 | Address | &:r1889_3 | -| ir.cpp:1889:24:1889:24 | SideEffect | ~m1889_6 | -| ir.cpp:1889:24:1889:24 | SideEffect | ~m1889_6 | -| ir.cpp:1889:42:1889:43 | ChiPartial | partial:m1889_5 | -| ir.cpp:1889:42:1889:43 | ChiPartial | partial:m1889_5 | -| ir.cpp:1889:42:1889:43 | ChiTotal | total:m1889_2 | -| ir.cpp:1889:42:1889:43 | ChiTotal | total:m1889_2 | -| ir.cpp:1889:42:1889:43 | StoreValue | r1889_4 | -| ir.cpp:1889:42:1889:43 | StoreValue | r1889_4 | -| ir.cpp:1891:5:1891:28 | Address | &:r1891_5 | -| ir.cpp:1891:5:1891:28 | ChiPartial | partial:m1891_3 | -| ir.cpp:1891:5:1891:28 | ChiTotal | total:m1891_2 | -| ir.cpp:1891:5:1891:28 | Load | m1894_8 | -| ir.cpp:1891:5:1891:28 | SideEffect | m1891_3 | -| ir.cpp:1892:9:1892:17 | Address | &:r1892_1 | -| ir.cpp:1892:21:1892:40 | Address | &:r1892_2 | -| ir.cpp:1892:21:1892:40 | Load | ~m1891_3 | -| ir.cpp:1892:21:1892:40 | StoreValue | r1892_3 | -| ir.cpp:1893:10:1893:19 | Address | &:r1893_1 | -| ir.cpp:1893:23:1893:43 | Address | &:r1893_2 | -| ir.cpp:1893:23:1893:43 | Load | ~m1891_3 | -| ir.cpp:1893:23:1893:43 | StoreValue | r1893_3 | -| ir.cpp:1894:5:1894:39 | Address | &:r1894_1 | -| ir.cpp:1894:12:1894:20 | Address | &:r1894_2 | -| ir.cpp:1894:12:1894:20 | Left | r1894_3 | -| ir.cpp:1894:12:1894:20 | Load | m1892_4 | -| ir.cpp:1894:12:1894:38 | StoreValue | r1894_7 | -| ir.cpp:1894:24:1894:38 | Right | r1894_6 | -| ir.cpp:1894:29:1894:38 | Address | &:r1894_4 | -| ir.cpp:1894:29:1894:38 | Load | m1893_4 | -| ir.cpp:1894:29:1894:38 | Unary | r1894_5 | -| ir.cpp:1899:5:1899:16 | Address | &:r1899_7 | -| ir.cpp:1899:5:1899:16 | ChiPartial | partial:m1899_3 | -| ir.cpp:1899:5:1899:16 | ChiTotal | total:m1899_2 | -| ir.cpp:1899:5:1899:16 | Load | m1901_4 | -| ir.cpp:1899:5:1899:16 | SideEffect | m1899_3 | -| ir.cpp:1899:22:1899:22 | Address | &:r1899_5 | -| ir.cpp:1900:9:1900:9 | Address | &:r1900_1 | -| ir.cpp:1900:9:1900:9 | Left | r1900_2 | -| ir.cpp:1900:9:1900:9 | Load | m1899_6 | -| ir.cpp:1900:9:1900:14 | Condition | r1900_4 | -| ir.cpp:1900:13:1900:14 | Right | r1900_3 | -| ir.cpp:1901:9:1901:17 | Address | &:r1901_1 | -| ir.cpp:1901:16:1901:16 | Address | &:r1901_2 | -| ir.cpp:1901:16:1901:16 | Load | m1899_6 | -| ir.cpp:1901:16:1901:16 | StoreValue | r1901_3 | -| ir.cpp:1903:9:1903:20 | CallTarget | func:r1903_1 | -| ir.cpp:1903:9:1903:20 | ChiPartial | partial:m1903_3 | -| ir.cpp:1903:9:1903:20 | ChiTotal | total:m1899_4 | -| ir.cpp:1903:9:1903:20 | SideEffect | ~m1899_4 | -| ir.cpp:1907:5:1907:17 | Address | &:r1907_8 | -| ir.cpp:1907:5:1907:17 | ChiPartial | partial:m1907_3 | -| ir.cpp:1907:5:1907:17 | ChiTotal | total:m1907_2 | -| ir.cpp:1907:5:1907:17 | Load | m1911_4 | -| ir.cpp:1907:5:1907:17 | SideEffect | m1907_3 | -| ir.cpp:1907:23:1907:23 | Address | &:r1907_5 | -| ir.cpp:1908:9:1908:9 | Address | &:r1908_1 | -| ir.cpp:1908:9:1908:9 | Left | r1908_2 | -| ir.cpp:1908:9:1908:9 | Load | m1907_6 | -| ir.cpp:1908:9:1908:14 | Condition | r1908_4 | -| ir.cpp:1908:13:1908:14 | Right | r1908_3 | -| ir.cpp:1909:9:1909:20 | CallTarget | func:r1909_1 | -| ir.cpp:1909:9:1909:20 | ChiPartial | partial:m1909_3 | -| ir.cpp:1909:9:1909:20 | ChiTotal | total:m1907_4 | -| ir.cpp:1909:9:1909:20 | SideEffect | ~m1907_4 | -| ir.cpp:1911:5:1911:13 | Address | &:r1911_1 | -| ir.cpp:1911:12:1911:12 | Address | &:r1911_2 | -| ir.cpp:1911:12:1911:12 | Load | m1907_6 | -| ir.cpp:1911:12:1911:12 | StoreValue | r1911_3 | -| ir.cpp:1914:5:1914:19 | Address | &:r1914_7 | -| ir.cpp:1914:5:1914:19 | ChiPartial | partial:m1914_3 | -| ir.cpp:1914:5:1914:19 | ChiTotal | total:m1914_2 | -| ir.cpp:1914:5:1914:19 | Load | m1915_4 | -| ir.cpp:1914:5:1914:19 | SideEffect | m1914_3 | -| ir.cpp:1914:25:1914:25 | Address | &:r1914_5 | -| ir.cpp:1915:5:1915:13 | Address | &:r1915_1 | -| ir.cpp:1915:12:1915:12 | Address | &:r1915_2 | -| ir.cpp:1915:12:1915:12 | Load | m1914_6 | -| ir.cpp:1915:12:1915:12 | StoreValue | r1915_3 | -| ir.cpp:1918:6:1918:43 | ChiPartial | partial:m1918_3 | -| ir.cpp:1918:6:1918:43 | ChiTotal | total:m1918_2 | -| ir.cpp:1918:6:1918:43 | SideEffect | ~m1925_5 | -| ir.cpp:1919:7:1919:7 | Address | &:r1919_1 | -| ir.cpp:1919:7:1919:7 | Address | &:r1919_1 | -| ir.cpp:1919:7:1919:7 | Arg(this) | this:r1919_1 | -| ir.cpp:1919:7:1919:7 | CallTarget | func:r1919_3 | -| ir.cpp:1919:7:1919:7 | ChiPartial | partial:m1919_5 | -| ir.cpp:1919:7:1919:7 | ChiPartial | partial:m1919_7 | -| ir.cpp:1919:7:1919:7 | ChiTotal | total:m1918_4 | -| ir.cpp:1919:7:1919:7 | ChiTotal | total:m1919_2 | -| ir.cpp:1919:7:1919:7 | SideEffect | ~m1918_4 | -| ir.cpp:1920:9:1920:9 | Address | &:r1920_1 | -| ir.cpp:1921:5:1921:5 | Address | &:r1921_7 | -| ir.cpp:1921:11:1921:30 | CallTarget | func:r1921_2 | -| ir.cpp:1921:11:1921:30 | ChiPartial | partial:m1921_5 | -| ir.cpp:1921:11:1921:30 | ChiTotal | total:m1919_6 | -| ir.cpp:1921:11:1921:30 | SideEffect | ~m1919_6 | -| ir.cpp:1921:11:1921:30 | StoreValue | r1921_4 | -| ir.cpp:1921:32:1921:33 | Arg(0) | 0:r1921_3 | +| 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 | ~m1927_5 | +| 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_6 | -| ir.cpp:1923:9:1923:31 | CallTarget | func:r1923_1 | -| ir.cpp:1923:9:1923:31 | ChiPartial | partial:m1923_4 | -| ir.cpp:1923:9:1923:31 | ChiTotal | total:m1921_6 | -| ir.cpp:1923:9:1923:31 | SideEffect | ~m1921_6 | -| ir.cpp:1923:9:1923:31 | StoreValue | r1923_3 | -| ir.cpp:1923:33:1923:34 | Arg(0) | 0:r1923_2 | +| 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:23 | CallTarget | func:r1925_1 | -| ir.cpp:1925:9:1925:23 | ChiPartial | partial:m1925_4 | -| ir.cpp:1925:9:1925:23 | ChiTotal | total:m1923_5 | -| ir.cpp:1925:9:1925:23 | SideEffect | ~m1923_5 | -| ir.cpp:1925:9:1925:23 | StoreValue | r1925_3 | -| ir.cpp:1925:25:1925:26 | Arg(0) | 0:r1925_2 | -| ir.cpp:1928:6:1928:23 | ChiPartial | partial:m1928_3 | -| ir.cpp:1928:6:1928:23 | ChiTotal | total:m1928_2 | -| ir.cpp:1928:6:1928:23 | SideEffect | m1928_3 | -| ir.cpp:1929:7:1929:7 | Address | &:r1929_1 | -| ir.cpp:1929:10:1929:10 | Address | &:r1929_3 | -| ir.cpp:1930:3:1930:3 | Address | &:r1930_5 | -| ir.cpp:1930:7:1930:7 | Address | &:r1930_2 | -| ir.cpp:1930:7:1930:7 | Address | &:r1930_2 | -| ir.cpp:1930:7:1930:12 | Load | m1930_3 | -| ir.cpp:1930:7:1930:12 | StoreValue | r1930_4 | -| ir.cpp:1930:11:1930:12 | StoreValue | r1930_1 | -| ir.cpp:1933:6:1933:38 | ChiPartial | partial:m1933_3 | -| ir.cpp:1933:6:1933:38 | ChiTotal | total:m1933_2 | -| ir.cpp:1933:6:1933:38 | SideEffect | m1933_3 | -| ir.cpp:1934:7:1934:7 | Address | &:r1934_1 | -| ir.cpp:1934:10:1934:10 | Address | &:r1934_3 | -| ir.cpp:1934:13:1934:14 | StoreValue | r1934_4 | -| ir.cpp:1935:3:1935:3 | Address | &:r1935_7 | -| ir.cpp:1935:8:1935:8 | Address | &:r1935_2 | -| ir.cpp:1935:8:1935:8 | Address | &:r1935_2 | -| ir.cpp:1935:8:1935:8 | Address | &:r1935_2 | -| ir.cpp:1935:8:1935:8 | Left | r1935_3 | -| ir.cpp:1935:8:1935:8 | Load | m1934_5 | -| ir.cpp:1935:8:1935:14 | Load | m1935_5 | -| ir.cpp:1935:8:1935:14 | StoreValue | r1935_4 | -| ir.cpp:1935:8:1935:14 | StoreValue | r1935_6 | -| ir.cpp:1935:13:1935:14 | Right | r1935_1 | -| ir.cpp:1942:15:1942:43 | Address | &:r1942_5 | -| ir.cpp:1942:15:1942:43 | ChiPartial | partial:m1942_3 | -| ir.cpp:1942:15:1942:43 | ChiTotal | total:m1942_2 | -| ir.cpp:1942:15:1942:43 | Load | m1943_4 | -| ir.cpp:1942:15:1942:43 | SideEffect | m1942_3 | -| ir.cpp:1943:9:1943:17 | Address | &:r1943_1 | -| ir.cpp:1943:16:1943:16 | StoreValue | r1943_3 | -| ir.cpp:1943:16:1943:16 | Unary | r1943_2 | -| ir.cpp:1945:14:1945:39 | Address | &:r1945_5 | -| ir.cpp:1945:14:1945:39 | ChiPartial | partial:m1945_3 | -| ir.cpp:1945:14:1945:39 | ChiTotal | total:m1945_2 | -| ir.cpp:1945:14:1945:39 | Load | m1946_4 | -| ir.cpp:1945:14:1945:39 | SideEffect | m1945_3 | -| ir.cpp:1946:9:1946:17 | Address | &:r1946_1 | -| ir.cpp:1946:16:1946:16 | Address | &:r1946_2 | -| ir.cpp:1946:16:1946:16 | Load | ~m1945_3 | -| ir.cpp:1946:16:1946:16 | StoreValue | r1946_3 | -| ir.cpp:1950:6:1950:55 | ChiPartial | partial:m1950_3 | -| ir.cpp:1950:6:1950:55 | ChiTotal | total:m1950_2 | -| ir.cpp:1950:6:1950:55 | SideEffect | ~m1965_4 | -| ir.cpp:1951:7:1951:7 | Address | &:r1951_1 | -| ir.cpp:1953:7:1953:35 | CallTarget | func:r1953_2 | -| ir.cpp:1953:7:1953:35 | ChiPartial | partial:m1953_4 | -| ir.cpp:1953:7:1953:35 | ChiTotal | total:m1950_4 | -| ir.cpp:1953:7:1953:35 | SideEffect | ~m1950_4 | -| ir.cpp:1953:7:1953:35 | Unary | r1953_3 | -| ir.cpp:1954:5:1954:36 | CallTarget | func:r1954_1 | -| ir.cpp:1954:5:1954:36 | ChiPartial | partial:m1954_3 | -| ir.cpp:1954:5:1954:36 | ChiTotal | total:m1953_5 | -| ir.cpp:1954:5:1954:36 | SideEffect | ~m1953_5 | -| ir.cpp:1954:5:1954:36 | Unary | r1954_2 | -| ir.cpp:1955:7:1955:32 | CallTarget | func:r1955_2 | -| ir.cpp:1955:7:1955:32 | ChiPartial | partial:m1955_4 | -| ir.cpp:1955:7:1955:32 | ChiTotal | total:m1954_4 | -| ir.cpp:1955:7:1955:32 | SideEffect | ~m1954_4 | -| ir.cpp:1956:5:1956:33 | CallTarget | func:r1956_1 | -| ir.cpp:1956:5:1956:33 | ChiPartial | partial:m1956_3 | -| ir.cpp:1956:5:1956:33 | ChiTotal | total:m1955_5 | -| ir.cpp:1956:5:1956:33 | SideEffect | ~m1955_5 | -| ir.cpp:1958:7:1958:7 | Address | &:r1958_1 | -| ir.cpp:1959:5:1959:5 | Address | &:r1959_7 | -| ir.cpp:1959:11:1959:39 | Address | &:r1959_3 | -| ir.cpp:1959:11:1959:39 | CallTarget | func:r1959_2 | -| ir.cpp:1959:11:1959:39 | ChiPartial | partial:m1959_4 | -| ir.cpp:1959:11:1959:39 | ChiTotal | total:m1956_4 | -| ir.cpp:1959:11:1959:39 | SideEffect | ~m1956_4 | -| ir.cpp:1959:40:1959:42 | Load | ~m1959_5 | -| ir.cpp:1959:40:1959:42 | StoreValue | r1959_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: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_6 | -| ir.cpp:1961:9:1961:40 | Address | &:r1961_2 | -| ir.cpp:1961:9:1961:40 | CallTarget | func:r1961_1 | -| ir.cpp:1961:9:1961:40 | ChiPartial | partial:m1961_3 | -| ir.cpp:1961:9:1961:40 | ChiTotal | total:m1959_5 | -| ir.cpp:1961:9:1961:40 | SideEffect | ~m1959_5 | -| ir.cpp:1961:41:1961:43 | Load | ~m1961_4 | -| ir.cpp:1961:41:1961:43 | StoreValue | r1961_5 | +| 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:11:1963:36 | CallTarget | func:r1963_2 | -| ir.cpp:1963:11:1963:36 | ChiPartial | partial:m1963_4 | -| ir.cpp:1963:11:1963:36 | ChiTotal | total:m1961_4 | -| ir.cpp:1963:11:1963:36 | SideEffect | ~m1961_4 | -| ir.cpp:1963:11:1963:36 | StoreValue | r1963_3 | +| 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_5 | -| ir.cpp:1965:9:1965:37 | CallTarget | func:r1965_1 | -| ir.cpp:1965:9:1965:37 | ChiPartial | partial:m1965_3 | -| ir.cpp:1965:9:1965:37 | ChiTotal | total:m1963_5 | -| ir.cpp:1965:9:1965:37 | SideEffect | ~m1963_5 | -| ir.cpp:1965:9:1965:37 | StoreValue | r1965_2 | -| ir.cpp:1968:6:1968:18 | ChiPartial | partial:m1968_3 | -| ir.cpp:1968:6:1968:18 | ChiTotal | total:m1968_2 | -| ir.cpp:1968:6:1968:18 | SideEffect | m1968_3 | -| ir.cpp:1969:18:1969:18 | Address | &:r1969_1 | -| ir.cpp:1970:5:1970:5 | Address | &:r1970_1 | -| ir.cpp:1970:5:1970:5 | Load | m1969_2 | -| ir.cpp:1979:6:1979:24 | ChiPartial | partial:m1979_3 | -| ir.cpp:1979:6:1979:24 | ChiTotal | total:m1979_2 | -| ir.cpp:1979:6:1979:24 | SideEffect | ~m1987_5 | -| ir.cpp:1980:12:1980:12 | Address | &:r1980_1 | -| ir.cpp:1982:5:1982:19 | ChiPartial | partial:m1982_7 | -| ir.cpp:1982:5:1982:19 | ChiTotal | total:m1982_5 | -| ir.cpp:1982:7:1982:12 | CallTarget | func:r1982_2 | -| ir.cpp:1982:7:1982:12 | ChiPartial | partial:m1982_4 | -| ir.cpp:1982:7:1982:12 | ChiTotal | total:m1979_4 | -| ir.cpp:1982:7:1982:12 | SideEffect | ~m1979_4 | -| ir.cpp:1982:7:1982:12 | Unary | r1982_3 | -| ir.cpp:1982:13:1982:16 | Address | &:r1982_6 | -| ir.cpp:1983:5:1983:19 | ChiPartial | partial:m1983_7 | -| ir.cpp:1983:5:1983:19 | ChiTotal | total:m1983_5 | -| ir.cpp:1983:7:1983:12 | CallTarget | func:r1983_2 | -| ir.cpp:1983:7:1983:12 | ChiPartial | partial:m1983_4 | -| ir.cpp:1983:7:1983:12 | ChiTotal | total:m1982_8 | -| ir.cpp:1983:7:1983:12 | SideEffect | ~m1982_8 | -| ir.cpp:1983:7:1983:12 | Unary | r1983_3 | -| ir.cpp:1983:13:1983:16 | Address | &:r1983_6 | -| ir.cpp:1984:5:1984:15 | Address | &:r1984_1 | -| ir.cpp:1984:5:1984:15 | Address | &:r1984_1 | -| ir.cpp:1984:7:1984:13 | CallTarget | func:r1984_3 | -| ir.cpp:1984:7:1984:13 | ChiPartial | partial:m1984_5 | -| ir.cpp:1984:7:1984:13 | ChiTotal | total:m1983_8 | -| ir.cpp:1984:7:1984:13 | SideEffect | ~m1983_8 | -| ir.cpp:1984:7:1984:13 | StoreValue | r1984_4 | -| ir.cpp:1985:5:1985:18 | CallTarget | func:r1985_1 | -| ir.cpp:1985:5:1985:18 | ChiPartial | partial:m1985_3 | -| ir.cpp:1985:5:1985:18 | ChiTotal | total:m1984_6 | -| ir.cpp:1985:5:1985:18 | SideEffect | ~m1984_6 | -| ir.cpp:1985:5:1985:18 | Unary | r1985_2 | -| ir.cpp:1985:5:1985:25 | ChiPartial | partial:m1985_6 | -| ir.cpp:1985:5:1985:25 | ChiTotal | total:m1985_4 | -| ir.cpp:1985:19:1985:22 | Address | &:r1985_5 | -| ir.cpp:1986:5:1986:18 | CallTarget | func:r1986_1 | -| ir.cpp:1986:5:1986:18 | ChiPartial | partial:m1986_3 | -| ir.cpp:1986:5:1986:18 | ChiTotal | total:m1985_7 | -| ir.cpp:1986:5:1986:18 | SideEffect | ~m1985_7 | -| ir.cpp:1986:5:1986:18 | Unary | r1986_2 | -| ir.cpp:1986:5:1986:25 | ChiPartial | partial:m1986_6 | -| ir.cpp:1986:5:1986:25 | ChiTotal | total:m1986_4 | -| ir.cpp:1986:19:1986:22 | Address | &:r1986_5 | -| ir.cpp:1987:5:1987:19 | CallTarget | func:r1987_2 | -| ir.cpp:1987:5:1987:19 | ChiPartial | partial:m1987_4 | -| ir.cpp:1987:5:1987:19 | ChiTotal | total:m1986_7 | -| ir.cpp:1987:5:1987:19 | SideEffect | ~m1986_7 | -| ir.cpp:1987:5:1987:19 | StoreValue | r1987_3 | -| ir.cpp:1987:5:1987:21 | Address | &:r1987_1 | -| ir.cpp:1987:5:1987:21 | Address | &:r1987_1 | -| ir.cpp:1990:6:1990:21 | ChiPartial | partial:m1990_3 | -| ir.cpp:1990:6:1990:21 | ChiTotal | total:m1990_2 | -| ir.cpp:1990:6:1990:21 | SideEffect | ~m1991_6 | -| ir.cpp:1991:7:1991:7 | Address | &:r1991_1 | -| ir.cpp:1991:7:1991:7 | Address | &:r1991_1 | -| ir.cpp:1991:7:1991:7 | Arg(this) | this:r1991_1 | -| ir.cpp:1991:7:1991:7 | CallTarget | func:r1991_3 | -| ir.cpp:1991:7:1991:7 | ChiPartial | partial:m1991_5 | -| ir.cpp:1991:7:1991:7 | ChiPartial | partial:m1991_7 | -| ir.cpp:1991:7:1991:7 | ChiTotal | total:m1990_4 | -| ir.cpp:1991:7:1991:7 | ChiTotal | total:m1991_2 | -| ir.cpp:1991:7:1991:7 | SideEffect | ~m1990_4 | -| ir.cpp:1992:11:1992:13 | Address | &:r1992_1 | -| ir.cpp:1992:23:1992:45 | StoreValue | r1992_2 | -| ir.cpp:1993:5:1993:7 | Address | &:r1993_3 | -| ir.cpp:1993:13:1993:32 | StoreValue | r1993_2 | -| ir.cpp:1996:6:1996:19 | ChiPartial | partial:m1996_3 | -| ir.cpp:1996:6:1996:19 | ChiTotal | total:m1996_2 | -| ir.cpp:1996:6:1996:19 | SideEffect | ~m2000_9 | -| ir.cpp:1996:26:1996:26 | Address | &:r1996_5 | -| ir.cpp:1996:33:1996:33 | Address | &:r1996_7 | -| ir.cpp:1996:40:1996:40 | Address | &:r1996_9 | -| ir.cpp:1996:47:1996:47 | Address | &:r1996_11 | -| ir.cpp:1997:5:1997:5 | Address | &:r1997_7 | -| ir.cpp:1997:9:1997:9 | Address | &:r1997_1 | -| ir.cpp:1997:9:1997:9 | Condition | r1997_2 | -| ir.cpp:1997:9:1997:9 | Load | m1996_6 | -| ir.cpp:1997:9:1997:17 | Address | &:r1997_5 | -| ir.cpp:1997:9:1997:17 | Address | &:r1997_11 | -| ir.cpp:1997:9:1997:17 | Address | &:r1997_15 | -| ir.cpp:1997:9:1997:17 | Load | m1997_4 | -| ir.cpp:1997:9:1997:17 | Phi | from 2:m1997_12 | -| ir.cpp:1997:9:1997:17 | Phi | from 3:m1997_16 | -| ir.cpp:1997:9:1997:17 | StoreValue | r1997_6 | -| ir.cpp:1997:13:1997:13 | Address | &:r1997_9 | -| ir.cpp:1997:13:1997:13 | Load | m1996_8 | -| ir.cpp:1997:13:1997:13 | StoreValue | r1997_10 | -| ir.cpp:1997:17:1997:17 | Address | &:r1997_13 | -| ir.cpp:1997:17:1997:17 | Load | m1996_10 | -| ir.cpp:1997:17:1997:17 | StoreValue | r1997_14 | -| ir.cpp:1998:5:1998:5 | Address | &:r1998_7 | -| ir.cpp:1998:9:1998:9 | Address | &:r1998_1 | -| ir.cpp:1998:9:1998:9 | Condition | r1998_2 | -| ir.cpp:1998:9:1998:9 | Load | m1996_6 | -| ir.cpp:1998:9:1998:17 | Address | &:r1998_5 | -| ir.cpp:1998:9:1998:17 | Address | &:r1998_11 | -| ir.cpp:1998:9:1998:17 | Address | &:r1998_14 | -| ir.cpp:1998:9:1998:17 | Load | m1998_4 | -| ir.cpp:1998:9:1998:17 | Phi | from 5:m1998_12 | -| ir.cpp:1998:9:1998:17 | Phi | from 6:m1998_15 | -| ir.cpp:1998:9:1998:17 | StoreValue | r1998_6 | -| ir.cpp:1998:13:1998:13 | Address | &:r1998_9 | -| ir.cpp:1998:13:1998:13 | Load | m1996_8 | -| ir.cpp:1998:13:1998:13 | StoreValue | r1998_10 | -| ir.cpp:1998:17:1998:17 | StoreValue | r1998_13 | +| 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 | ~m1993_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: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 | m1996_6 | +| 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_10 | -| ir.cpp:1999:9:1999:17 | Address | &:r1999_13 | +| 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 8:m1999_11 | -| ir.cpp:1999:9:1999:17 | Phi | from 9:m1999_14 | +| 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 | StoreValue | r1999_9 | -| ir.cpp:1999:17:1999:17 | StoreValue | r1999_12 | -| ir.cpp:2000:5:2000:19 | ChiPartial | partial:m2000_8 | -| ir.cpp:2000:5:2000:19 | ChiTotal | total:m1996_4 | -| ir.cpp:2000:6:2000:6 | Address | &:r2000_2 | -| ir.cpp:2000:6:2000:6 | Condition | r2000_3 | -| ir.cpp:2000:6:2000:6 | Load | m1996_6 | -| ir.cpp:2000:6:2000:14 | Address | &:r2000_6 | -| ir.cpp:2000:6:2000:14 | Address | &:r2000_7 | -| ir.cpp:2000:6:2000:14 | Address | &:r2000_11 | -| ir.cpp:2000:6:2000:14 | Address | &:r2000_14 | -| ir.cpp:2000:6:2000:14 | Load | m2000_5 | -| ir.cpp:2000:6:2000:14 | Phi | from 11:m2000_12 | -| ir.cpp:2000:6:2000:14 | Phi | from 12:m2000_15 | -| ir.cpp:2000:10:2000:10 | StoreValue | r2000_10 | -| ir.cpp:2000:14:2000:14 | StoreValue | r2000_13 | -| ir.cpp:2000:19:2000:19 | StoreValue | r2000_1 | -| ir.cpp:2006:6:2006:22 | ChiPartial | partial:m2006_3 | -| ir.cpp:2006:6:2006:22 | ChiTotal | total:m2006_2 | -| ir.cpp:2006:6:2006:22 | SideEffect | m2006_3 | -| ir.cpp:2006:29:2006:29 | Address | &:r2006_5 | -| ir.cpp:2006:46:2006:46 | Address | &:r2006_7 | -| ir.cpp:2006:63:2006:63 | Address | &:r2006_9 | -| ir.cpp:2006:80:2006:80 | Address | &:r2006_11 | -| ir.cpp:2007:5:2007:5 | Address | &:r2007_7 | -| ir.cpp:2007:9:2007:9 | Address | &:r2007_1 | -| ir.cpp:2007:9:2007:9 | Condition | r2007_2 | -| ir.cpp:2007:9:2007:9 | Load | m2006_6 | -| ir.cpp:2007:9:2007:17 | Address | &:r2007_5 | -| ir.cpp:2007:9:2007:17 | Address | &:r2007_11 | -| ir.cpp:2007:9:2007:17 | Address | &:r2007_15 | -| ir.cpp:2007:9:2007:17 | Load | m2007_4 | -| ir.cpp:2007:9:2007:17 | Phi | from 2:m2007_12 | -| ir.cpp:2007:9:2007:17 | Phi | from 3:m2007_16 | -| ir.cpp:2007:9:2007:17 | StoreValue | r2007_6 | -| ir.cpp:2007:13:2007:13 | Address | &:r2007_9 | -| ir.cpp:2007:13:2007:13 | Load | m2006_8 | -| ir.cpp:2007:13:2007:13 | StoreValue | r2007_10 | -| ir.cpp:2007:17:2007:17 | Address | &:r2007_13 | -| ir.cpp:2007:17:2007:17 | Load | m2006_10 | -| ir.cpp:2007:17:2007:17 | StoreValue | r2007_14 | -| ir.cpp:2008:5:2008:5 | Address | &:r2008_10 | -| ir.cpp:2008:9:2008:9 | Address | &:r2008_2 | -| ir.cpp:2008:9:2008:9 | Address | &:r2008_6 | -| ir.cpp:2008:9:2008:9 | Address | &:r2008_17 | -| ir.cpp:2008:9:2008:9 | Address | &:r2008_23 | -| ir.cpp:2008:9:2008:9 | Condition | r2008_3 | -| ir.cpp:2008:9:2008:9 | Load | m2006_6 | -| ir.cpp:2008:9:2008:9 | Load | m2008_5 | -| ir.cpp:2008:9:2008:9 | Phi | from 5:m2008_18 | -| ir.cpp:2008:9:2008:9 | Phi | from 6:m2008_24 | -| ir.cpp:2008:9:2008:9 | StoreValue | r2008_7 | -| ir.cpp:2008:9:2008:31 | Address | &:r2008_1 | -| ir.cpp:2008:9:2008:31 | Address | &:r2008_1 | -| ir.cpp:2008:9:2008:31 | Load | m2008_8 | -| ir.cpp:2008:9:2008:31 | StoreValue | r2008_9 | -| ir.cpp:2008:13:2008:13 | Address | &:r2008_12 | -| ir.cpp:2008:13:2008:13 | Address | &:r2008_12 | -| ir.cpp:2008:13:2008:13 | Address | &:r2008_13 | -| ir.cpp:2008:13:2008:13 | Load | m2006_8 | -| ir.cpp:2008:13:2008:13 | Load | m2008_15 | -| ir.cpp:2008:13:2008:13 | StoreValue | r2008_14 | -| ir.cpp:2008:13:2008:13 | StoreValue | r2008_16 | -| ir.cpp:2008:17:2008:31 | Address | &:r2008_19 | -| ir.cpp:2008:17:2008:31 | Address | &:r2008_19 | -| ir.cpp:2008:17:2008:31 | Load | m2008_21 | -| ir.cpp:2008:17:2008:31 | StoreValue | r2008_20 | -| ir.cpp:2008:17:2008:31 | StoreValue | r2008_22 | -| ir.cpp:2009:5:2009:5 | Address | &:r2009_10 | -| ir.cpp:2009:9:2009:9 | Address | &:r2009_2 | -| ir.cpp:2009:9:2009:9 | Address | &:r2009_6 | -| ir.cpp:2009:9:2009:9 | Address | &:r2009_16 | -| ir.cpp:2009:9:2009:9 | Address | &:r2009_22 | -| ir.cpp:2009:9:2009:9 | Condition | r2009_3 | -| ir.cpp:2009:9:2009:9 | Load | m2006_6 | -| ir.cpp:2009:9:2009:9 | Load | m2009_5 | -| ir.cpp:2009:9:2009:9 | Phi | from 8:m2009_17 | -| ir.cpp:2009:9:2009:9 | Phi | from 9:m2009_23 | -| ir.cpp:2009:9:2009:9 | StoreValue | r2009_7 | -| ir.cpp:2009:9:2009:45 | Address | &:r2009_1 | -| ir.cpp:2009:9:2009:45 | Address | &:r2009_1 | -| ir.cpp:2009:9:2009:45 | Load | m2009_8 | -| ir.cpp:2009:9:2009:45 | StoreValue | r2009_9 | -| ir.cpp:2009:13:2009:27 | Address | &:r2009_12 | -| ir.cpp:2009:13:2009:27 | Address | &:r2009_12 | -| ir.cpp:2009:13:2009:27 | Load | m2009_14 | -| ir.cpp:2009:13:2009:27 | StoreValue | r2009_13 | -| ir.cpp:2009:13:2009:27 | StoreValue | r2009_15 | -| ir.cpp:2009:31:2009:45 | Address | &:r2009_18 | -| ir.cpp:2009:31:2009:45 | Address | &:r2009_18 | -| ir.cpp:2009:31:2009:45 | Load | m2009_20 | -| ir.cpp:2009:31:2009:45 | StoreValue | r2009_19 | -| ir.cpp:2009:31:2009:45 | StoreValue | r2009_21 | -| ir.cpp:2010:6:2010:6 | Address | &:r2010_11 | -| ir.cpp:2010:6:2010:6 | Unary | r2010_11 | -| ir.cpp:2010:6:2010:18 | Address | &:r2010_13 | -| ir.cpp:2010:10:2010:10 | Address | &:r2010_5 | -| ir.cpp:2010:10:2010:10 | Condition | r2010_6 | -| ir.cpp:2010:10:2010:10 | Load | m2006_6 | -| ir.cpp:2010:10:2010:18 | Address | &:r2010_9 | -| ir.cpp:2010:10:2010:18 | Address | &:r2010_17 | -| ir.cpp:2010:10:2010:18 | Address | &:r2010_21 | -| ir.cpp:2010:10:2010:18 | Load | m2010_8 | -| ir.cpp:2010:10:2010:18 | Phi | from 11:m2010_18 | -| ir.cpp:2010:10:2010:18 | Phi | from 12:m2010_22 | -| ir.cpp:2010:10:2010:18 | StoreValue | r2010_10 | -| ir.cpp:2010:14:2010:14 | Address | &:r2010_15 | -| ir.cpp:2010:14:2010:14 | Load | m2006_8 | -| ir.cpp:2010:14:2010:14 | StoreValue | r2010_16 | -| ir.cpp:2010:18:2010:18 | Address | &:r2010_19 | -| ir.cpp:2010:18:2010:18 | Load | m2006_10 | -| ir.cpp:2010:18:2010:18 | StoreValue | r2010_20 | -| ir.cpp:2010:23:2010:37 | Address | &:r2010_1 | -| ir.cpp:2010:23:2010:37 | Address | &:r2010_1 | -| ir.cpp:2010:23:2010:37 | Load | m2010_3 | -| ir.cpp:2010:23:2010:37 | StoreValue | r2010_2 | -| ir.cpp:2010:23:2010:37 | StoreValue | r2010_4 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 | -| ir.cpp:2013:8:2013:8 | Address | &:r2013_10 | -| ir.cpp:2013:8:2013:8 | ChiPartial | partial:m2013_3 | -| ir.cpp:2013:8:2013:8 | ChiPartial | partial:m2013_3 | -| ir.cpp:2013:8:2013:8 | ChiPartial | partial:m2013_3 | -| ir.cpp:2013:8:2013:8 | ChiTotal | total:m2013_2 | -| ir.cpp:2013:8:2013:8 | ChiTotal | total:m2013_2 | -| ir.cpp:2013:8:2013:8 | ChiTotal | total:m2013_2 | -| ir.cpp:2013:8:2013:8 | Load | m0_10 | -| ir.cpp:2013:8:2013:8 | Load | m2013_6 | -| ir.cpp:2013:8:2013:8 | Load | m2013_6 | -| ir.cpp:2013:8:2013:8 | Load | m2013_6 | -| ir.cpp:2013:8:2013:8 | SideEffect | m2013_3 | -| ir.cpp:2013:8:2013:8 | SideEffect | m2013_3 | -| ir.cpp:2013:8:2013:8 | SideEffect | m2013_3 | -| ir.cpp:2013:8:2013:8 | SideEffect | m2013_8 | -| ir.cpp:2013:8:2013:8 | SideEffect | m2013_8 | -| ir.cpp:2013:8:2013:8 | SideEffect | m2013_8 | -| ir.cpp:2014:13:2014:29 | Address | &:r2014_5 | -| ir.cpp:2014:13:2014:29 | Address | &:r2014_5 | -| ir.cpp:2014:13:2014:29 | Address | &:r2014_7 | -| ir.cpp:2014:13:2014:29 | Address | &:r2014_7 | -| ir.cpp:2014:13:2014:29 | ChiPartial | partial:m2014_3 | -| ir.cpp:2014:13:2014:29 | ChiTotal | total:m2014_2 | -| ir.cpp:2014:13:2014:29 | Load | m2014_6 | -| ir.cpp:2014:13:2014:29 | SideEffect | m2014_3 | -| ir.cpp:2014:13:2014:29 | SideEffect | m2014_8 | -| ir.cpp:2017:6:2017:25 | ChiPartial | partial:m2017_3 | -| ir.cpp:2017:6:2017:25 | ChiTotal | total:m2017_2 | -| ir.cpp:2017:6:2017:25 | SideEffect | ~m2021_32 | -| ir.cpp:2017:32:2017:32 | Address | &:r2017_5 | -| ir.cpp:2017:52:2017:52 | Address | &:r2017_7 | -| ir.cpp:2017:72:2017:72 | Address | &:r2017_9 | -| ir.cpp:2017:92:2017:92 | Address | &:r2017_11 | -| ir.cpp:2018:5:2018:5 | Address | &:r2018_1 | -| ir.cpp:2018:5:2018:5 | Address | &:r2018_1 | -| ir.cpp:2018:5:2018:5 | Arg(this) | this:r2018_1 | -| ir.cpp:2018:5:2018:5 | ChiPartial | partial:m2018_16 | -| ir.cpp:2018:5:2018:5 | ChiTotal | total:m2017_12 | -| ir.cpp:2018:5:2018:5 | SideEffect | m2017_12 | -| ir.cpp:2018:7:2018:7 | CallTarget | func:r2018_2 | -| ir.cpp:2018:7:2018:7 | ChiPartial | partial:m2018_12 | -| ir.cpp:2018:7:2018:7 | ChiTotal | total:m2017_4 | -| ir.cpp:2018:7:2018:7 | SideEffect | ~m2017_4 | -| ir.cpp:2018:7:2018:7 | Unary | r2018_11 | -| ir.cpp:2018:9:2018:9 | Address | &:r2018_3 | -| ir.cpp:2018:9:2018:9 | Condition | r2018_4 | -| ir.cpp:2018:9:2018:9 | Load | m2017_6 | -| ir.cpp:2018:9:2018:17 | Address | &:r2018_7 | -| ir.cpp:2018:9:2018:17 | Address | &:r2018_10 | -| ir.cpp:2018:9:2018:17 | Address | &:r2018_20 | -| ir.cpp:2018:9:2018:17 | Address | &:r2018_23 | -| ir.cpp:2018:9:2018:17 | Arg(0) | 0:r2018_10 | -| ir.cpp:2018:9:2018:17 | Load | m2018_6 | -| ir.cpp:2018:9:2018:17 | Phi | from 2:m2018_21 | -| ir.cpp:2018:9:2018:17 | Phi | from 3:m2018_24 | -| ir.cpp:2018:9:2018:17 | SideEffect | ~m2018_13 | -| ir.cpp:2018:9:2018:17 | Unary | r2018_8 | -| ir.cpp:2018:9:2018:17 | Unary | r2018_9 | -| ir.cpp:2018:13:2018:13 | StoreValue | r2018_19 | -| ir.cpp:2018:17:2018:17 | StoreValue | r2018_22 | -| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 | -| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 | -| ir.cpp:2019:5:2019:5 | Arg(this) | this:r2019_1 | -| ir.cpp:2019:5:2019:5 | ChiPartial | partial:m2019_19 | -| ir.cpp:2019:5:2019:5 | ChiTotal | total:m2018_17 | -| ir.cpp:2019:5:2019:5 | SideEffect | m2018_17 | -| ir.cpp:2019:7:2019:7 | CallTarget | func:r2019_2 | -| ir.cpp:2019:7:2019:7 | ChiPartial | partial:m2019_15 | -| ir.cpp:2019:7:2019:7 | ChiTotal | total:m2019_7 | -| ir.cpp:2019:7:2019:7 | SideEffect | ~m2019_7 | -| ir.cpp:2019:7:2019:7 | Unary | r2019_14 | -| ir.cpp:2019:9:2019:9 | Address | &:r2019_4 | -| ir.cpp:2019:9:2019:9 | Address | &:r2019_9 | -| ir.cpp:2019:9:2019:9 | Address | &:r2019_35 | -| ir.cpp:2019:9:2019:9 | Address | &:r2019_46 | -| ir.cpp:2019:9:2019:9 | Condition | r2019_5 | -| ir.cpp:2019:9:2019:9 | Load | m2017_6 | -| ir.cpp:2019:9:2019:9 | Load | m2019_8 | -| ir.cpp:2019:9:2019:9 | Phi | from 5:m2019_36 | -| ir.cpp:2019:9:2019:9 | Phi | from 5:~m2019_30 | -| ir.cpp:2019:9:2019:9 | Phi | from 6:m2019_47 | -| ir.cpp:2019:9:2019:9 | Phi | from 6:~m2019_42 | -| ir.cpp:2019:9:2019:9 | StoreValue | r2019_10 | -| ir.cpp:2019:9:2019:34 | Address | &:r2019_3 | -| ir.cpp:2019:9:2019:34 | Address | &:r2019_13 | -| ir.cpp:2019:9:2019:34 | Arg(0) | 0:r2019_13 | -| ir.cpp:2019:9:2019:34 | SideEffect | ~m2019_11 | -| ir.cpp:2019:9:2019:34 | Unary | r2019_3 | -| ir.cpp:2019:9:2019:34 | Unary | r2019_12 | -| ir.cpp:2019:13:2019:13 | Address | &:r2019_22 | -| ir.cpp:2019:13:2019:13 | Address | &:r2019_22 | -| ir.cpp:2019:13:2019:13 | Address | &:r2019_22 | -| ir.cpp:2019:13:2019:13 | Address | &:r2019_27 | -| ir.cpp:2019:13:2019:13 | Arg(0) | 0:r2019_27 | -| ir.cpp:2019:13:2019:13 | Arg(this) | this:r2019_22 | -| ir.cpp:2019:13:2019:13 | CallTarget | func:r2019_24 | -| ir.cpp:2019:13:2019:13 | ChiPartial | partial:m2019_29 | -| ir.cpp:2019:13:2019:13 | ChiPartial | partial:m2019_32 | -| ir.cpp:2019:13:2019:13 | ChiTotal | total:m2018_13 | -| ir.cpp:2019:13:2019:13 | ChiTotal | total:m2019_23 | -| ir.cpp:2019:13:2019:13 | Load | m2019_33 | -| ir.cpp:2019:13:2019:13 | SideEffect | ~m2017_8 | -| ir.cpp:2019:13:2019:13 | SideEffect | ~m2018_13 | -| ir.cpp:2019:13:2019:13 | StoreValue | r2019_34 | -| ir.cpp:2019:13:2019:13 | Unary | r2019_25 | -| ir.cpp:2019:13:2019:13 | Unary | r2019_26 | -| ir.cpp:2019:17:2019:34 | Address | &:r2019_37 | -| ir.cpp:2019:17:2019:34 | Address | &:r2019_37 | -| ir.cpp:2019:17:2019:34 | Address | &:r2019_37 | -| ir.cpp:2019:17:2019:34 | Arg(this) | this:r2019_37 | -| ir.cpp:2019:17:2019:34 | CallTarget | func:r2019_39 | -| ir.cpp:2019:17:2019:34 | ChiPartial | partial:m2019_41 | -| ir.cpp:2019:17:2019:34 | ChiPartial | partial:m2019_43 | -| ir.cpp:2019:17:2019:34 | ChiTotal | total:m2018_13 | -| ir.cpp:2019:17:2019:34 | ChiTotal | total:m2019_38 | -| ir.cpp:2019:17:2019:34 | Load | m2019_44 | -| ir.cpp:2019:17:2019:34 | SideEffect | ~m2018_13 | -| ir.cpp:2019:17:2019:34 | StoreValue | r2019_45 | +| 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_19 | -| ir.cpp:2020:5:2020:5 | ChiTotal | total:m2019_20 | -| ir.cpp:2020:5:2020:5 | SideEffect | m2019_20 | +| 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_15 | -| ir.cpp:2020:7:2020:7 | ChiTotal | total:m2020_7 | -| ir.cpp:2020:7:2020:7 | SideEffect | ~m2020_7 | -| ir.cpp:2020:7:2020:7 | Unary | r2020_14 | -| ir.cpp:2020:9:2020:9 | Address | &:r2020_4 | -| ir.cpp:2020:9:2020:9 | Address | &:r2020_9 | -| ir.cpp:2020:9:2020:9 | Address | &:r2020_31 | -| ir.cpp:2020:9:2020:9 | Address | &:r2020_42 | -| ir.cpp:2020:9:2020:9 | Condition | r2020_5 | -| ir.cpp:2020:9:2020:9 | Load | m2017_6 | -| ir.cpp:2020:9:2020:9 | Load | m2020_8 | -| ir.cpp:2020:9:2020:9 | Phi | from 8:m2020_32 | -| ir.cpp:2020:9:2020:9 | Phi | from 8:~m2020_27 | -| ir.cpp:2020:9:2020:9 | Phi | from 9:m2020_43 | -| ir.cpp:2020:9:2020:9 | Phi | from 9:~m2020_38 | -| ir.cpp:2020:9:2020:9 | StoreValue | r2020_10 | -| ir.cpp:2020:9:2020:51 | Address | &:r2020_3 | -| ir.cpp:2020:9:2020:51 | Address | &:r2020_13 | -| ir.cpp:2020:9:2020:51 | Arg(0) | 0:r2020_13 | -| ir.cpp:2020:9:2020:51 | SideEffect | ~m2020_11 | -| ir.cpp:2020:9:2020:51 | Unary | r2020_3 | -| ir.cpp:2020:9:2020:51 | Unary | r2020_12 | -| ir.cpp:2020:13:2020:30 | Address | &:r2020_22 | -| ir.cpp:2020:13:2020:30 | Address | &:r2020_22 | -| ir.cpp:2020:13:2020:30 | Address | &:r2020_22 | -| ir.cpp:2020:13:2020:30 | Arg(this) | this:r2020_22 | -| ir.cpp:2020:13:2020:30 | CallTarget | func:r2020_24 | -| ir.cpp:2020:13:2020:30 | ChiPartial | partial:m2020_26 | -| ir.cpp:2020:13:2020:30 | ChiPartial | partial:m2020_28 | -| ir.cpp:2020:13:2020:30 | ChiTotal | total:m2019_16 | -| ir.cpp:2020:13:2020:30 | ChiTotal | total:m2020_23 | -| ir.cpp:2020:13:2020:30 | Load | m2020_29 | -| ir.cpp:2020:13:2020:30 | SideEffect | ~m2019_16 | -| ir.cpp:2020:13:2020:30 | StoreValue | r2020_30 | -| ir.cpp:2020:34:2020:51 | Address | &:r2020_33 | -| ir.cpp:2020:34:2020:51 | Address | &:r2020_33 | -| ir.cpp:2020:34:2020:51 | Address | &:r2020_33 | -| ir.cpp:2020:34:2020:51 | Arg(this) | this:r2020_33 | -| ir.cpp:2020:34:2020:51 | CallTarget | func:r2020_35 | -| ir.cpp:2020:34:2020:51 | ChiPartial | partial:m2020_37 | -| ir.cpp:2020:34:2020:51 | ChiPartial | partial:m2020_39 | -| ir.cpp:2020:34:2020:51 | ChiTotal | total:m2019_16 | -| ir.cpp:2020:34:2020:51 | ChiTotal | total:m2020_34 | -| ir.cpp:2020:34:2020:51 | Load | m2020_40 | -| ir.cpp:2020:34:2020:51 | SideEffect | ~m2019_16 | -| ir.cpp:2020:34:2020:51 | StoreValue | r2020_41 | -| ir.cpp:2021:5:2021:19 | ChiPartial | partial:m2021_35 | -| ir.cpp:2021:5:2021:19 | ChiTotal | total:m2021_17 | -| ir.cpp:2021:5:2021:19 | SideEffect | m2021_17 | -| ir.cpp:2021:6:2021:6 | Address | &:r2021_1 | -| ir.cpp:2021:6:2021:6 | Address | &:r2021_1 | -| ir.cpp:2021:6:2021:6 | Arg(this) | this:r2021_1 | -| ir.cpp:2021:6:2021:6 | ChiPartial | partial:m2021_16 | -| ir.cpp:2021:6:2021:6 | ChiTotal | total:m2020_20 | -| ir.cpp:2021:6:2021:6 | SideEffect | m2020_20 | -| ir.cpp:2021:8:2021:8 | CallTarget | func:r2021_2 | -| ir.cpp:2021:8:2021:8 | ChiPartial | partial:m2021_12 | -| ir.cpp:2021:8:2021:8 | ChiTotal | total:m2020_16 | -| ir.cpp:2021:8:2021:8 | SideEffect | ~m2020_16 | -| ir.cpp:2021:8:2021:8 | Unary | r2021_11 | -| ir.cpp:2021:8:2021:19 | Address | &:r2021_18 | -| ir.cpp:2021:8:2021:19 | Address | &:r2021_18 | -| ir.cpp:2021:8:2021:19 | Arg(this) | this:r2021_18 | -| ir.cpp:2021:10:2021:10 | Address | &:r2021_3 | -| ir.cpp:2021:10:2021:10 | Condition | r2021_4 | -| ir.cpp:2021:10:2021:10 | Load | m2017_6 | -| ir.cpp:2021:10:2021:18 | Address | &:r2021_7 | -| ir.cpp:2021:10:2021:18 | Address | &:r2021_10 | -| ir.cpp:2021:10:2021:18 | Address | &:r2021_39 | -| ir.cpp:2021:10:2021:18 | Address | &:r2021_42 | -| ir.cpp:2021:10:2021:18 | Arg(0) | 0:r2021_10 | -| ir.cpp:2021:10:2021:18 | Load | m2021_6 | -| ir.cpp:2021:10:2021:18 | Phi | from 11:m2021_40 | -| ir.cpp:2021:10:2021:18 | Phi | from 12:m2021_43 | -| ir.cpp:2021:10:2021:18 | SideEffect | ~m2021_13 | -| ir.cpp:2021:10:2021:18 | Unary | r2021_8 | -| ir.cpp:2021:10:2021:18 | Unary | r2021_9 | -| ir.cpp:2021:14:2021:14 | StoreValue | r2021_38 | -| ir.cpp:2021:18:2021:18 | StoreValue | r2021_41 | -| ir.cpp:2021:21:2021:21 | CallTarget | func:r2021_19 | -| ir.cpp:2021:21:2021:21 | ChiPartial | partial:m2021_31 | -| ir.cpp:2021:21:2021:21 | ChiTotal | total:m2021_25 | -| ir.cpp:2021:21:2021:21 | SideEffect | ~m2021_25 | -| ir.cpp:2021:21:2021:21 | Unary | r2021_30 | -| ir.cpp:2021:23:2021:40 | Address | &:r2021_20 | -| ir.cpp:2021:23:2021:40 | Address | &:r2021_20 | -| ir.cpp:2021:23:2021:40 | Address | &:r2021_29 | -| ir.cpp:2021:23:2021:40 | Arg(0) | 0:r2021_29 | -| ir.cpp:2021:23:2021:40 | Arg(this) | this:r2021_20 | -| ir.cpp:2021:23:2021:40 | CallTarget | func:r2021_22 | -| ir.cpp:2021:23:2021:40 | ChiPartial | partial:m2021_24 | -| ir.cpp:2021:23:2021:40 | ChiPartial | partial:m2021_26 | -| ir.cpp:2021:23:2021:40 | ChiTotal | total:m2021_13 | -| ir.cpp:2021:23:2021:40 | ChiTotal | total:m2021_21 | -| ir.cpp:2021:23:2021:40 | SideEffect | ~m2021_13 | -| ir.cpp:2021:23:2021:40 | SideEffect | ~m2021_27 | -| ir.cpp:2021:23:2021:40 | Unary | r2021_20 | -| ir.cpp:2021:23:2021:40 | Unary | r2021_28 | -| ir.cpp:2026:14:2026:22 | Address | &:r2026_7 | -| ir.cpp:2026:14:2026:22 | ChiPartial | partial:m2026_3 | -| ir.cpp:2026:14:2026:22 | ChiTotal | total:m2026_2 | -| ir.cpp:2026:14:2026:22 | Load | m2031_2 | -| ir.cpp:2026:14:2026:22 | SideEffect | ~m2028_6 | -| ir.cpp:2026:37:2026:37 | Address | &:r2026_5 | -| ir.cpp:2027:16:2027:16 | Address | &:r2027_1 | -| ir.cpp:2028:3:2028:3 | Address | &:r2028_10 | -| ir.cpp:2028:7:2028:7 | Address | &:r2028_1 | -| ir.cpp:2028:7:2028:7 | Left | r2028_2 | -| ir.cpp:2028:7:2028:7 | Load | m2026_6 | -| ir.cpp:2028:7:2028:13 | Condition | r2028_4 | -| ir.cpp:2028:7:2030:28 | Address | &:r2028_8 | -| ir.cpp:2028:7:2030:28 | Address | &:r2028_12 | -| ir.cpp:2028:7:2030:28 | Address | &:r2028_14 | -| ir.cpp:2028:7:2030:28 | Load | m2028_7 | -| ir.cpp:2028:7:2030:28 | Phi | from 2:m2028_13 | -| ir.cpp:2028:7:2030:28 | Phi | from 2:~m2029_6 | -| ir.cpp:2028:7:2030:28 | Phi | from 3:m2028_15 | -| ir.cpp:2028:7:2030:28 | Phi | from 3:~m2030_6 | -| ir.cpp:2028:7:2030:28 | StoreValue | r2028_9 | -| ir.cpp:2028:11:2028:13 | Right | r2028_3 | -| ir.cpp:2029:6:2029:20 | CallTarget | func:r2029_1 | -| ir.cpp:2029:6:2029:20 | ChiPartial | partial:m2029_5 | -| ir.cpp:2029:6:2029:20 | ChiTotal | total:m2026_4 | -| ir.cpp:2029:6:2029:20 | SideEffect | ~m2026_4 | -| ir.cpp:2029:6:2029:26 | StoreValue | r2029_9 | -| ir.cpp:2029:22:2029:22 | Address | &:r2029_2 | -| ir.cpp:2029:22:2029:22 | Arg(0) | 0:r2029_3 | -| ir.cpp:2029:22:2029:22 | Load | m2026_6 | -| ir.cpp:2029:26:2029:26 | Address | &:r2029_7 | -| ir.cpp:2029:26:2029:26 | Load | m2026_6 | -| ir.cpp:2029:26:2029:26 | Unary | r2029_8 | -| ir.cpp:2030:5:2030:28 | StoreValue | r2030_9 | -| ir.cpp:2030:6:2030:20 | CallTarget | func:r2030_1 | -| ir.cpp:2030:6:2030:20 | ChiPartial | partial:m2030_5 | -| ir.cpp:2030:6:2030:20 | ChiTotal | total:m2026_4 | -| ir.cpp:2030:6:2030:20 | SideEffect | ~m2026_4 | -| ir.cpp:2030:6:2030:27 | Unary | r2030_8 | -| ir.cpp:2030:22:2030:22 | Address | &:r2030_2 | -| ir.cpp:2030:22:2030:22 | Arg(0) | 0:r2030_3 | -| ir.cpp:2030:22:2030:22 | Load | m2026_6 | -| ir.cpp:2030:26:2030:27 | Unary | r2030_7 | -| ir.cpp:2031:1:2031:1 | Address | &:r2031_1 | -| ir.cpp:2033:6:2033:17 | ChiPartial | partial:m2033_3 | -| ir.cpp:2033:6:2033:17 | ChiTotal | total:m2033_2 | -| ir.cpp:2033:6:2033:17 | SideEffect | ~m2036_6 | -| ir.cpp:2034:8:2034:8 | Address | &:r2034_1 | -| ir.cpp:2034:12:2034:18 | Address | &:r2034_4 | -| ir.cpp:2034:12:2034:18 | Arg(0) | 0:r2034_3 | -| ir.cpp:2034:12:2034:18 | CallTarget | func:r2034_2 | -| ir.cpp:2034:12:2034:18 | ChiPartial | partial:m2034_5 | -| ir.cpp:2034:12:2034:18 | ChiTotal | total:m2033_4 | -| ir.cpp:2034:12:2034:18 | SideEffect | ~m2033_4 | -| ir.cpp:2034:12:2034:18 | StoreValue | r2034_8 | -| ir.cpp:2034:12:2034:18 | Unary | r2034_4 | -| ir.cpp:2035:3:2035:4 | Address | &:r2035_4 | -| ir.cpp:2035:3:2035:8 | ChiPartial | partial:m2035_5 | -| ir.cpp:2035:3:2035:8 | ChiTotal | total:m2034_7 | -| ir.cpp:2035:4:2035:4 | Address | &:r2035_2 | -| ir.cpp:2035:4:2035:4 | Load | m2034_9 | -| ir.cpp:2035:4:2035:4 | Unary | r2035_3 | -| ir.cpp:2035:8:2035:8 | StoreValue | r2035_1 | -| ir.cpp:2036:3:2036:10 | CallTarget | func:r2036_1 | -| ir.cpp:2036:3:2036:10 | ChiPartial | partial:m2036_5 | -| ir.cpp:2036:3:2036:10 | ChiTotal | total:m2034_6 | -| ir.cpp:2036:3:2036:10 | SideEffect | ~m2034_6 | -| ir.cpp:2036:10:2036:10 | Address | &:r2036_2 | -| ir.cpp:2036:10:2036:10 | Arg(0) | 0:r2036_3 | -| ir.cpp:2036:10:2036:10 | Load | m2034_9 | -| ir.cpp:2039:7:2039:7 | Address | &:r2039_5 | -| ir.cpp:2039:7:2039:7 | Address | &:r2039_5 | -| ir.cpp:2039:7:2039:7 | Address | &:r2039_7 | -| ir.cpp:2039:7:2039:7 | Address | &:r2039_7 | -| ir.cpp:2039:7:2039:7 | ChiPartial | partial:m2039_3 | -| ir.cpp:2039:7:2039:7 | ChiTotal | total:m2039_2 | -| ir.cpp:2039:7:2039:7 | Load | m2039_6 | -| ir.cpp:2039:7:2039:7 | SideEffect | m2039_3 | -| ir.cpp:2039:7:2039:7 | SideEffect | m2039_8 | -| ir.cpp:2041:10:2041:24 | ChiPartial | partial:m2041_3 | -| ir.cpp:2041:10:2041:24 | ChiTotal | total:m2041_2 | -| ir.cpp:2041:10:2041:24 | SideEffect | m2041_3 | -| ir.cpp:2041:32:2041:32 | Address | &:r2041_5 | -| ir.cpp:2041:32:2041:32 | Address | &:r2041_5 | -| ir.cpp:2041:32:2041:32 | Address | &:r2041_7 | -| ir.cpp:2041:32:2041:32 | Address | &:r2041_7 | -| ir.cpp:2041:32:2041:32 | Load | m2041_6 | -| ir.cpp:2041:32:2041:32 | SideEffect | m2041_8 | -| ir.cpp:2043:13:2043:18 | Address | &:r2043_5 | -| ir.cpp:2043:13:2043:18 | Address | &:r2043_5 | -| ir.cpp:2043:13:2043:18 | Address | &:r2043_7 | -| ir.cpp:2043:13:2043:18 | Address | &:r2043_7 | -| ir.cpp:2043:13:2043:18 | ChiPartial | partial:m2043_3 | -| ir.cpp:2043:13:2043:18 | ChiTotal | total:m2043_2 | -| ir.cpp:2043:13:2043:18 | Load | m2043_6 | -| ir.cpp:2043:13:2043:18 | SideEffect | m2043_3 | -| ir.cpp:2043:13:2043:18 | SideEffect | m2043_8 | -| ir.cpp:2046:7:2046:7 | Address | &:r2046_5 | -| ir.cpp:2046:7:2046:7 | Address | &:r2046_5 | -| ir.cpp:2046:7:2046:7 | Address | &:r2046_7 | -| ir.cpp:2046:7:2046:7 | Address | &:r2046_7 | -| ir.cpp:2046:7:2046:7 | Address | &:r2046_9 | -| ir.cpp:2046:7:2046:7 | Arg(this) | this:r2046_9 | -| ir.cpp:2046:7:2046:7 | CallTarget | func:r2046_10 | -| ir.cpp:2046:7:2046:7 | ChiPartial | partial:m2046_3 | -| ir.cpp:2046:7:2046:7 | ChiPartial | partial:m2046_12 | -| ir.cpp:2046:7:2046:7 | ChiPartial | partial:m2046_14 | -| ir.cpp:2046:7:2046:7 | ChiTotal | total:m2046_2 | -| ir.cpp:2046:7:2046:7 | ChiTotal | total:m2046_4 | -| ir.cpp:2046:7:2046:7 | ChiTotal | total:m2046_8 | -| ir.cpp:2046:7:2046:7 | Load | m2046_6 | -| ir.cpp:2046:7:2046:7 | SideEffect | m2046_15 | -| ir.cpp:2046:7:2046:7 | SideEffect | ~m2046_4 | -| ir.cpp:2046:7:2046:7 | SideEffect | ~m2046_13 | -| ir.cpp:2046:7:2046:7 | Unary | m2046_6 | -| ir.cpp:2049:5:2049:13 | Address | &:r2049_5 | -| ir.cpp:2049:5:2049:13 | Address | &:r2049_5 | -| ir.cpp:2049:5:2049:13 | Address | &:r2049_7 | -| ir.cpp:2049:5:2049:13 | Address | &:r2049_7 | -| ir.cpp:2049:5:2049:13 | ChiPartial | partial:m2049_3 | -| ir.cpp:2049:5:2049:13 | ChiTotal | total:m2049_2 | -| ir.cpp:2049:5:2049:13 | Load | m2049_6 | -| ir.cpp:2049:5:2049:13 | SideEffect | m2049_8 | -| ir.cpp:2049:5:2049:13 | SideEffect | ~m2049_14 | -| ir.cpp:2049:5:2049:13 | Unary | m2049_6 | -| ir.cpp:2049:18:2049:18 | Arg(this) | this:r2049_10 | -| ir.cpp:2049:18:2049:18 | CallTarget | func:r2049_11 | -| ir.cpp:2049:18:2049:18 | ChiPartial | partial:m2049_13 | -| ir.cpp:2049:18:2049:18 | ChiTotal | total:m2049_4 | -| ir.cpp:2049:18:2049:18 | SideEffect | ~m2049_4 | -| ir.cpp:2051:10:2051:24 | ChiPartial | partial:m2051_3 | -| ir.cpp:2051:10:2051:24 | ChiTotal | total:m2051_2 | -| ir.cpp:2051:10:2051:24 | SideEffect | m2051_3 | -| ir.cpp:2051:32:2051:32 | Address | &:r2051_5 | -| ir.cpp:2051:32:2051:32 | Address | &:r2051_5 | -| ir.cpp:2051:32:2051:32 | Address | &:r2051_7 | -| ir.cpp:2051:32:2051:32 | Address | &:r2051_7 | -| ir.cpp:2051:32:2051:32 | Load | m2051_6 | -| ir.cpp:2051:32:2051:32 | SideEffect | m2051_8 | -| ir.cpp:2056:5:2056:18 | Address | &:r2056_5 | -| ir.cpp:2056:5:2056:18 | ChiPartial | partial:m2056_3 | -| ir.cpp:2056:5:2056:18 | ChiTotal | total:m2056_2 | -| ir.cpp:2056:5:2056:18 | Load | m2066_2 | -| ir.cpp:2056:5:2056:18 | SideEffect | ~m2065_6 | -| ir.cpp:2058:12:2058:13 | Address | &:r2058_1 | -| ir.cpp:2058:17:2058:27 | Address | &:r2058_4 | -| ir.cpp:2058:17:2058:27 | Address | &:r2058_8 | -| ir.cpp:2058:17:2058:27 | Arg(0) | 0:r2058_3 | -| ir.cpp:2058:17:2058:27 | Arg(this) | this:r2058_8 | -| ir.cpp:2058:17:2058:27 | CallTarget | func:r2058_2 | -| ir.cpp:2058:17:2058:27 | CallTarget | func:r2058_9 | -| ir.cpp:2058:17:2058:27 | ChiPartial | partial:m2058_5 | -| ir.cpp:2058:17:2058:27 | ChiPartial | partial:m2058_11 | -| ir.cpp:2058:17:2058:27 | ChiPartial | partial:m2058_13 | -| ir.cpp:2058:17:2058:27 | ChiTotal | total:m2056_4 | -| ir.cpp:2058:17:2058:27 | ChiTotal | total:m2058_6 | -| ir.cpp:2058:17:2058:27 | ChiTotal | total:m2058_7 | -| ir.cpp:2058:17:2058:27 | SideEffect | ~m2056_4 | -| ir.cpp:2058:17:2058:27 | SideEffect | ~m2058_6 | -| ir.cpp:2058:17:2058:27 | StoreValue | r2058_8 | -| ir.cpp:2058:17:2058:27 | Unary | r2058_4 | -| ir.cpp:2059:5:2059:13 | CallTarget | func:r2059_1 | -| ir.cpp:2059:5:2059:13 | ChiPartial | partial:m2059_5 | -| ir.cpp:2059:5:2059:13 | ChiTotal | total:m2058_12 | -| ir.cpp:2059:5:2059:13 | SideEffect | ~m2058_12 | -| ir.cpp:2059:12:2059:13 | Address | &:r2059_2 | -| ir.cpp:2059:12:2059:13 | Arg(0) | 0:r2059_3 | -| ir.cpp:2059:12:2059:13 | Load | m2058_15 | -| ir.cpp:2061:12:2061:13 | Address | &:r2061_1 | -| ir.cpp:2061:17:2061:30 | Address | &:r2061_4 | -| ir.cpp:2061:17:2061:30 | Address | &:r2061_8 | -| ir.cpp:2061:17:2061:30 | Arg(0) | 0:r2061_3 | -| ir.cpp:2061:17:2061:30 | Arg(this) | this:r2061_8 | -| ir.cpp:2061:17:2061:30 | CallTarget | func:r2061_2 | -| ir.cpp:2061:17:2061:30 | CallTarget | func:r2061_9 | -| ir.cpp:2061:17:2061:30 | ChiPartial | partial:m2061_5 | -| ir.cpp:2061:17:2061:30 | ChiPartial | partial:m2061_11 | -| ir.cpp:2061:17:2061:30 | ChiPartial | partial:m2061_13 | -| ir.cpp:2061:17:2061:30 | ChiTotal | total:m2059_6 | -| ir.cpp:2061:17:2061:30 | ChiTotal | total:m2061_6 | -| ir.cpp:2061:17:2061:30 | ChiTotal | total:m2061_7 | -| ir.cpp:2061:17:2061:30 | SideEffect | ~m2059_6 | -| ir.cpp:2061:17:2061:30 | SideEffect | ~m2061_6 | -| ir.cpp:2061:17:2061:30 | StoreValue | r2061_15 | -| ir.cpp:2061:17:2061:30 | Unary | r2061_4 | -| ir.cpp:2061:17:2061:30 | Unary | r2061_8 | -| ir.cpp:2062:5:2062:13 | CallTarget | func:r2062_1 | -| ir.cpp:2062:5:2062:13 | ChiPartial | partial:m2062_5 | -| ir.cpp:2062:5:2062:13 | ChiTotal | total:m2061_12 | -| ir.cpp:2062:5:2062:13 | SideEffect | ~m2061_12 | -| ir.cpp:2062:12:2062:13 | Address | &:r2062_2 | -| ir.cpp:2062:12:2062:13 | Arg(0) | 0:r2062_3 | -| ir.cpp:2062:12:2062:13 | Load | m2061_16 | -| ir.cpp:2064:15:2064:15 | Address | &:r2064_1 | -| ir.cpp:2064:19:2064:32 | Address | &:r2064_4 | -| ir.cpp:2064:19:2064:32 | Address | &:r2064_8 | -| ir.cpp:2064:19:2064:32 | Arg(0) | 0:r2064_3 | -| ir.cpp:2064:19:2064:32 | Arg(this) | this:r2064_8 | -| ir.cpp:2064:19:2064:32 | CallTarget | func:r2064_2 | -| ir.cpp:2064:19:2064:32 | CallTarget | func:r2064_9 | -| ir.cpp:2064:19:2064:32 | ChiPartial | partial:m2064_5 | -| ir.cpp:2064:19:2064:32 | ChiPartial | partial:m2064_11 | -| ir.cpp:2064:19:2064:32 | ChiPartial | partial:m2064_13 | -| ir.cpp:2064:19:2064:32 | ChiTotal | total:m2062_6 | -| ir.cpp:2064:19:2064:32 | ChiTotal | total:m2064_6 | -| ir.cpp:2064:19:2064:32 | ChiTotal | total:m2064_7 | -| ir.cpp:2064:19:2064:32 | SideEffect | ~m2062_6 | -| ir.cpp:2064:19:2064:32 | SideEffect | ~m2064_6 | -| ir.cpp:2064:19:2064:32 | StoreValue | r2064_8 | -| ir.cpp:2064:19:2064:32 | Unary | r2064_4 | -| ir.cpp:2065:5:2065:12 | CallTarget | func:r2065_1 | -| ir.cpp:2065:5:2065:12 | ChiPartial | partial:m2065_5 | -| ir.cpp:2065:5:2065:12 | ChiTotal | total:m2064_12 | -| ir.cpp:2065:5:2065:12 | SideEffect | ~m2064_12 | -| ir.cpp:2065:12:2065:12 | Address | &:r2065_2 | -| ir.cpp:2065:12:2065:12 | Arg(0) | 0:r2065_3 | -| ir.cpp:2065:12:2065:12 | Load | m2064_15 | -| ir.cpp:2066:1:2066:1 | Address | &:r2066_1 | -| ir.cpp:2070:6:2070:26 | ChiPartial | partial:m2070_3 | -| ir.cpp:2070:6:2070:26 | ChiTotal | total:m2070_2 | -| ir.cpp:2070:6:2070:26 | SideEffect | ~m2072_5 | -| ir.cpp:2071:13:2071:13 | Address | &:r2071_1 | -| ir.cpp:2071:16:2071:19 | StoreValue | r2071_2 | -| ir.cpp:2072:3:2072:27 | CallTarget | func:r2072_1 | -| ir.cpp:2072:3:2072:27 | ChiPartial | partial:m2072_4 | -| ir.cpp:2072:3:2072:27 | ChiTotal | total:m2070_4 | -| ir.cpp:2072:3:2072:27 | SideEffect | ~m2070_4 | -| ir.cpp:2072:29:2072:29 | Arg(0) | 0:r2072_2 | -| ir.cpp:2077:5:2077:11 | Address | &:r2077_6 | -| ir.cpp:2077:5:2077:11 | ChiPartial | partial:m2077_3 | -| ir.cpp:2077:5:2077:11 | ChiTotal | total:m2077_2 | -| ir.cpp:2077:5:2077:11 | Load | m2082_4 | -| ir.cpp:2077:5:2077:11 | SideEffect | ~m2081_4 | -| ir.cpp:2078:9:2078:9 | Address | &:r2078_1 | -| ir.cpp:2078:13:2078:15 | CallTarget | func:r2078_2 | -| ir.cpp:2078:13:2078:15 | ChiPartial | partial:m2078_6 | -| ir.cpp:2078:13:2078:15 | ChiTotal | total:m2077_4 | -| ir.cpp:2078:13:2078:15 | SideEffect | ~m2077_4 | -| ir.cpp:2078:13:2078:15 | StoreValue | r2078_5 | -| ir.cpp:2078:17:2078:17 | Arg(0) | 0:r2078_3 | -| ir.cpp:2078:19:2078:19 | Arg(1) | 1:r2078_4 | -| ir.cpp:2079:9:2079:9 | Address | &:r2079_1 | -| ir.cpp:2079:9:2079:9 | Left | r2079_2 | -| ir.cpp:2079:9:2079:9 | Load | m2078_8 | -| ir.cpp:2079:9:2079:14 | Condition | r2079_4 | -| ir.cpp:2079:14:2079:14 | Right | r2079_3 | -| ir.cpp:2080:9:2080:12 | CallTarget | func:r2080_1 | -| ir.cpp:2080:9:2080:12 | ChiPartial | partial:m2080_4 | -| ir.cpp:2080:9:2080:12 | ChiTotal | total:m2078_7 | -| ir.cpp:2080:9:2080:12 | SideEffect | ~m2078_7 | -| ir.cpp:2080:14:2080:14 | Arg(0) | 0:r2080_2 | -| ir.cpp:2081:5:2081:12 | CallTarget | func:r2081_1 | -| ir.cpp:2081:5:2081:12 | ChiPartial | partial:m2081_3 | -| ir.cpp:2081:5:2081:12 | ChiTotal | total:m2078_7 | -| ir.cpp:2081:5:2081:12 | SideEffect | ~m2078_7 | -| ir.cpp:2082:5:2082:13 | Address | &:r2082_1 | -| ir.cpp:2082:12:2082:12 | Address | &:r2082_2 | -| ir.cpp:2082:12:2082:12 | Load | m2078_8 | -| ir.cpp:2082:12:2082:12 | StoreValue | r2082_3 | -| ir.cpp:2085:6:2085:17 | ChiPartial | partial:m2085_3 | -| ir.cpp:2085:6:2085:17 | ChiTotal | total:m2085_2 | -| ir.cpp:2086:5:2086:12 | CallTarget | func:r2086_1 | -| ir.cpp:2086:5:2086:12 | ChiPartial | partial:m2086_3 | -| ir.cpp:2086:5:2086:12 | ChiTotal | total:m2085_4 | -| ir.cpp:2086:5:2086:12 | SideEffect | ~m2085_4 | -| ir.cpp:2087:5:2087:8 | CallTarget | func:r2087_1 | -| ir.cpp:2087:5:2087:8 | ChiPartial | partial:m2087_4 | -| ir.cpp:2087:5:2087:8 | ChiTotal | total:m2086_4 | -| ir.cpp:2087:5:2087:8 | SideEffect | ~m2086_4 | -| ir.cpp:2087:10:2087:10 | Arg(0) | 0:r2087_2 | -| ir.cpp:2090:5:2090:16 | Address | &:r2090_6 | -| ir.cpp:2090:5:2090:16 | ChiPartial | partial:m2090_3 | -| ir.cpp:2090:5:2090:16 | ChiTotal | total:m2090_2 | -| ir.cpp:2090:5:2090:16 | Load | m2095_4 | -| ir.cpp:2090:5:2090:16 | SideEffect | ~m2094_4 | -| ir.cpp:2091:9:2091:9 | Address | &:r2091_1 | -| ir.cpp:2091:13:2091:15 | CallTarget | func:r2091_2 | -| ir.cpp:2091:13:2091:15 | ChiPartial | partial:m2091_6 | -| ir.cpp:2091:13:2091:15 | ChiTotal | total:m2090_4 | -| ir.cpp:2091:13:2091:15 | SideEffect | ~m2090_4 | -| ir.cpp:2091:13:2091:15 | StoreValue | r2091_5 | -| ir.cpp:2091:17:2091:17 | Arg(0) | 0:r2091_3 | -| ir.cpp:2091:19:2091:19 | Arg(1) | 1:r2091_4 | -| ir.cpp:2092:9:2092:9 | Address | &:r2092_1 | -| ir.cpp:2092:9:2092:9 | Left | r2092_2 | -| ir.cpp:2092:9:2092:9 | Load | m2091_8 | -| ir.cpp:2092:9:2092:14 | Condition | r2092_4 | -| ir.cpp:2092:14:2092:14 | Right | r2092_3 | -| ir.cpp:2093:9:2093:20 | CallTarget | func:r2093_1 | -| ir.cpp:2094:5:2094:12 | CallTarget | func:r2094_1 | -| ir.cpp:2094:5:2094:12 | ChiPartial | partial:m2094_3 | -| ir.cpp:2094:5:2094:12 | ChiTotal | total:m2091_7 | -| ir.cpp:2094:5:2094:12 | SideEffect | ~m2091_7 | -| ir.cpp:2095:5:2095:13 | Address | &:r2095_1 | -| ir.cpp:2095:12:2095:12 | Address | &:r2095_2 | -| ir.cpp:2095:12:2095:12 | Load | m2091_8 | -| ir.cpp:2095:12:2095:12 | StoreValue | r2095_3 | -| ir.cpp:2098:6:2098:24 | ChiPartial | partial:m2098_3 | -| ir.cpp:2098:6:2098:24 | ChiTotal | total:m2098_2 | -| ir.cpp:2098:6:2098:24 | SideEffect | ~m2104_8 | -| ir.cpp:2098:33:2098:33 | Address | &:r2098_5 | -| ir.cpp:2099:3:2099:12 | Address | &:r2099_6 | -| ir.cpp:2099:3:2099:12 | Arg(0) | 0:r2099_5 | -| ir.cpp:2099:3:2099:12 | CallTarget | func:r2099_1 | -| ir.cpp:2099:3:2099:12 | ChiPartial | partial:m2099_7 | -| ir.cpp:2099:3:2099:12 | ChiTotal | total:m2098_4 | -| ir.cpp:2099:3:2099:12 | Right | r2099_4 | -| ir.cpp:2099:3:2099:12 | SideEffect | ~m2098_4 | -| ir.cpp:2099:3:2099:12 | Unary | r2099_6 | -| ir.cpp:2099:11:2099:11 | Address | &:r2099_2 | -| ir.cpp:2099:11:2099:11 | Left | r2099_3 | -| ir.cpp:2099:11:2099:11 | Load | m2098_6 | -| ir.cpp:2100:3:2100:18 | Address | &:r2100_7 | -| ir.cpp:2100:3:2100:18 | Arg(0) | 0:r2100_5 | -| ir.cpp:2100:3:2100:18 | CallTarget | func:r2100_1 | -| ir.cpp:2100:3:2100:18 | ChiPartial | partial:m2100_8 | -| ir.cpp:2100:3:2100:18 | ChiTotal | total:m2099_8 | -| ir.cpp:2100:3:2100:18 | Right | r2100_4 | -| ir.cpp:2100:3:2100:18 | SideEffect | ~m2099_8 | -| ir.cpp:2100:3:2100:18 | Unary | r2100_7 | -| ir.cpp:2100:7:2100:10 | Arg(1) | 1:r2100_6 | -| ir.cpp:2100:17:2100:17 | Address | &:r2100_2 | -| ir.cpp:2100:17:2100:17 | Left | r2100_3 | -| ir.cpp:2100:17:2100:17 | Load | m2098_6 | -| ir.cpp:2101:3:2101:15 | Address | &:r2101_6 | -| ir.cpp:2101:3:2101:15 | Arg(0) | 0:r2101_5 | -| ir.cpp:2101:3:2101:15 | CallTarget | func:r2101_1 | -| ir.cpp:2101:3:2101:15 | ChiPartial | partial:m2101_7 | -| ir.cpp:2101:3:2101:15 | ChiTotal | total:m2100_9 | -| ir.cpp:2101:3:2101:15 | Right | r2101_4 | -| ir.cpp:2101:3:2101:15 | SideEffect | ~m2100_9 | -| ir.cpp:2101:3:2101:15 | Unary | r2101_6 | -| ir.cpp:2101:14:2101:14 | Address | &:r2101_2 | -| ir.cpp:2101:14:2101:14 | Left | r2101_3 | -| ir.cpp:2101:14:2101:14 | Load | m2098_6 | -| ir.cpp:2102:3:2102:20 | Address | &:r2102_7 | -| ir.cpp:2102:3:2102:20 | Arg(0) | 0:r2102_5 | -| ir.cpp:2102:3:2102:20 | CallTarget | func:r2102_1 | -| ir.cpp:2102:3:2102:20 | ChiPartial | partial:m2102_8 | -| ir.cpp:2102:3:2102:20 | ChiTotal | total:m2101_8 | -| ir.cpp:2102:3:2102:20 | Right | r2102_4 | -| ir.cpp:2102:3:2102:20 | SideEffect | ~m2101_8 | -| ir.cpp:2102:3:2102:20 | Unary | r2102_7 | -| ir.cpp:2102:19:2102:19 | Address | &:r2102_2 | -| ir.cpp:2102:19:2102:19 | Left | r2102_3 | -| ir.cpp:2102:19:2102:19 | Load | m2098_6 | -| ir.cpp:2102:21:2102:21 | Arg(1) | 1:r2102_6 | -| ir.cpp:2103:3:2103:36 | Address | &:r2103_6 | -| ir.cpp:2103:3:2103:36 | Arg(0) | 0:r2103_5 | -| ir.cpp:2103:3:2103:36 | CallTarget | func:r2103_1 | -| ir.cpp:2103:3:2103:36 | ChiPartial | partial:m2103_7 | -| ir.cpp:2103:3:2103:36 | ChiTotal | total:m2102_9 | -| ir.cpp:2103:3:2103:36 | Right | r2103_4 | -| ir.cpp:2103:3:2103:36 | SideEffect | ~m2102_9 | -| ir.cpp:2103:3:2103:36 | Unary | r2103_6 | -| ir.cpp:2103:35:2103:35 | Address | &:r2103_2 | -| ir.cpp:2103:35:2103:35 | Left | r2103_3 | -| ir.cpp:2103:35:2103:35 | Load | m2098_6 | -| ir.cpp:2104:3:2104:24 | Address | &:r2104_6 | -| ir.cpp:2104:3:2104:24 | Arg(0) | 0:r2104_5 | -| ir.cpp:2104:3:2104:24 | CallTarget | func:r2104_1 | -| ir.cpp:2104:3:2104:24 | ChiPartial | partial:m2104_7 | -| ir.cpp:2104:3:2104:24 | ChiTotal | total:m2103_8 | -| ir.cpp:2104:3:2104:24 | Right | r2104_4 | -| ir.cpp:2104:3:2104:24 | SideEffect | ~m2103_8 | -| ir.cpp:2104:3:2104:24 | Unary | r2104_6 | -| ir.cpp:2104:11:2104:11 | Address | &:r2104_2 | -| ir.cpp:2104:11:2104:11 | Left | r2104_3 | -| ir.cpp:2104:11:2104:11 | Load | m2098_6 | -| ir.cpp:2109:7:2109:17 | Address | &:r2109_10 | -| ir.cpp:2109:7:2109:17 | ChiPartial | partial:m2109_3 | -| ir.cpp:2109:7:2109:17 | ChiTotal | total:m2109_2 | -| ir.cpp:2109:7:2109:17 | Load | m2112_4 | -| ir.cpp:2109:7:2109:17 | SideEffect | m2109_3 | -| ir.cpp:2109:25:2109:25 | Address | &:r2109_5 | -| ir.cpp:2109:25:2109:25 | Address | &:r2109_5 | -| ir.cpp:2109:25:2109:25 | Address | &:r2109_7 | -| ir.cpp:2109:25:2109:25 | Address | &:r2109_7 | -| ir.cpp:2109:25:2109:25 | Load | m2109_6 | -| ir.cpp:2109:25:2109:25 | SideEffect | m2109_8 | -| ir.cpp:2110:9:2110:11 | Address | &:r2110_1 | -| ir.cpp:2111:10:2111:10 | Address | &:r2111_1 | -| ir.cpp:2111:14:2111:19 | CallTarget | func:r2111_2 | -| ir.cpp:2111:14:2111:19 | StoreValue | r2111_8 | -| ir.cpp:2111:21:2111:21 | Address | &:r2111_3 | -| ir.cpp:2111:21:2111:21 | Address | &:r2111_5 | -| ir.cpp:2111:21:2111:21 | Arg(0) | 0:r2111_5 | -| ir.cpp:2111:21:2111:21 | Load | m2109_6 | -| ir.cpp:2111:21:2111:21 | SideEffect | ~m2109_8 | -| ir.cpp:2111:21:2111:21 | Unary | r2111_4 | -| ir.cpp:2111:24:2111:27 | Address | &:r2111_7 | -| ir.cpp:2111:24:2111:27 | Arg(1) | 1:r2111_7 | -| ir.cpp:2111:24:2111:27 | ChiPartial | partial:m2111_10 | -| ir.cpp:2111:24:2111:27 | ChiTotal | total:m2110_2 | -| ir.cpp:2111:25:2111:27 | Unary | r2111_6 | -| ir.cpp:2112:3:2112:13 | Address | &:r2112_1 | -| ir.cpp:2112:10:2112:12 | Address | &:r2112_2 | -| ir.cpp:2112:10:2112:12 | Load | m2111_11 | -| ir.cpp:2112:10:2112:12 | StoreValue | r2112_3 | -| ir.cpp:2119:6:2119:39 | ChiPartial | partial:m2119_3 | -| ir.cpp:2119:6:2119:39 | ChiTotal | total:m2119_2 | -| ir.cpp:2119:6:2119:39 | SideEffect | ~m2120_8 | -| ir.cpp:2120:6:2120:42 | Address | &:r2120_1 | -| ir.cpp:2120:6:2120:42 | Condition | r2120_12 | -| ir.cpp:2120:22:2120:22 | Address | &:r2120_4 | -| ir.cpp:2120:22:2120:22 | Address | &:r2120_4 | -| ir.cpp:2120:22:2120:22 | Arg(this) | this:r2120_4 | -| ir.cpp:2120:22:2120:22 | CallTarget | func:r2120_5 | -| ir.cpp:2120:22:2120:22 | ChiPartial | partial:m2120_7 | -| ir.cpp:2120:22:2120:22 | ChiPartial | partial:m2120_10 | -| ir.cpp:2120:22:2120:22 | ChiTotal | total:m2119_4 | -| ir.cpp:2120:22:2120:22 | ChiTotal | total:m2120_3 | -| ir.cpp:2120:22:2120:22 | SideEffect | m2120_3 | -| ir.cpp:2120:22:2120:22 | SideEffect | ~m2119_4 | -| ir.cpp:2120:22:2120:22 | Unary | r2120_6 | -| ir.cpp:2120:25:2120:42 | StoreValue | r2120_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:2134:16:2134:50 | Address | &:r2134_3 | +| ir.cpp:2134:16:2134:50 | SideEffect | ~m2134_6 | +| ir.cpp:2134:54:2134:57 | ChiPartial | partial:m2134_5 | +| ir.cpp:2134:54:2134:57 | ChiTotal | total:m2134_2 | +| ir.cpp:2134:54:2134:57 | StoreValue | r2134_4 | +| ir.cpp:2136:6:2136:35 | ChiPartial | partial:m2136_3 | +| ir.cpp:2136:6:2136:35 | ChiTotal | total:m2136_2 | +| ir.cpp:2136:42:2136:42 | Address | &:r2136_5 | +| ir.cpp:2136:50:2136:50 | Address | &:r2136_7 | +| ir.cpp:2137:29:2137:29 | Address | &:r2137_1 | +| ir.cpp:2137:29:2137:29 | Address | &:r2137_1 | +| ir.cpp:2137:29:2137:29 | Arg(this) | this:r2137_1 | +| ir.cpp:2137:29:2137:29 | CallTarget | func:r2137_3 | +| ir.cpp:2137:29:2137:29 | ChiPartial | partial:m2137_5 | +| ir.cpp:2137:29:2137:29 | ChiPartial | partial:m2137_7 | +| ir.cpp:2137:29:2137:29 | ChiTotal | total:m2136_4 | +| ir.cpp:2137:29:2137:29 | ChiTotal | total:m2137_2 | +| ir.cpp:2137:29:2137:29 | SideEffect | ~m2136_4 | +| ir.cpp:2137:32:2137:32 | Address | &:r2137_9 | +| ir.cpp:2137:32:2137:32 | Condition | r2137_10 | +| ir.cpp:2137:32:2137:32 | Load | m2136_6 | +| ir.cpp:2138:9:2138:9 | Address | &:r2138_1 | +| ir.cpp:2138:9:2138:9 | Address | &:r2138_1 | +| ir.cpp:2138:9:2138:9 | Arg(this) | this:r2138_1 | +| ir.cpp:2138:9:2138:9 | ChiPartial | partial:m2138_8 | +| ir.cpp:2138:9:2138:9 | ChiTotal | total:m2137_8 | +| ir.cpp:2138:9:2138:9 | SideEffect | m2137_8 | +| ir.cpp:2138:11:2138:15 | CallTarget | func:r2138_2 | +| ir.cpp:2138:11:2138:15 | ChiPartial | partial:m2138_5 | +| ir.cpp:2138:11:2138:15 | ChiTotal | total:m2137_6 | +| ir.cpp:2138:11:2138:15 | SideEffect | ~m2137_6 | +| ir.cpp:2138:17:2138:19 | Arg(0) | 0:r2138_3 | | 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 d2a11541fd12..c7c7ad6f53a0 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected @@ -6,6 +6,10 @@ missingOperandType duplicateChiOperand sideEffectWithoutPrimary instructionWithoutSuccessor +| ir.cpp:2138:9:2138:9 | IndirectMayWriteSideEffect: x | Instruction 'IndirectMayWriteSideEffect: x' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | +| ir.cpp:2140:39:2140:39 | IndirectMayWriteSideEffect: call to ClassWithDestructor | Instruction 'IndirectMayWriteSideEffect: call to ClassWithDestructor' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | +| ir.cpp:2140:42:2140:76 | Constant: initialization_with_destructor_bool | Instruction 'Constant: initialization_with_destructor_bool' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | +| ir.cpp:2141:9:2141:9 | IndirectMayWriteSideEffect: x | Instruction 'IndirectMayWriteSideEffect: x' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | ambiguousSuccessors unexplainedLoop unnecessaryPhiInstruction @@ -20,7 +24,7 @@ multipleIRTypes lostReachability backEdgeCountMismatch useNotDominatedByDefinition -| ir.cpp:1486:8:1486:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1486:8:1486:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | +| 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() | | 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) | @@ -37,4 +41,5 @@ nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer nonUniqueIRVariable +| ir.cpp:2153:68:2153:69 | VariableAddress: ys | Variable address instruction 'VariableAddress: ys' has no associated variable, in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | missingCppType 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 53361dd907ae..6ef4a69e0db4 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -6345,1445 +6345,1417 @@ ir.cpp: # 1054| v1054_41(void) = AliasedUse : ~m? # 1054| v1054_42(void) = ExitFunction : -# 1077| void RangeBasedFor(vector const&) -# 1077| Block 0 -# 1077| v1077_1(void) = EnterFunction : -# 1077| mu1077_2(unknown) = AliasedDefinition : -# 1077| mu1077_3(unknown) = InitializeNonLocal : -# 1077| r1077_4(glval &>) = VariableAddress[v] : -# 1077| mu1077_5(vector &) = InitializeParameter[v] : &:r1077_4 -# 1077| r1077_6(vector &) = Load[v] : &:r1077_4, ~m? -# 1077| mu1077_7(unknown) = InitializeIndirection[v] : &:r1077_6 -# 1078| r1078_1(glval &>) = VariableAddress[(__range)] : -# 1078| r1078_2(glval &>) = VariableAddress[v] : -# 1078| r1078_3(vector &) = Load[v] : &:r1078_2, ~m? -# 1078| r1078_4(glval>) = CopyValue : r1078_3 -# 1078| r1078_5(vector &) = CopyValue : r1078_4 -# 1078| mu1078_6(vector &) = Store[(__range)] : &:r1078_1, r1078_5 -# 1078| r1078_7(glval) = VariableAddress[(__begin)] : -# 1078| r1078_8(glval &>) = VariableAddress[(__range)] : -# 1078| r1078_9(vector &) = Load[(__range)] : &:r1078_8, ~m? -#-----| r0_1(glval>) = CopyValue : r1078_9 -# 1078| r1078_10(glval) = FunctionAddress[begin] : -# 1078| r1078_11(iterator) = Call[begin] : func:r1078_10, this:r0_1 -# 1078| mu1078_12(unknown) = ^CallSideEffect : ~m? +# 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? -# 1078| mu1078_13(iterator) = Store[(__begin)] : &:r1078_7, r1078_11 -# 1078| r1078_14(glval) = VariableAddress[(__end)] : -# 1078| r1078_15(glval &>) = VariableAddress[(__range)] : -# 1078| r1078_16(vector &) = Load[(__range)] : &:r1078_15, ~m? -#-----| r0_3(glval>) = CopyValue : r1078_16 -# 1078| r1078_17(glval) = FunctionAddress[end] : -# 1078| r1078_18(iterator) = Call[end] : func:r1078_17, this:r0_3 -# 1078| mu1078_19(unknown) = ^CallSideEffect : ~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? -# 1078| mu1078_20(iterator) = Store[(__end)] : &:r1078_14, r1078_18 +# 1080| mu1080_20(iterator) = Store[(__end)] : &:r1080_14, r1080_18 #-----| Goto -> Block 1 -# 1078| Block 1 -# 1078| r1078_21(glval) = VariableAddress[(__begin)] : -#-----| r0_5(glval) = Convert : r1078_21 -# 1078| r1078_22(glval) = FunctionAddress[operator!=] : -# 1078| r1078_23(glval) = VariableAddress[(__end)] : -# 1078| r1078_24(iterator) = Load[(__end)] : &:r1078_23, ~m? -# 1078| r1078_25(bool) = Call[operator!=] : func:r1078_22, this:r0_5, 0:r1078_24 -# 1078| mu1078_26(unknown) = ^CallSideEffect : ~m? +# 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? -# 1078| v1078_27(void) = ConditionalBranch : r1078_25 +# 1080| v1080_27(void) = ConditionalBranch : r1080_25 #-----| False -> Block 5 #-----| True -> Block 2 -# 1078| Block 2 -# 1078| r1078_28(glval) = VariableAddress[e] : -# 1078| r1078_29(glval) = VariableAddress[(__begin)] : -#-----| r0_7(glval) = Convert : r1078_29 -# 1078| r1078_30(glval) = FunctionAddress[operator*] : -# 1078| r1078_31(int &) = Call[operator*] : func:r1078_30, this:r0_7 -# 1078| mu1078_32(unknown) = ^CallSideEffect : ~m? +# 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? -# 1078| r1078_33(int) = Load[?] : &:r1078_31, ~m? -# 1078| mu1078_34(int) = Store[e] : &:r1078_28, r1078_33 -# 1079| r1079_1(glval) = VariableAddress[e] : -# 1079| r1079_2(int) = Load[e] : &:r1079_1, ~m? -# 1079| r1079_3(int) = Constant[0] : -# 1079| r1079_4(bool) = CompareGT : r1079_2, r1079_3 -# 1079| v1079_5(void) = ConditionalBranch : r1079_4 +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1080| Block 3 -# 1080| v1080_1(void) = NoOp : +# 1082| Block 3 +# 1082| v1082_1(void) = NoOp : #-----| Goto -> Block 4 -# 1078| Block 4 -# 1078| v1078_35(void) = NoOp : -# 1078| r1078_36(glval) = VariableAddress[(__begin)] : -# 1078| r1078_37(glval) = FunctionAddress[operator++] : -# 1078| r1078_38(iterator &) = Call[operator++] : func:r1078_37, this:r1078_36 -# 1078| mu1078_39(unknown) = ^CallSideEffect : ~m? -# 1078| v1078_40(void) = ^IndirectReadSideEffect[-1] : &:r1078_36, ~m? -# 1078| mu1078_41(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1078_36 -# 1078| r1078_42(glval) = CopyValue : r1078_38 +# 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 #-----| Goto (back edge) -> Block 1 -# 1084| Block 5 -# 1084| r1084_1(glval &>) = VariableAddress[(__range)] : -# 1084| r1084_2(glval &>) = VariableAddress[v] : -# 1084| r1084_3(vector &) = Load[v] : &:r1084_2, ~m? -# 1084| r1084_4(glval>) = CopyValue : r1084_3 -# 1084| r1084_5(vector &) = CopyValue : r1084_4 -# 1084| mu1084_6(vector &) = Store[(__range)] : &:r1084_1, r1084_5 -# 1084| r1084_7(glval) = VariableAddress[(__begin)] : -# 1084| r1084_8(glval &>) = VariableAddress[(__range)] : -# 1084| r1084_9(vector &) = Load[(__range)] : &:r1084_8, ~m? -#-----| r0_9(glval>) = CopyValue : r1084_9 -# 1084| r1084_10(glval) = FunctionAddress[begin] : -# 1084| r1084_11(iterator) = Call[begin] : func:r1084_10, this:r0_9 -# 1084| mu1084_12(unknown) = ^CallSideEffect : ~m? +# 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? -# 1084| mu1084_13(iterator) = Store[(__begin)] : &:r1084_7, r1084_11 -# 1084| r1084_14(glval) = VariableAddress[(__end)] : -# 1084| r1084_15(glval &>) = VariableAddress[(__range)] : -# 1084| r1084_16(vector &) = Load[(__range)] : &:r1084_15, ~m? -#-----| r0_11(glval>) = CopyValue : r1084_16 -# 1084| r1084_17(glval) = FunctionAddress[end] : -# 1084| r1084_18(iterator) = Call[end] : func:r1084_17, this:r0_11 -# 1084| mu1084_19(unknown) = ^CallSideEffect : ~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? -# 1084| mu1084_20(iterator) = Store[(__end)] : &:r1084_14, r1084_18 +# 1086| mu1086_20(iterator) = Store[(__end)] : &:r1086_14, r1086_18 #-----| Goto -> Block 6 -# 1084| Block 6 -# 1084| r1084_21(glval) = VariableAddress[(__begin)] : -#-----| r0_13(glval) = Convert : r1084_21 -# 1084| r1084_22(glval) = FunctionAddress[operator!=] : -# 1084| r1084_23(glval) = VariableAddress[(__end)] : -# 1084| r1084_24(iterator) = Load[(__end)] : &:r1084_23, ~m? -# 1084| r1084_25(bool) = Call[operator!=] : func:r1084_22, this:r0_13, 0:r1084_24 -# 1084| mu1084_26(unknown) = ^CallSideEffect : ~m? +# 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? -# 1084| v1084_27(void) = ConditionalBranch : r1084_25 +# 1086| v1086_27(void) = ConditionalBranch : r1086_25 #-----| False -> Block 10 #-----| True -> Block 8 -# 1084| Block 7 -# 1084| r1084_28(glval) = VariableAddress[(__begin)] : -# 1084| r1084_29(glval) = FunctionAddress[operator++] : -# 1084| r1084_30(iterator &) = Call[operator++] : func:r1084_29, this:r1084_28 -# 1084| mu1084_31(unknown) = ^CallSideEffect : ~m? -# 1084| v1084_32(void) = ^IndirectReadSideEffect[-1] : &:r1084_28, ~m? -# 1084| mu1084_33(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r1084_28 -# 1084| r1084_34(glval) = CopyValue : r1084_30 +# 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 #-----| Goto (back edge) -> Block 6 -# 1084| Block 8 -# 1084| r1084_35(glval) = VariableAddress[e] : -# 1084| r1084_36(glval) = VariableAddress[(__begin)] : -#-----| r0_15(glval) = Convert : r1084_36 -# 1084| r1084_37(glval) = FunctionAddress[operator*] : -# 1084| r1084_38(int &) = Call[operator*] : func:r1084_37, this:r0_15 -# 1084| mu1084_39(unknown) = ^CallSideEffect : ~m? +# 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? -# 1084| r1084_40(glval) = CopyValue : r1084_38 -# 1084| r1084_41(glval) = Convert : r1084_40 -# 1084| r1084_42(int &) = CopyValue : r1084_41 -# 1084| mu1084_43(int &) = Store[e] : &:r1084_35, r1084_42 -# 1085| r1085_1(glval) = VariableAddress[e] : -# 1085| r1085_2(int &) = Load[e] : &:r1085_1, ~m? -# 1085| r1085_3(int) = Load[?] : &:r1085_2, ~m? -# 1085| r1085_4(int) = Constant[5] : -# 1085| r1085_5(bool) = CompareLT : r1085_3, r1085_4 -# 1085| v1085_6(void) = ConditionalBranch : r1085_5 +# 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 #-----| False -> Block 7 #-----| True -> Block 9 -# 1086| Block 9 -# 1086| v1086_1(void) = NoOp : +# 1088| Block 9 +# 1088| v1088_1(void) = NoOp : #-----| Goto -> Block 10 -# 1088| Block 10 -# 1088| v1088_1(void) = NoOp : -# 1089| v1089_1(void) = NoOp : -# 1077| v1077_8(void) = ReturnIndirection[v] : &:r1077_6, ~m? -# 1077| v1077_9(void) = ReturnVoid : -# 1077| v1077_10(void) = AliasedUse : ~m? -# 1077| v1077_11(void) = ExitFunction : - -# 1108| int AsmStmt(int) -# 1108| Block 0 -# 1108| v1108_1(void) = EnterFunction : -# 1108| mu1108_2(unknown) = AliasedDefinition : -# 1108| mu1108_3(unknown) = InitializeNonLocal : -# 1108| r1108_4(glval) = VariableAddress[x] : -# 1108| mu1108_5(int) = InitializeParameter[x] : &:r1108_4 -# 1109| mu1109_1(unknown) = InlineAsm : ~m? -# 1110| r1110_1(glval) = VariableAddress[#return] : -# 1110| r1110_2(glval) = VariableAddress[x] : -# 1110| r1110_3(int) = Load[x] : &:r1110_2, ~m? -# 1110| mu1110_4(int) = Store[#return] : &:r1110_1, r1110_3 -# 1108| r1108_6(glval) = VariableAddress[#return] : -# 1108| v1108_7(void) = ReturnValue : &:r1108_6, ~m? -# 1108| v1108_8(void) = AliasedUse : ~m? -# 1108| v1108_9(void) = ExitFunction : - -# 1113| void AsmStmtWithOutputs(unsigned int&, unsigned int, unsigned int&, unsigned int) -# 1113| Block 0 -# 1113| v1113_1(void) = EnterFunction : -# 1113| mu1113_2(unknown) = AliasedDefinition : -# 1113| mu1113_3(unknown) = InitializeNonLocal : -# 1113| r1113_4(glval) = VariableAddress[a] : -# 1113| mu1113_5(unsigned int &) = InitializeParameter[a] : &:r1113_4 -# 1113| r1113_6(unsigned int &) = Load[a] : &:r1113_4, ~m? -# 1113| mu1113_7(unknown) = InitializeIndirection[a] : &:r1113_6 -# 1113| r1113_8(glval) = VariableAddress[b] : -# 1113| mu1113_9(unsigned int) = InitializeParameter[b] : &:r1113_8 -# 1113| r1113_10(glval) = VariableAddress[c] : -# 1113| mu1113_11(unsigned int &) = InitializeParameter[c] : &:r1113_10 -# 1113| r1113_12(unsigned int &) = Load[c] : &:r1113_10, ~m? -# 1113| mu1113_13(unknown) = InitializeIndirection[c] : &:r1113_12 -# 1113| r1113_14(glval) = VariableAddress[d] : -# 1113| mu1113_15(unsigned int) = InitializeParameter[d] : &:r1113_14 -# 1118| r1118_1(glval) = VariableAddress[a] : -# 1118| r1118_2(unsigned int &) = Load[a] : &:r1118_1, ~m? -# 1118| r1118_3(glval) = CopyValue : r1118_2 -# 1118| r1118_4(glval) = VariableAddress[b] : -# 1118| r1118_5(glval) = VariableAddress[c] : -# 1118| r1118_6(unsigned int &) = Load[c] : &:r1118_5, ~m? -# 1118| r1118_7(unsigned int) = Load[?] : &:r1118_6, ~m? -# 1118| r1118_8(glval) = VariableAddress[d] : -# 1118| r1118_9(unsigned int) = Load[d] : &:r1118_8, ~m? -# 1115| mu1115_1(unknown) = InlineAsm : ~m?, 0:r1118_3, 1:r1118_4, 2:r1118_7, 3:r1118_9 -# 1120| v1120_1(void) = NoOp : -# 1113| v1113_16(void) = ReturnIndirection[a] : &:r1113_6, ~m? -# 1113| v1113_17(void) = ReturnIndirection[c] : &:r1113_12, ~m? -# 1113| v1113_18(void) = ReturnVoid : -# 1113| v1113_19(void) = AliasedUse : ~m? -# 1113| v1113_20(void) = ExitFunction : - -# 1122| void ExternDeclarations() -# 1122| Block 0 -# 1122| v1122_1(void) = EnterFunction : -# 1122| mu1122_2(unknown) = AliasedDefinition : -# 1122| mu1122_3(unknown) = InitializeNonLocal : -# 1125| r1125_1(glval) = VariableAddress[x] : -# 1125| mu1125_2(int) = Uninitialized[x] : &:r1125_1 -# 1126| r1126_1(glval) = VariableAddress[y] : -# 1126| mu1126_2(int) = Uninitialized[y] : &:r1126_1 -# 1127| r1127_1(glval) = VariableAddress[h] : -# 1127| mu1127_2(int) = Uninitialized[h] : &:r1127_1 -# 1129| v1129_1(void) = NoOp : -# 1122| v1122_4(void) = ReturnVoid : -# 1122| v1122_5(void) = AliasedUse : ~m? -# 1122| v1122_6(void) = ExitFunction : - -# 1137| void ExternDeclarationsInMacro() -# 1137| Block 0 -# 1137| v1137_1(void) = EnterFunction : -# 1137| mu1137_2(unknown) = AliasedDefinition : -# 1137| mu1137_3(unknown) = InitializeNonLocal : -# 1139| r1139_1(glval) = VariableAddress[i] : -# 1139| r1139_2(int) = Constant[0] : -# 1139| mu1139_3(int) = Store[i] : &:r1139_1, r1139_2 +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 #-----| Goto -> Block 1 -# 1139| Block 1 -# 1139| r1139_4(glval) = VariableAddress[i] : -# 1139| r1139_5(int) = Load[i] : &:r1139_4, ~m? -# 1139| r1139_6(int) = Constant[10] : -# 1139| r1139_7(bool) = CompareLT : r1139_5, r1139_6 -# 1139| v1139_8(void) = ConditionalBranch : r1139_7 +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1139| Block 2 -# 1139| r1139_9(glval) = VariableAddress[i] : -# 1139| r1139_10(int) = Load[i] : &:r1139_9, ~m? -# 1139| r1139_11(int) = Constant[1] : -# 1139| r1139_12(int) = Add : r1139_10, r1139_11 -# 1139| mu1139_13(int) = Store[i] : &:r1139_9, r1139_12 +# 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 #-----| Goto (back edge) -> Block 1 -# 1139| Block 3 -# 1139| v1139_14(void) = NoOp : -# 1140| v1140_1(void) = NoOp : -# 1137| v1137_4(void) = ReturnVoid : -# 1137| v1137_5(void) = AliasedUse : ~m? -# 1137| v1137_6(void) = ExitFunction : - -# 1142| void TryCatchNoCatchAny(bool) -# 1142| Block 0 -# 1142| v1142_1(void) = EnterFunction : -# 1142| mu1142_2(unknown) = AliasedDefinition : -# 1142| mu1142_3(unknown) = InitializeNonLocal : -# 1142| r1142_4(glval) = VariableAddress[b] : -# 1142| mu1142_5(bool) = InitializeParameter[b] : &:r1142_4 -# 1144| r1144_1(glval) = VariableAddress[x] : -# 1144| r1144_2(int) = Constant[5] : -# 1144| mu1144_3(int) = Store[x] : &:r1144_1, r1144_2 -# 1145| r1145_1(glval) = VariableAddress[b] : -# 1145| r1145_2(bool) = Load[b] : &:r1145_1, ~m? -# 1145| v1145_3(void) = ConditionalBranch : r1145_2 +# 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 : + +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1142| Block 1 -# 1142| v1142_6(void) = AliasedUse : ~m? -# 1142| v1142_7(void) = ExitFunction : +# 1144| Block 1 +# 1144| v1144_6(void) = AliasedUse : ~m? +# 1144| v1144_7(void) = ExitFunction : -# 1142| Block 2 -# 1142| v1142_8(void) = Unwind : +# 1144| Block 2 +# 1144| v1144_8(void) = Unwind : #-----| Goto -> Block 1 -# 1146| Block 3 -# 1146| r1146_1(glval) = VariableAddress[#throw1146:7] : -# 1146| r1146_2(glval) = StringConstant["string literal"] : -# 1146| r1146_3(char *) = Convert : r1146_2 -# 1146| mu1146_4(char *) = Store[#throw1146:7] : &:r1146_1, r1146_3 -# 1146| v1146_5(void) = ThrowValue : &:r1146_1, ~m? +# 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? #-----| Exception -> Block 9 -# 1148| Block 4 -# 1148| r1148_1(glval) = VariableAddress[x] : -# 1148| r1148_2(int) = Load[x] : &:r1148_1, ~m? -# 1148| r1148_3(int) = Constant[2] : -# 1148| r1148_4(bool) = CompareLT : r1148_2, r1148_3 -# 1148| v1148_5(void) = ConditionalBranch : r1148_4 +# 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 #-----| False -> Block 8 #-----| True -> Block 5 -# 1149| Block 5 -# 1149| r1149_1(glval) = VariableAddress[b] : -# 1149| r1149_2(bool) = Load[b] : &:r1149_1, ~m? -# 1149| v1149_3(void) = ConditionalBranch : r1149_2 +# 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 #-----| False -> Block 7 #-----| True -> Block 6 -# 1149| Block 6 -# 1149| r1149_4(int) = Constant[7] : -# 1149| r1149_5(glval) = VariableAddress[#temp1149:11] : -# 1149| mu1149_6(int) = Store[#temp1149:11] : &:r1149_5, r1149_4 -# 1149| r1149_7(glval) = VariableAddress[#temp1149:11] : -# 1149| r1149_8(int) = Load[#temp1149:11] : &:r1149_7, ~m? -# 1149| r1149_9(glval) = VariableAddress[x] : -# 1149| mu1149_10(int) = Store[x] : &:r1149_9, r1149_8 +# 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 #-----| Goto -> Block 8 -# 1149| Block 7 -# 1149| r1149_11(glval) = VariableAddress[#throw1149:19] : -# 1149| mu1149_12(String) = Uninitialized[#throw1149:19] : &:r1149_11 -# 1149| r1149_13(glval) = FunctionAddress[String] : -# 1149| r1149_14(glval) = StringConstant["String object"] : -# 1149| r1149_15(char *) = Convert : r1149_14 -# 1149| v1149_16(void) = Call[String] : func:r1149_13, this:r1149_11, 0:r1149_15 -# 1149| mu1149_17(unknown) = ^CallSideEffect : ~m? -# 1149| v1149_18(void) = ^BufferReadSideEffect[0] : &:r1149_15, ~m? -# 1149| mu1149_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r1149_11 -# 1149| v1149_20(void) = ThrowValue : &:r1149_11, ~m? +# 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? #-----| Exception -> Block 9 -# 1151| Block 8 -# 1151| r1151_1(int) = Constant[7] : -# 1151| r1151_2(glval) = VariableAddress[x] : -# 1151| mu1151_3(int) = Store[x] : &:r1151_2, r1151_1 +# 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 #-----| Goto -> Block 13 -# 1153| Block 9 -# 1153| v1153_1(void) = CatchByType[const char *] : +# 1155| Block 9 +# 1155| v1155_1(void) = CatchByType[const char *] : #-----| Exception -> Block 11 #-----| Goto -> Block 10 -# 1153| Block 10 -# 1153| r1153_2(glval) = VariableAddress[s] : -# 1153| mu1153_3(char *) = InitializeParameter[s] : &:r1153_2 -# 1153| r1153_4(char *) = Load[s] : &:r1153_2, ~m? -# 1153| mu1153_5(unknown) = InitializeIndirection[s] : &:r1153_4 -# 1154| r1154_1(glval) = VariableAddress[#throw1154:5] : -# 1154| mu1154_2(String) = Uninitialized[#throw1154:5] : &:r1154_1 -# 1154| r1154_3(glval) = FunctionAddress[String] : -# 1154| r1154_4(glval) = VariableAddress[s] : -# 1154| r1154_5(char *) = Load[s] : &:r1154_4, ~m? -# 1154| v1154_6(void) = Call[String] : func:r1154_3, this:r1154_1, 0:r1154_5 -# 1154| mu1154_7(unknown) = ^CallSideEffect : ~m? -# 1154| v1154_8(void) = ^BufferReadSideEffect[0] : &:r1154_5, ~m? -# 1154| mu1154_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1154_1 -# 1154| v1154_10(void) = ThrowValue : &:r1154_1, ~m? +# 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? #-----| Exception -> Block 2 -# 1156| Block 11 -# 1156| v1156_1(void) = CatchByType[const String &] : +# 1158| Block 11 +# 1158| v1158_1(void) = CatchByType[const String &] : #-----| Exception -> Block 2 #-----| Goto -> Block 12 -# 1156| Block 12 -# 1156| r1156_2(glval) = VariableAddress[e] : -# 1156| mu1156_3(String &) = InitializeParameter[e] : &:r1156_2 -# 1156| r1156_4(String &) = Load[e] : &:r1156_2, ~m? -# 1156| mu1156_5(unknown) = InitializeIndirection[e] : &:r1156_4 -# 1156| v1156_6(void) = NoOp : +# 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 : #-----| Goto -> Block 13 -# 1158| Block 13 -# 1158| v1158_1(void) = NoOp : -# 1142| v1142_9(void) = ReturnVoid : +# 1160| Block 13 +# 1160| v1160_1(void) = NoOp : +# 1144| v1144_9(void) = ReturnVoid : #-----| Goto -> Block 1 -# 1162| void VectorTypes(int) -# 1162| Block 0 -# 1162| v1162_1(void) = EnterFunction : -# 1162| mu1162_2(unknown) = AliasedDefinition : -# 1162| mu1162_3(unknown) = InitializeNonLocal : -# 1162| r1162_4(glval) = VariableAddress[i] : -# 1162| mu1162_5(int) = InitializeParameter[i] : &:r1162_4 -# 1163| r1163_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1163| mu1163_2(__attribute((vector_size(16UL))) int) = Uninitialized[vi4] : &:r1163_1 -# 1163| r1163_3(int) = Constant[0] : -# 1163| r1163_4(glval) = PointerAdd[4] : r1163_1, r1163_3 -# 1163| r1163_5(int) = Constant[0] : -# 1163| mu1163_6(int) = Store[?] : &:r1163_4, r1163_5 -# 1163| r1163_7(int) = Constant[1] : -# 1163| r1163_8(glval) = PointerAdd[4] : r1163_1, r1163_7 -# 1163| r1163_9(int) = Constant[1] : -# 1163| mu1163_10(int) = Store[?] : &:r1163_8, r1163_9 -# 1163| r1163_11(int) = Constant[2] : -# 1163| r1163_12(glval) = PointerAdd[4] : r1163_1, r1163_11 -# 1163| r1163_13(int) = Constant[2] : -# 1163| mu1163_14(int) = Store[?] : &:r1163_12, r1163_13 -# 1163| r1163_15(int) = Constant[3] : -# 1163| r1163_16(glval) = PointerAdd[4] : r1163_1, r1163_15 -# 1163| r1163_17(int) = Constant[3] : -# 1163| mu1163_18(int) = Store[?] : &:r1163_16, r1163_17 -# 1164| r1164_1(glval) = VariableAddress[x] : -# 1164| r1164_2(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1164| r1164_3(glval) = VariableAddress[i] : -# 1164| r1164_4(int) = Load[i] : &:r1164_3, ~m? -# 1164| r1164_5(glval) = PointerAdd[4] : r1164_2, r1164_4 -# 1164| r1164_6(int) = Load[?] : &:r1164_5, ~m? -# 1164| mu1164_7(int) = Store[x] : &:r1164_1, r1164_6 -# 1165| r1165_1(glval) = VariableAddress[x] : -# 1165| r1165_2(int) = Load[x] : &:r1165_1, ~m? -# 1165| r1165_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1165| r1165_4(glval) = VariableAddress[i] : -# 1165| r1165_5(int) = Load[i] : &:r1165_4, ~m? -# 1165| r1165_6(glval) = PointerAdd[4] : r1165_3, r1165_5 -# 1165| mu1165_7(int) = Store[?] : &:r1165_6, r1165_2 -# 1166| r1166_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : +# 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(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1166_2, ~m? -# 1166| r1166_4(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1166| r1166_5(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1166_4, ~m? -# 1166| r1166_6(int) = Constant[3] : -# 1166| r1166_7(int) = Constant[2] : -# 1166| r1166_8(int) = Constant[1] : -# 1166| r1166_9(int) = Constant[0] : -# 1166| r1166_10(__attribute((vector_size(16))) int) = BuiltIn[__builtin_shufflevector] : 0:r1166_3, 1:r1166_5, 2:r1166_6, 3:r1166_7, 4:r1166_8, 5:r1166_9 -# 1166| mu1166_11(__attribute((vector_size(16UL))) int) = Store[vi4_shuffle] : &:r1166_1, r1166_10 -# 1167| r1167_1(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| r1167_2(__attribute((vector_size(16UL))) int) = Load[vi4] : &:r1167_1, ~m? -# 1167| r1167_3(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4_shuffle] : -# 1167| r1167_4(__attribute((vector_size(16UL))) int) = Load[vi4_shuffle] : &:r1167_3, ~m? -# 1167| r1167_5(__attribute((vector_size(16UL))) int) = Add : r1167_2, r1167_4 -# 1167| r1167_6(glval<__attribute((vector_size(16UL))) int>) = VariableAddress[vi4] : -# 1167| mu1167_7(__attribute((vector_size(16UL))) int) = Store[vi4] : &:r1167_6, r1167_5 -# 1168| v1168_1(void) = NoOp : -# 1162| v1162_6(void) = ReturnVoid : -# 1162| v1162_7(void) = AliasedUse : ~m? -# 1162| v1162_8(void) = ExitFunction : - -# 1172| int ModeledCallTarget(int) -# 1172| Block 0 -# 1172| v1172_1(void) = EnterFunction : -# 1172| mu1172_2(unknown) = AliasedDefinition : -# 1172| mu1172_3(unknown) = InitializeNonLocal : -# 1172| r1172_4(glval) = VariableAddress[x] : -# 1172| mu1172_5(int) = InitializeParameter[x] : &:r1172_4 -# 1173| r1173_1(glval) = VariableAddress[y] : -# 1173| mu1173_2(int) = Uninitialized[y] : &:r1173_1 -# 1174| r1174_1(glval) = FunctionAddress[memcpy] : -# 1174| r1174_2(glval) = VariableAddress[y] : -# 1174| r1174_3(int *) = CopyValue : r1174_2 -# 1174| r1174_4(void *) = Convert : r1174_3 -# 1174| r1174_5(glval) = VariableAddress[x] : -# 1174| r1174_6(int *) = CopyValue : r1174_5 -# 1174| r1174_7(void *) = Convert : r1174_6 -# 1174| r1174_8(int) = Constant[4] : -# 1174| r1174_9(void *) = Call[memcpy] : func:r1174_1, 0:r1174_4, 1:r1174_7, 2:r1174_8 -# 1174| v1174_10(void) = ^SizedBufferReadSideEffect[1] : &:r1174_7, r1174_8, ~m? -# 1174| mu1174_11(unknown) = ^SizedBufferMustWriteSideEffect[0] : &:r1174_4, r1174_8 -# 1175| r1175_1(glval) = VariableAddress[#return] : -# 1175| r1175_2(glval) = VariableAddress[y] : -# 1175| r1175_3(int) = Load[y] : &:r1175_2, ~m? -# 1175| mu1175_4(int) = Store[#return] : &:r1175_1, r1175_3 -# 1172| r1172_6(glval) = VariableAddress[#return] : -# 1172| v1172_7(void) = ReturnValue : &:r1172_6, ~m? -# 1172| v1172_8(void) = AliasedUse : ~m? -# 1172| v1172_9(void) = ExitFunction : - -# 1178| String ReturnObjectImpl() -# 1178| Block 0 -# 1178| v1178_1(void) = EnterFunction : -# 1178| mu1178_2(unknown) = AliasedDefinition : -# 1178| mu1178_3(unknown) = InitializeNonLocal : -# 1179| r1179_1(glval) = VariableAddress[#return] : -# 1179| mu1179_2(String) = Uninitialized[#return] : &:r1179_1 -# 1179| r1179_3(glval) = FunctionAddress[String] : -# 1179| r1179_4(glval) = StringConstant["foo"] : -# 1179| r1179_5(char *) = Convert : r1179_4 -# 1179| v1179_6(void) = Call[String] : func:r1179_3, this:r1179_1, 0:r1179_5 -# 1179| mu1179_7(unknown) = ^CallSideEffect : ~m? -# 1179| v1179_8(void) = ^BufferReadSideEffect[0] : &:r1179_5, ~m? -# 1179| mu1179_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r1179_1 -# 1178| r1178_4(glval) = VariableAddress[#return] : -# 1178| v1178_5(void) = ReturnValue : &:r1178_4, ~m? -# 1178| v1178_6(void) = AliasedUse : ~m? -# 1178| v1178_7(void) = ExitFunction : - -# 1182| void switch1Case(int) -# 1182| Block 0 -# 1182| v1182_1(void) = EnterFunction : -# 1182| mu1182_2(unknown) = AliasedDefinition : -# 1182| mu1182_3(unknown) = InitializeNonLocal : -# 1182| r1182_4(glval) = VariableAddress[x] : -# 1182| mu1182_5(int) = InitializeParameter[x] : &:r1182_4 -# 1183| r1183_1(glval) = VariableAddress[y] : -# 1183| r1183_2(int) = Constant[0] : -# 1183| mu1183_3(int) = Store[y] : &:r1183_1, r1183_2 -# 1184| r1184_1(glval) = VariableAddress[x] : -# 1184| r1184_2(int) = Load[x] : &:r1184_1, ~m? -# 1184| v1184_3(void) = Switch : r1184_2 +# 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 : + +# 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 : + +# 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 : + +# 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 #-----| Case[1] -> Block 1 #-----| Default -> Block 2 -# 1185| Block 1 -# 1185| v1185_1(void) = NoOp : -# 1186| r1186_1(int) = Constant[2] : -# 1186| r1186_2(glval) = VariableAddress[y] : -# 1186| mu1186_3(int) = Store[y] : &:r1186_2, r1186_1 +# 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 #-----| Goto -> Block 2 -# 1188| Block 2 -# 1188| r1188_1(glval) = VariableAddress[z] : -# 1188| r1188_2(glval) = VariableAddress[y] : -# 1188| r1188_3(int) = Load[y] : &:r1188_2, ~m? -# 1188| mu1188_4(int) = Store[z] : &:r1188_1, r1188_3 -# 1189| v1189_1(void) = NoOp : -# 1182| v1182_6(void) = ReturnVoid : -# 1182| v1182_7(void) = AliasedUse : ~m? -# 1182| v1182_8(void) = ExitFunction : - -# 1191| void switch2Case_fallthrough(int) -# 1191| Block 0 -# 1191| v1191_1(void) = EnterFunction : -# 1191| mu1191_2(unknown) = AliasedDefinition : -# 1191| mu1191_3(unknown) = InitializeNonLocal : -# 1191| r1191_4(glval) = VariableAddress[x] : -# 1191| mu1191_5(int) = InitializeParameter[x] : &:r1191_4 -# 1192| r1192_1(glval) = VariableAddress[y] : -# 1192| r1192_2(int) = Constant[0] : -# 1192| mu1192_3(int) = Store[y] : &:r1192_1, r1192_2 -# 1193| r1193_1(glval) = VariableAddress[x] : -# 1193| r1193_2(int) = Load[x] : &:r1193_1, ~m? -# 1193| v1193_3(void) = Switch : r1193_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 : + +# 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 #-----| Case[1] -> Block 1 #-----| Case[2] -> Block 2 #-----| Default -> Block 3 -# 1194| Block 1 -# 1194| v1194_1(void) = NoOp : -# 1195| r1195_1(int) = Constant[2] : -# 1195| r1195_2(glval) = VariableAddress[y] : -# 1195| mu1195_3(int) = Store[y] : &:r1195_2, r1195_1 -#-----| Goto -> Block 2 - -# 1196| Block 2 +# 1196| Block 1 # 1196| v1196_1(void) = NoOp : -# 1197| r1197_1(int) = Constant[3] : +# 1197| r1197_1(int) = Constant[2] : # 1197| r1197_2(glval) = VariableAddress[y] : # 1197| mu1197_3(int) = Store[y] : &:r1197_2, r1197_1 -#-----| Goto -> Block 3 +#-----| Goto -> Block 2 -# 1199| Block 3 -# 1199| r1199_1(glval) = VariableAddress[z] : +# 1198| Block 2 +# 1198| v1198_1(void) = NoOp : +# 1199| r1199_1(int) = Constant[3] : # 1199| r1199_2(glval) = VariableAddress[y] : -# 1199| r1199_3(int) = Load[y] : &:r1199_2, ~m? -# 1199| mu1199_4(int) = Store[z] : &:r1199_1, r1199_3 -# 1200| v1200_1(void) = NoOp : -# 1191| v1191_6(void) = ReturnVoid : -# 1191| v1191_7(void) = AliasedUse : ~m? -# 1191| v1191_8(void) = ExitFunction : - -# 1202| void switch2Case(int) -# 1202| Block 0 -# 1202| v1202_1(void) = EnterFunction : -# 1202| mu1202_2(unknown) = AliasedDefinition : -# 1202| mu1202_3(unknown) = InitializeNonLocal : -# 1202| r1202_4(glval) = VariableAddress[x] : -# 1202| mu1202_5(int) = InitializeParameter[x] : &:r1202_4 -# 1203| r1203_1(glval) = VariableAddress[y] : -# 1203| r1203_2(int) = Constant[0] : -# 1203| mu1203_3(int) = Store[y] : &:r1203_1, r1203_2 -# 1204| r1204_1(glval) = VariableAddress[x] : -# 1204| r1204_2(int) = Load[x] : &:r1204_1, ~m? -# 1204| v1204_3(void) = Switch : r1204_2 +# 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 -# 1205| Block 1 -# 1205| v1205_1(void) = NoOp : -# 1206| r1206_1(int) = Constant[2] : -# 1206| r1206_2(glval) = VariableAddress[y] : -# 1206| mu1206_3(int) = Store[y] : &:r1206_2, r1206_1 +# 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 -# 1208| Block 2 -# 1208| v1208_1(void) = NoOp : -# 1209| r1209_1(int) = Constant[3] : -# 1209| r1209_2(glval) = VariableAddress[y] : -# 1209| mu1209_3(int) = Store[y] : &:r1209_2, r1209_1 -#-----| Goto -> Block 3 - -# 1210| Block 3 +# 1210| Block 2 # 1210| v1210_1(void) = NoOp : -# 1211| r1211_1(glval) = VariableAddress[z] : +# 1211| r1211_1(int) = Constant[3] : # 1211| r1211_2(glval) = VariableAddress[y] : -# 1211| r1211_3(int) = Load[y] : &:r1211_2, ~m? -# 1211| mu1211_4(int) = Store[z] : &:r1211_1, r1211_3 +# 1211| mu1211_3(int) = Store[y] : &:r1211_2, r1211_1 +#-----| Goto -> Block 3 + +# 1212| Block 3 # 1212| v1212_1(void) = NoOp : -# 1202| v1202_6(void) = ReturnVoid : -# 1202| v1202_7(void) = AliasedUse : ~m? -# 1202| v1202_8(void) = ExitFunction : - -# 1214| void switch2Case_default(int) -# 1214| Block 0 -# 1214| v1214_1(void) = EnterFunction : -# 1214| mu1214_2(unknown) = AliasedDefinition : -# 1214| mu1214_3(unknown) = InitializeNonLocal : -# 1214| r1214_4(glval) = VariableAddress[x] : -# 1214| mu1214_5(int) = InitializeParameter[x] : &:r1214_4 -# 1215| r1215_1(glval) = VariableAddress[y] : -# 1215| r1215_2(int) = Constant[0] : -# 1215| mu1215_3(int) = Store[y] : &:r1215_1, r1215_2 -# 1216| r1216_1(glval) = VariableAddress[x] : -# 1216| r1216_2(int) = Load[x] : &:r1216_1, ~m? -# 1216| v1216_3(void) = Switch : r1216_2 +# 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 -# 1217| Block 1 -# 1217| v1217_1(void) = NoOp : -# 1218| r1218_1(int) = Constant[2] : -# 1218| r1218_2(glval) = VariableAddress[y] : -# 1218| mu1218_3(int) = Store[y] : &:r1218_2, r1218_1 +# 1219| Block 1 # 1219| v1219_1(void) = NoOp : -#-----| Goto -> Block 4 - -# 1221| Block 2 +# 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 : -# 1222| r1222_1(int) = Constant[3] : -# 1222| r1222_2(glval) = VariableAddress[y] : -# 1222| mu1222_3(int) = Store[y] : &:r1222_2, r1222_1 -# 1223| v1223_1(void) = NoOp : #-----| Goto -> Block 4 -# 1225| Block 3 +# 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 : -# 1226| r1226_1(int) = Constant[4] : -# 1226| r1226_2(glval) = VariableAddress[y] : -# 1226| mu1226_3(int) = Store[y] : &:r1226_2, r1226_1 #-----| Goto -> Block 4 -# 1227| Block 4 +# 1227| Block 3 # 1227| v1227_1(void) = NoOp : -# 1228| r1228_1(glval) = VariableAddress[z] : +# 1228| r1228_1(int) = Constant[4] : # 1228| r1228_2(glval) = VariableAddress[y] : -# 1228| r1228_3(int) = Load[y] : &:r1228_2, ~m? -# 1228| mu1228_4(int) = Store[z] : &:r1228_1, r1228_3 +# 1228| mu1228_3(int) = Store[y] : &:r1228_2, r1228_1 +#-----| Goto -> Block 4 + +# 1229| Block 4 # 1229| v1229_1(void) = NoOp : -# 1214| v1214_6(void) = ReturnVoid : -# 1214| v1214_7(void) = AliasedUse : ~m? -# 1214| v1214_8(void) = ExitFunction : - -# 1231| int staticLocalInit(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 -# 1234| r1234_1(glval) = VariableAddress[c#init] : -# 1234| r1234_2(bool) = Load[c#init] : &:r1234_1, ~m? -# 1234| v1234_3(void) = ConditionalBranch : r1234_2 +# 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 -# 1234| Block 1 -# 1234| r1234_4(glval) = VariableAddress[c] : -# 1234| r1234_5(glval) = VariableAddress[x] : -# 1234| r1234_6(int) = Load[x] : &:r1234_5, ~m? -# 1234| mu1234_7(int) = Store[c] : &:r1234_4, r1234_6 -# 1234| r1234_8(bool) = Constant[1] : -# 1234| mu1234_9(bool) = Store[c#init] : &:r1234_1, r1234_8 +# 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 -# 1237| Block 2 -# 1237| r1237_1(glval) = VariableAddress[#return] : -# 1237| r1237_2(glval) = VariableAddress[a] : -# 1237| r1237_3(int) = Load[a] : &:r1237_2, ~m? -# 1237| r1237_4(glval) = VariableAddress[b] : -# 1237| r1237_5(int) = Load[b] : &:r1237_4, ~m? -# 1237| r1237_6(int) = Add : r1237_3, r1237_5 -# 1237| r1237_7(glval) = VariableAddress[c] : -# 1237| r1237_8(int) = Load[c] : &:r1237_7, ~m? -# 1237| r1237_9(int) = Add : r1237_6, r1237_8 -# 1237| r1237_10(glval) = VariableAddress[d] : -# 1237| r1237_11(int) = Load[d] : &:r1237_10, ~m? -# 1237| r1237_12(int) = Add : r1237_9, r1237_11 -# 1237| mu1237_13(int) = Store[#return] : &:r1237_1, r1237_12 -# 1231| r1231_6(glval) = VariableAddress[#return] : -# 1231| v1231_7(void) = ReturnValue : &:r1231_6, ~m? -# 1231| v1231_8(void) = AliasedUse : ~m? -# 1231| v1231_9(void) = ExitFunction : - -# 1232| int a -# 1232| Block 0 -# 1232| v1232_1(void) = EnterFunction : -# 1232| mu1232_2(unknown) = AliasedDefinition : -# 1232| r1232_3(glval) = VariableAddress[a] : -# 1232| r1232_4(int) = Constant[0] : -# 1232| mu1232_5(int) = Store[a] : &:r1232_3, r1232_4 -# 1232| v1232_6(void) = ReturnVoid : -# 1232| v1232_7(void) = AliasedUse : ~m? -# 1232| v1232_8(void) = ExitFunction : - -# 1233| int b -# 1233| Block 0 -# 1233| v1233_1(void) = EnterFunction : -# 1233| mu1233_2(unknown) = AliasedDefinition : -# 1233| r1233_3(glval) = VariableAddress[b] : -# 1233| r1233_4(int) = Constant[4] : -# 1233| mu1233_5(int) = Store[b] : &:r1233_3, r1233_4 -# 1233| v1233_6(void) = ReturnVoid : -# 1233| v1233_7(void) = AliasedUse : ~m? -# 1233| v1233_8(void) = ExitFunction : - -# 1240| void staticLocalWithConstructor(char const*) -# 1240| Block 0 -# 1240| v1240_1(void) = EnterFunction : -# 1240| mu1240_2(unknown) = AliasedDefinition : -# 1240| mu1240_3(unknown) = InitializeNonLocal : -# 1240| r1240_4(glval) = VariableAddress[dynamic] : -# 1240| mu1240_5(char *) = InitializeParameter[dynamic] : &:r1240_4 -# 1240| r1240_6(char *) = Load[dynamic] : &:r1240_4, ~m? -# 1240| mu1240_7(unknown) = InitializeIndirection[dynamic] : &:r1240_6 -# 1241| r1241_1(glval) = VariableAddress[a#init] : -# 1241| r1241_2(bool) = Load[a#init] : &:r1241_1, ~m? -# 1241| v1241_3(void) = ConditionalBranch : r1241_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 -# 1241| Block 1 -# 1241| r1241_4(glval) = VariableAddress[a] : +# 1243| Block 1 +# 1243| r1243_4(glval) = VariableAddress[a] : #-----| r0_1(glval) = FunctionAddress[String] : -#-----| v0_2(void) = Call[String] : func:r0_1, this:r1241_4 +#-----| v0_2(void) = Call[String] : func:r0_1, this:r1243_4 #-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1241_4 -# 1241| r1241_5(bool) = Constant[1] : -# 1241| mu1241_6(bool) = Store[a#init] : &:r1241_1, r1241_5 +#-----| mu0_4(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_4 +# 1243| r1243_5(bool) = Constant[1] : +# 1243| mu1243_6(bool) = Store[a#init] : &:r1243_1, r1243_5 #-----| Goto -> Block 2 -# 1242| Block 2 -# 1242| r1242_1(glval) = VariableAddress[b#init] : -# 1242| r1242_2(bool) = Load[b#init] : &:r1242_1, ~m? -# 1242| v1242_3(void) = ConditionalBranch : r1242_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 #-----| False -> Block 3 #-----| True -> Block 4 -# 1242| Block 3 -# 1242| r1242_4(glval) = VariableAddress[b] : -# 1242| r1242_5(glval) = FunctionAddress[String] : -# 1242| r1242_6(glval) = StringConstant["static"] : -# 1242| r1242_7(char *) = Convert : r1242_6 -# 1242| v1242_8(void) = Call[String] : func:r1242_5, this:r1242_4, 0:r1242_7 -# 1242| mu1242_9(unknown) = ^CallSideEffect : ~m? -# 1242| v1242_10(void) = ^BufferReadSideEffect[0] : &:r1242_7, ~m? -# 1242| mu1242_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1242_4 -# 1242| r1242_12(bool) = Constant[1] : -# 1242| mu1242_13(bool) = Store[b#init] : &:r1242_1, r1242_12 +# 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 #-----| Goto -> Block 4 -# 1243| Block 4 -# 1243| r1243_1(glval) = VariableAddress[c#init] : -# 1243| r1243_2(bool) = Load[c#init] : &:r1243_1, ~m? -# 1243| v1243_3(void) = ConditionalBranch : r1243_2 +# 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 #-----| False -> Block 5 #-----| True -> Block 6 -# 1243| Block 5 -# 1243| r1243_4(glval) = VariableAddress[c] : -# 1243| r1243_5(glval) = FunctionAddress[String] : -# 1243| r1243_6(glval) = VariableAddress[dynamic] : -# 1243| r1243_7(char *) = Load[dynamic] : &:r1243_6, ~m? -# 1243| v1243_8(void) = Call[String] : func:r1243_5, this:r1243_4, 0:r1243_7 -# 1243| mu1243_9(unknown) = ^CallSideEffect : ~m? -# 1243| v1243_10(void) = ^BufferReadSideEffect[0] : &:r1243_7, ~m? -# 1243| mu1243_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1243_4 -# 1243| r1243_12(bool) = Constant[1] : -# 1243| mu1243_13(bool) = Store[c#init] : &:r1243_1, r1243_12 +# 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 #-----| Goto -> Block 6 -# 1244| Block 6 -# 1244| v1244_1(void) = NoOp : -# 1240| v1240_8(void) = ReturnIndirection[dynamic] : &:r1240_6, ~m? -# 1240| v1240_9(void) = ReturnVoid : -# 1240| v1240_10(void) = AliasedUse : ~m? -# 1240| v1240_11(void) = ExitFunction : - -# 1251| void test_strings(char*, char*) -# 1251| Block 0 -# 1251| v1251_1(void) = EnterFunction : -# 1251| mu1251_2(unknown) = AliasedDefinition : -# 1251| mu1251_3(unknown) = InitializeNonLocal : -# 1251| r1251_4(glval) = VariableAddress[s1] : -# 1251| mu1251_5(char *) = InitializeParameter[s1] : &:r1251_4 -# 1251| r1251_6(char *) = Load[s1] : &:r1251_4, ~m? -# 1251| mu1251_7(unknown) = InitializeIndirection[s1] : &:r1251_6 -# 1251| r1251_8(glval) = VariableAddress[s2] : -# 1251| mu1251_9(char *) = InitializeParameter[s2] : &:r1251_8 -# 1251| r1251_10(char *) = Load[s2] : &:r1251_8, ~m? -# 1251| mu1251_11(unknown) = InitializeIndirection[s2] : &:r1251_10 -# 1252| r1252_1(glval) = VariableAddress[buffer] : -# 1252| mu1252_2(char[1024]) = Uninitialized[buffer] : &:r1252_1 -# 1252| r1252_3(int) = Constant[0] : -# 1252| r1252_4(glval) = PointerAdd[1] : r1252_1, r1252_3 -# 1252| r1252_5(char) = Constant[0] : -# 1252| mu1252_6(char) = Store[?] : &:r1252_4, r1252_5 -# 1252| r1252_7(int) = Constant[1] : -# 1252| r1252_8(glval) = PointerAdd[1] : r1252_1, r1252_7 -# 1252| r1252_9(unknown[1023]) = Constant[0] : -# 1252| mu1252_10(unknown[1023]) = Store[?] : &:r1252_8, r1252_9 -# 1254| r1254_1(glval) = FunctionAddress[strcpy] : -# 1254| r1254_2(glval) = VariableAddress[buffer] : -# 1254| r1254_3(char *) = Convert : r1254_2 -# 1254| r1254_4(glval) = VariableAddress[s1] : -# 1254| r1254_5(char *) = Load[s1] : &:r1254_4, ~m? -# 1254| r1254_6(char *) = Convert : r1254_5 -# 1254| r1254_7(char *) = Call[strcpy] : func:r1254_1, 0:r1254_3, 1:r1254_6 -# 1254| v1254_8(void) = ^BufferReadSideEffect[1] : &:r1254_6, ~m? -# 1254| mu1254_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1254_3 -# 1255| r1255_1(glval) = FunctionAddress[strcat] : -# 1255| r1255_2(glval) = VariableAddress[buffer] : -# 1255| r1255_3(char *) = Convert : r1255_2 -# 1255| r1255_4(glval) = VariableAddress[s2] : -# 1255| r1255_5(char *) = Load[s2] : &:r1255_4, ~m? -# 1255| r1255_6(char *) = Convert : r1255_5 -# 1255| r1255_7(char *) = Call[strcat] : func:r1255_1, 0:r1255_3, 1:r1255_6 -# 1255| v1255_8(void) = ^BufferReadSideEffect[0] : &:r1255_3, ~m? -# 1255| v1255_9(void) = ^BufferReadSideEffect[1] : &:r1255_6, ~m? -# 1255| mu1255_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1255_3 -# 1256| v1256_1(void) = NoOp : -# 1251| v1251_12(void) = ReturnIndirection[s1] : &:r1251_6, ~m? -# 1251| v1251_13(void) = ReturnIndirection[s2] : &:r1251_10, ~m? -# 1251| v1251_14(void) = ReturnVoid : -# 1251| v1251_15(void) = AliasedUse : ~m? -# 1251| v1251_16(void) = ExitFunction : - -# 1261| void A::static_member(A*, int) -# 1261| Block 0 -# 1261| v1261_1(void) = EnterFunction : -# 1261| mu1261_2(unknown) = AliasedDefinition : -# 1261| mu1261_3(unknown) = InitializeNonLocal : -# 1261| r1261_4(glval) = VariableAddress[a] : -# 1261| mu1261_5(A *) = InitializeParameter[a] : &:r1261_4 -# 1261| r1261_6(A *) = Load[a] : &:r1261_4, ~m? -# 1261| mu1261_7(unknown) = InitializeIndirection[a] : &:r1261_6 -# 1261| r1261_8(glval) = VariableAddress[x] : -# 1261| mu1261_9(int) = InitializeParameter[x] : &:r1261_8 -# 1262| r1262_1(glval) = VariableAddress[x] : -# 1262| r1262_2(int) = Load[x] : &:r1262_1, ~m? -# 1262| r1262_3(glval) = VariableAddress[a] : -# 1262| r1262_4(A *) = Load[a] : &:r1262_3, ~m? -# 1262| r1262_5(glval) = FieldAddress[member] : r1262_4 -# 1262| mu1262_6(int) = Store[?] : &:r1262_5, r1262_2 -# 1263| v1263_1(void) = NoOp : -# 1261| v1261_10(void) = ReturnIndirection[a] : &:r1261_6, ~m? -# 1261| v1261_11(void) = ReturnVoid : -# 1261| v1261_12(void) = AliasedUse : ~m? -# 1261| v1261_13(void) = ExitFunction : - -# 1270| void test_static_member_functions(int, A*) -# 1270| Block 0 -# 1270| v1270_1(void) = EnterFunction : -# 1270| mu1270_2(unknown) = AliasedDefinition : -# 1270| mu1270_3(unknown) = InitializeNonLocal : -# 1270| r1270_4(glval) = VariableAddress[int_arg] : -# 1270| mu1270_5(int) = InitializeParameter[int_arg] : &:r1270_4 -# 1270| r1270_6(glval) = VariableAddress[a_arg] : -# 1270| mu1270_7(A *) = InitializeParameter[a_arg] : &:r1270_6 -# 1270| r1270_8(A *) = Load[a_arg] : &:r1270_6, ~m? -# 1270| mu1270_9(unknown) = InitializeIndirection[a_arg] : &:r1270_8 -# 1271| r1271_1(glval) = VariableAddress[c] : -# 1271| mu1271_2(C) = Uninitialized[c] : &:r1271_1 -# 1271| r1271_3(glval) = FunctionAddress[C] : -# 1271| v1271_4(void) = Call[C] : func:r1271_3, this:r1271_1 -# 1271| mu1271_5(unknown) = ^CallSideEffect : ~m? -# 1271| mu1271_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1271_1 -# 1272| r1272_1(glval) = VariableAddress[c] : -# 1272| r1272_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1272| r1272_3(int) = Constant[10] : -# 1272| r1272_4(int) = Call[StaticMemberFunction] : func:r1272_2, 0:r1272_3 -# 1272| mu1272_5(unknown) = ^CallSideEffect : ~m? -# 1273| r1273_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1273| r1273_2(int) = Constant[10] : -# 1273| r1273_3(int) = Call[StaticMemberFunction] : func:r1273_1, 0:r1273_2 -# 1273| mu1273_4(unknown) = ^CallSideEffect : ~m? -# 1275| r1275_1(glval) = VariableAddress[a] : -# 1275| mu1275_2(A) = Uninitialized[a] : &:r1275_1 -# 1276| r1276_1(glval) = VariableAddress[a] : -# 1276| r1276_2(glval) = FunctionAddress[static_member] : -# 1276| r1276_3(glval) = VariableAddress[a] : -# 1276| r1276_4(A *) = CopyValue : r1276_3 -# 1276| r1276_5(glval) = VariableAddress[int_arg] : -# 1276| r1276_6(int) = Load[int_arg] : &:r1276_5, ~m? -# 1276| v1276_7(void) = Call[static_member] : func:r1276_2, 0:r1276_4, 1:r1276_6 -# 1276| mu1276_8(unknown) = ^CallSideEffect : ~m? -# 1276| v1276_9(void) = ^BufferReadSideEffect[0] : &:r1276_4, ~m? -# 1276| mu1276_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1276_4 -# 1277| r1277_1(glval) = FunctionAddress[static_member] : -# 1277| r1277_2(glval) = VariableAddress[a] : -# 1277| r1277_3(A *) = CopyValue : r1277_2 -# 1277| r1277_4(glval) = VariableAddress[int_arg] : -# 1277| r1277_5(int) = Load[int_arg] : &:r1277_4, ~m? -# 1277| v1277_6(void) = Call[static_member] : func:r1277_1, 0:r1277_3, 1:r1277_5 -# 1277| mu1277_7(unknown) = ^CallSideEffect : ~m? -# 1277| v1277_8(void) = ^BufferReadSideEffect[0] : &:r1277_3, ~m? -# 1277| mu1277_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1277_3 -# 1279| r1279_1(glval) = VariableAddress[a] : -# 1279| r1279_2(A *) = CopyValue : r1279_1 -# 1279| r1279_3(glval) = FunctionAddress[static_member] : -# 1279| r1279_4(glval) = VariableAddress[a_arg] : -# 1279| r1279_5(A *) = Load[a_arg] : &:r1279_4, ~m? -# 1279| r1279_6(glval) = VariableAddress[int_arg] : -# 1279| r1279_7(int) = Load[int_arg] : &:r1279_6, ~m? -# 1279| r1279_8(int) = Constant[2] : -# 1279| r1279_9(int) = Add : r1279_7, r1279_8 -# 1279| v1279_10(void) = Call[static_member] : func:r1279_3, 0:r1279_5, 1:r1279_9 -# 1279| mu1279_11(unknown) = ^CallSideEffect : ~m? -# 1279| v1279_12(void) = ^BufferReadSideEffect[0] : &:r1279_5, ~m? -# 1279| mu1279_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_5 -# 1280| r1280_1(glval) = VariableAddress[a_arg] : -# 1280| r1280_2(A *) = Load[a_arg] : &:r1280_1, ~m? -# 1280| r1280_3(glval) = CopyValue : r1280_2 -# 1280| r1280_4(glval) = FunctionAddress[static_member] : -# 1280| r1280_5(glval) = VariableAddress[a] : -# 1280| r1280_6(A *) = CopyValue : r1280_5 -# 1280| r1280_7(int) = Constant[99] : -# 1280| v1280_8(void) = Call[static_member] : func:r1280_4, 0:r1280_6, 1:r1280_7 -# 1280| mu1280_9(unknown) = ^CallSideEffect : ~m? -# 1280| v1280_10(void) = ^BufferReadSideEffect[0] : &:r1280_6, ~m? -# 1280| mu1280_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1280_6 -# 1281| r1281_1(glval) = VariableAddress[a_arg] : -# 1281| r1281_2(A *) = Load[a_arg] : &:r1281_1, ~m? +# 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 : + +# 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 : + +# 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 : + +# 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(int) = Constant[-1] : -# 1281| v1281_7(void) = Call[static_member] : func:r1281_3, 0:r1281_5, 1:r1281_6 -# 1281| mu1281_8(unknown) = ^CallSideEffect : ~m? -# 1281| v1281_9(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~m? -# 1281| mu1281_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5 -# 1283| r1283_1(glval) = VariableAddress[a] : -# 1283| r1283_2(glval) = FunctionAddress[static_member_without_def] : -# 1283| v1283_3(void) = Call[static_member_without_def] : func:r1283_2 -# 1283| mu1283_4(unknown) = ^CallSideEffect : ~m? -# 1284| r1284_1(glval) = FunctionAddress[static_member_without_def] : -# 1284| v1284_2(void) = Call[static_member_without_def] : func:r1284_1 -# 1284| mu1284_3(unknown) = ^CallSideEffect : ~m? -# 1286| r1286_1(glval) = FunctionAddress[getAnInstanceOfA] : -# 1286| r1286_2(A *) = Call[getAnInstanceOfA] : func:r1286_1 +# 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? -# 1286| r1286_4(glval) = FunctionAddress[static_member_without_def] : -# 1286| v1286_5(void) = Call[static_member_without_def] : func:r1286_4 -# 1286| mu1286_6(unknown) = ^CallSideEffect : ~m? -# 1287| v1287_1(void) = NoOp : -# 1270| v1270_10(void) = ReturnIndirection[a_arg] : &:r1270_8, ~m? -# 1270| v1270_11(void) = ReturnVoid : -# 1270| v1270_12(void) = AliasedUse : ~m? -# 1270| v1270_13(void) = ExitFunction : - -# 1289| int missingReturnValue(bool, int) -# 1289| Block 0 -# 1289| v1289_1(void) = EnterFunction : -# 1289| mu1289_2(unknown) = AliasedDefinition : -# 1289| mu1289_3(unknown) = InitializeNonLocal : -# 1289| r1289_4(glval) = VariableAddress[b] : -# 1289| mu1289_5(bool) = InitializeParameter[b] : &:r1289_4 -# 1289| r1289_6(glval) = VariableAddress[x] : -# 1289| mu1289_7(int) = InitializeParameter[x] : &:r1289_6 -# 1290| r1290_1(glval) = VariableAddress[b] : -# 1290| r1290_2(bool) = Load[b] : &:r1290_1, ~m? -# 1290| v1290_3(void) = ConditionalBranch : r1290_2 +# 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 : +# 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 : + +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1289| Block 1 -# 1289| r1289_8(glval) = VariableAddress[#return] : -# 1289| v1289_9(void) = ReturnValue : &:r1289_8, ~m? -# 1289| v1289_10(void) = AliasedUse : ~m? -# 1289| v1289_11(void) = ExitFunction : - -# 1291| Block 2 -# 1291| r1291_1(glval) = VariableAddress[#return] : -# 1291| r1291_2(glval) = VariableAddress[x] : -# 1291| r1291_3(int) = Load[x] : &:r1291_2, ~m? -# 1291| mu1291_4(int) = Store[#return] : &:r1291_1, r1291_3 -#-----| Goto -> Block 1 +# 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 : -# 1293| Block 3 +# 1293| Block 2 # 1293| r1293_1(glval) = VariableAddress[#return] : -# 1293| mu1293_2(int) = Uninitialized[#return] : &:r1293_1 +# 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 #-----| Goto -> Block 1 -# 1295| void returnVoid(int, int) -# 1295| Block 0 -# 1295| v1295_1(void) = EnterFunction : -# 1295| mu1295_2(unknown) = AliasedDefinition : -# 1295| mu1295_3(unknown) = InitializeNonLocal : -# 1295| r1295_4(glval) = VariableAddress[x] : -# 1295| mu1295_5(int) = InitializeParameter[x] : &:r1295_4 -# 1295| r1295_6(glval) = VariableAddress[y] : -# 1295| mu1295_7(int) = InitializeParameter[y] : &:r1295_6 -# 1296| r1296_1(glval) = FunctionAddress[IntegerOps] : -# 1296| r1296_2(glval) = VariableAddress[x] : -# 1296| r1296_3(int) = Load[x] : &:r1296_2, ~m? -# 1296| r1296_4(glval) = VariableAddress[y] : -# 1296| r1296_5(int) = Load[y] : &:r1296_4, ~m? -# 1296| v1296_6(void) = Call[IntegerOps] : func:r1296_1, 0:r1296_3, 1:r1296_5 -# 1296| mu1296_7(unknown) = ^CallSideEffect : ~m? -# 1296| v1296_8(void) = NoOp : -# 1295| v1295_8(void) = ReturnVoid : -# 1295| v1295_9(void) = AliasedUse : ~m? -# 1295| v1295_10(void) = ExitFunction : - -# 1299| void gccBinaryConditional(bool, int, long) -# 1299| Block 0 -# 1299| v1299_1(void) = EnterFunction : -# 1299| mu1299_2(unknown) = AliasedDefinition : -# 1299| mu1299_3(unknown) = InitializeNonLocal : -# 1299| r1299_4(glval) = VariableAddress[b] : -# 1299| mu1299_5(bool) = InitializeParameter[b] : &:r1299_4 -# 1299| r1299_6(glval) = VariableAddress[x] : -# 1299| mu1299_7(int) = InitializeParameter[x] : &:r1299_6 -# 1299| r1299_8(glval) = VariableAddress[y] : -# 1299| mu1299_9(long) = InitializeParameter[y] : &:r1299_8 -# 1300| r1300_1(glval) = VariableAddress[z] : -# 1300| r1300_2(glval) = VariableAddress[x] : -# 1300| r1300_3(int) = Load[x] : &:r1300_2, ~m? -# 1300| mu1300_4(int) = Store[z] : &:r1300_1, r1300_3 -# 1301| r1301_1(glval) = VariableAddress[b] : -# 1301| r1301_2(bool) = Load[b] : &:r1301_1, ~m? -# 1301| v1301_3(void) = ConditionalBranch : r1301_2 +# 1295| Block 3 +# 1295| r1295_1(glval) = VariableAddress[#return] : +# 1295| mu1295_2(int) = Uninitialized[#return] : &:r1295_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 : + +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1301| Block 1 -# 1301| r1301_4(glval) = VariableAddress[#temp1301:9] : -# 1301| r1301_5(int) = Load[#temp1301:9] : &:r1301_4, ~m? -# 1301| r1301_6(glval) = VariableAddress[z] : -# 1301| mu1301_7(int) = Store[z] : &:r1301_6, r1301_5 -# 1302| r1302_1(glval) = VariableAddress[b] : -# 1302| r1302_2(bool) = Load[b] : &:r1302_1, ~m? -# 1302| v1302_3(void) = ConditionalBranch : r1302_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 #-----| False -> Block 6 #-----| True -> Block 5 -# 1301| Block 2 -# 1301| r1301_8(glval) = VariableAddress[#temp1301:9] : -# 1301| mu1301_9(int) = Store[#temp1301:9] : &:r1301_8, r1301_2 +# 1303| Block 2 +# 1303| r1303_8(glval) = VariableAddress[#temp1303:9] : +# 1303| mu1303_9(int) = Store[#temp1303:9] : &:r1303_8, r1303_2 #-----| Goto -> Block 1 -# 1301| Block 3 -# 1301| r1301_10(glval) = VariableAddress[x] : -# 1301| r1301_11(int) = Load[x] : &:r1301_10, ~m? -# 1301| r1301_12(glval) = VariableAddress[#temp1301:9] : -# 1301| mu1301_13(int) = Store[#temp1301:9] : &:r1301_12, r1301_11 +# 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 #-----| Goto -> Block 1 -# 1302| Block 4 -# 1302| r1302_4(glval) = VariableAddress[#temp1302:9] : -# 1302| r1302_5(long) = Load[#temp1302:9] : &:r1302_4, ~m? -# 1302| r1302_6(int) = Convert : r1302_5 -# 1302| r1302_7(glval) = VariableAddress[z] : -# 1302| mu1302_8(int) = Store[z] : &:r1302_7, r1302_6 -# 1303| r1303_1(glval) = VariableAddress[x] : -# 1303| r1303_2(int) = Load[x] : &:r1303_1, ~m? -# 1303| r1303_3(int) = Constant[0] : -# 1303| r1303_4(bool) = CompareNE : r1303_2, r1303_3 -# 1303| v1303_5(void) = ConditionalBranch : r1303_4 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 1302| Block 5 -# 1302| r1302_9(glval) = VariableAddress[#temp1302:9] : -# 1302| mu1302_10(long) = Store[#temp1302:9] : &:r1302_9, r1302_2 +# 1304| Block 5 +# 1304| r1304_9(glval) = VariableAddress[#temp1304:9] : +# 1304| mu1304_10(long) = Store[#temp1304:9] : &:r1304_9, r1304_2 #-----| Goto -> Block 4 -# 1302| Block 6 -# 1302| r1302_11(glval) = VariableAddress[y] : -# 1302| r1302_12(long) = Load[y] : &:r1302_11, ~m? -# 1302| r1302_13(glval) = VariableAddress[#temp1302:9] : -# 1302| mu1302_14(long) = Store[#temp1302:9] : &:r1302_13, r1302_12 +# 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 #-----| Goto -> Block 4 -# 1303| Block 7 -# 1303| r1303_6(glval) = VariableAddress[#temp1303:9] : -# 1303| r1303_7(int) = Load[#temp1303:9] : &:r1303_6, ~m? -# 1303| r1303_8(glval) = VariableAddress[z] : -# 1303| mu1303_9(int) = Store[z] : &:r1303_8, r1303_7 -# 1304| r1304_1(glval) = VariableAddress[x] : -# 1304| r1304_2(int) = Load[x] : &:r1304_1, ~m? -# 1304| r1304_3(int) = Constant[0] : -# 1304| r1304_4(bool) = CompareNE : r1304_2, r1304_3 -# 1304| v1304_5(void) = ConditionalBranch : r1304_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 #-----| False -> Block 12 #-----| True -> Block 11 -# 1303| Block 8 -# 1303| r1303_10(glval) = VariableAddress[#temp1303:9] : -# 1303| mu1303_11(int) = Store[#temp1303:9] : &:r1303_10, r1303_2 +# 1305| Block 8 +# 1305| r1305_10(glval) = VariableAddress[#temp1305:9] : +# 1305| mu1305_11(int) = Store[#temp1305:9] : &:r1305_10, r1305_2 #-----| Goto -> Block 7 -# 1303| Block 9 -# 1303| r1303_12(glval) = VariableAddress[x] : -# 1303| r1303_13(int) = Load[x] : &:r1303_12, ~m? -# 1303| r1303_14(glval) = VariableAddress[#temp1303:9] : -# 1303| mu1303_15(int) = Store[#temp1303:9] : &:r1303_14, r1303_13 +# 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 #-----| Goto -> Block 7 -# 1304| Block 10 -# 1304| r1304_6(glval) = VariableAddress[#temp1304:9] : -# 1304| r1304_7(long) = Load[#temp1304:9] : &:r1304_6, ~m? -# 1304| r1304_8(int) = Convert : r1304_7 -# 1304| r1304_9(glval) = VariableAddress[z] : -# 1304| mu1304_10(int) = Store[z] : &:r1304_9, r1304_8 -# 1305| r1305_1(glval) = VariableAddress[y] : -# 1305| r1305_2(long) = Load[y] : &:r1305_1, ~m? -# 1305| r1305_3(long) = Constant[0] : -# 1305| r1305_4(bool) = CompareNE : r1305_2, r1305_3 -# 1305| v1305_5(void) = ConditionalBranch : r1305_4 +# 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 #-----| False -> Block 15 #-----| True -> Block 14 -# 1304| Block 11 -# 1304| r1304_11(glval) = VariableAddress[#temp1304:9] : -# 1304| mu1304_12(long) = Store[#temp1304:9] : &:r1304_11, r1304_2 +# 1306| Block 11 +# 1306| r1306_11(glval) = VariableAddress[#temp1306:9] : +# 1306| mu1306_12(long) = Store[#temp1306:9] : &:r1306_11, r1306_2 #-----| Goto -> Block 10 -# 1304| Block 12 -# 1304| r1304_13(glval) = VariableAddress[y] : -# 1304| r1304_14(long) = Load[y] : &:r1304_13, ~m? -# 1304| r1304_15(glval) = VariableAddress[#temp1304:9] : -# 1304| mu1304_16(long) = Store[#temp1304:9] : &:r1304_15, r1304_14 +# 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 #-----| Goto -> Block 10 -# 1305| Block 13 -# 1305| r1305_6(glval) = VariableAddress[#temp1305:9] : -# 1305| r1305_7(long) = Load[#temp1305:9] : &:r1305_6, ~m? -# 1305| r1305_8(int) = Convert : r1305_7 -# 1305| r1305_9(glval) = VariableAddress[z] : -# 1305| mu1305_10(int) = Store[z] : &:r1305_9, r1305_8 -# 1306| r1306_1(glval) = VariableAddress[y] : -# 1306| r1306_2(long) = Load[y] : &:r1306_1, ~m? -# 1306| r1306_3(long) = Constant[0] : -# 1306| r1306_4(bool) = CompareNE : r1306_2, r1306_3 -# 1306| v1306_5(void) = ConditionalBranch : r1306_4 +# 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 #-----| False -> Block 18 #-----| True -> Block 17 -# 1305| Block 14 -# 1305| r1305_11(glval) = VariableAddress[#temp1305:9] : -# 1305| mu1305_12(long) = Store[#temp1305:9] : &:r1305_11, r1305_2 +# 1307| Block 14 +# 1307| r1307_11(glval) = VariableAddress[#temp1307:9] : +# 1307| mu1307_12(long) = Store[#temp1307:9] : &:r1307_11, r1307_2 #-----| Goto -> Block 13 -# 1305| Block 15 -# 1305| r1305_13(glval) = VariableAddress[x] : -# 1305| r1305_14(int) = Load[x] : &:r1305_13, ~m? -# 1305| r1305_15(long) = Convert : r1305_14 -# 1305| r1305_16(glval) = VariableAddress[#temp1305:9] : -# 1305| mu1305_17(long) = Store[#temp1305:9] : &:r1305_16, r1305_15 +# 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 #-----| Goto -> Block 13 -# 1306| Block 16 -# 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 -# 1308| r1308_1(glval) = VariableAddress[x] : -# 1308| r1308_2(int) = Load[x] : &:r1308_1, ~m? -# 1308| r1308_3(int) = Constant[0] : -# 1308| r1308_4(bool) = CompareNE : r1308_2, r1308_3 -# 1308| v1308_5(void) = ConditionalBranch : r1308_4 +# 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 #-----| False -> Block 25 #-----| True -> Block 24 -# 1306| Block 17 -# 1306| r1306_11(glval) = VariableAddress[#temp1306:9] : -# 1306| mu1306_12(long) = Store[#temp1306:9] : &:r1306_11, r1306_2 +# 1308| Block 17 +# 1308| r1308_11(glval) = VariableAddress[#temp1308:9] : +# 1308| mu1308_12(long) = Store[#temp1308:9] : &:r1308_11, r1308_2 #-----| Goto -> Block 16 -# 1306| Block 18 -# 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 +# 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 #-----| Goto -> Block 16 -# 1308| Block 19 -# 1308| r1308_6(glval) = VariableAddress[#temp1308:9] : -# 1308| r1308_7(int) = Load[#temp1308:9] : &:r1308_6, ~m? -# 1308| r1308_8(glval) = VariableAddress[z] : -# 1308| mu1308_9(int) = Store[z] : &:r1308_8, r1308_7 -# 1309| v1309_1(void) = NoOp : -# 1299| v1299_10(void) = ReturnVoid : -# 1299| v1299_11(void) = AliasedUse : ~m? -# 1299| v1299_12(void) = ExitFunction : - -# 1308| Block 20 -# 1308| r1308_10(glval) = VariableAddress[#temp1308:9] : -# 1308| mu1308_11(int) = Store[#temp1308:9] : &:r1308_10, r1308_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 : + +# 1310| Block 20 +# 1310| r1310_10(glval) = VariableAddress[#temp1310:9] : +# 1310| mu1310_11(int) = Store[#temp1310:9] : &:r1310_10, r1310_16 #-----| Goto -> Block 19 -# 1308| Block 21 -# 1308| r1308_12(glval) = VariableAddress[#temp1308:10] : -# 1308| r1308_13(bool) = Constant[0] : -# 1308| mu1308_14(bool) = Store[#temp1308:10] : &:r1308_12, r1308_13 +# 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 #-----| Goto -> Block 22 -# 1308| Block 22 -# 1308| r1308_15(glval) = VariableAddress[#temp1308:10] : -# 1308| r1308_16(bool) = Load[#temp1308:10] : &:r1308_15, ~m? -# 1308| v1308_17(void) = ConditionalBranch : r1308_16 +# 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 #-----| False -> Block 26 #-----| True -> Block 20 -# 1308| Block 23 -# 1308| r1308_18(glval) = VariableAddress[#temp1308:10] : -# 1308| r1308_19(bool) = Constant[1] : -# 1308| mu1308_20(bool) = Store[#temp1308:10] : &:r1308_18, r1308_19 +# 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 #-----| Goto -> Block 22 -# 1308| Block 24 -# 1308| r1308_21(glval) = VariableAddress[b] : -# 1308| r1308_22(bool) = Load[b] : &:r1308_21, ~m? -# 1308| v1308_23(void) = ConditionalBranch : r1308_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 #-----| False -> Block 25 #-----| True -> Block 23 -# 1308| Block 25 -# 1308| r1308_24(glval) = VariableAddress[y] : -# 1308| r1308_25(long) = Load[y] : &:r1308_24, ~m? -# 1308| r1308_26(long) = Constant[0] : -# 1308| r1308_27(bool) = CompareNE : r1308_25, r1308_26 -# 1308| v1308_28(void) = ConditionalBranch : r1308_27 +# 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 #-----| False -> Block 21 #-----| True -> Block 23 -# 1308| Block 26 -# 1308| r1308_29(glval) = VariableAddress[x] : -# 1308| r1308_30(int) = Load[x] : &:r1308_29, ~m? -# 1308| r1308_31(glval) = VariableAddress[#temp1308:9] : -# 1308| mu1308_32(int) = Store[#temp1308:9] : &:r1308_31, r1308_30 +# 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 #-----| Goto -> Block 19 -# 1314| int shortCircuitConditional(int, int) -# 1314| Block 0 -# 1314| v1314_1(void) = EnterFunction : -# 1314| mu1314_2(unknown) = AliasedDefinition : -# 1314| mu1314_3(unknown) = InitializeNonLocal : -# 1314| r1314_4(glval) = VariableAddress[x] : -# 1314| mu1314_5(int) = InitializeParameter[x] : &:r1314_4 -# 1314| r1314_6(glval) = VariableAddress[y] : -# 1314| mu1314_7(int) = InitializeParameter[y] : &:r1314_6 -# 1315| r1315_1(glval) = VariableAddress[#return] : -# 1315| r1315_2(glval) = FunctionAddress[predicateA] : -# 1315| r1315_3(bool) = Call[predicateA] : func:r1315_2 -# 1315| mu1315_4(unknown) = ^CallSideEffect : ~m? -# 1315| v1315_5(void) = ConditionalBranch : r1315_3 +# 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 #-----| False -> Block 4 #-----| True -> Block 2 -# 1315| Block 1 -# 1315| r1315_6(glval) = VariableAddress[#temp1315:12] : -# 1315| r1315_7(int) = Load[#temp1315:12] : &:r1315_6, ~m? -# 1315| mu1315_8(int) = Store[#return] : &:r1315_1, r1315_7 -# 1314| r1314_8(glval) = VariableAddress[#return] : -# 1314| v1314_9(void) = ReturnValue : &:r1314_8, ~m? -# 1314| v1314_10(void) = AliasedUse : ~m? -# 1314| v1314_11(void) = ExitFunction : - -# 1315| Block 2 -# 1315| r1315_9(glval) = FunctionAddress[predicateB] : -# 1315| r1315_10(bool) = Call[predicateB] : func:r1315_9 -# 1315| mu1315_11(unknown) = ^CallSideEffect : ~m? -# 1315| v1315_12(void) = ConditionalBranch : r1315_10 +# 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 : + +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1315| Block 3 -# 1315| r1315_13(glval) = VariableAddress[x] : -# 1315| r1315_14(int) = Load[x] : &:r1315_13, ~m? -# 1315| r1315_15(glval) = VariableAddress[#temp1315:12] : -# 1315| mu1315_16(int) = Store[#temp1315:12] : &:r1315_15, r1315_14 +# 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 #-----| Goto -> Block 1 -# 1315| Block 4 -# 1315| r1315_17(glval) = VariableAddress[y] : -# 1315| r1315_18(int) = Load[y] : &:r1315_17, ~m? -# 1315| r1315_19(glval) = VariableAddress[#temp1315:12] : -# 1315| mu1315_20(int) = Store[#temp1315:12] : &:r1315_19, r1315_18 +# 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 #-----| Goto -> Block 1 -# 1320| void f(int*) -# 1320| Block 0 -# 1320| v1320_1(void) = EnterFunction : -# 1320| mu1320_2(unknown) = AliasedDefinition : -# 1320| mu1320_3(unknown) = InitializeNonLocal : -# 1320| r1320_4(glval) = VariableAddress[p] : -# 1320| mu1320_5(int *) = InitializeParameter[p] : &:r1320_4 -# 1320| r1320_6(int *) = Load[p] : &:r1320_4, ~m? -# 1320| mu1320_7(unknown) = InitializeIndirection[p] : &:r1320_6 -# 1322| r1322_1(glval) = FunctionAddress[operator new] : -# 1322| r1322_2(unsigned long) = Constant[4] : -# 1322| r1322_3(glval) = VariableAddress[p] : -# 1322| r1322_4(int *) = Load[p] : &:r1322_3, ~m? -# 1322| r1322_5(void *) = Convert : r1322_4 -# 1322| r1322_6(void *) = Call[operator new] : func:r1322_1, 0:r1322_2, 1:r1322_5 -# 1322| mu1322_7(unknown) = ^CallSideEffect : ~m? -# 1322| mu1322_8(unknown) = ^InitializeDynamicAllocation : &:r1322_6 -# 1322| r1322_9(int *) = Convert : r1322_6 -# 1323| v1323_1(void) = NoOp : -# 1320| v1320_8(void) = ReturnIndirection[p] : &:r1320_6, ~m? -# 1320| v1320_9(void) = ReturnVoid : -# 1320| v1320_10(void) = AliasedUse : ~m? -# 1320| v1320_11(void) = ExitFunction : - -# 1326| Point defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| mu1326_2(unknown) = AliasedDefinition : -# 1326| mu1326_3(unknown) = InitializeNonLocal : -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| r1327_2(Point) = Constant[0] : -# 1327| mu1327_3(Point) = Store[#return] : &:r1327_1, r1327_2 -# 1326| r1326_4(glval) = VariableAddress[#return] : -# 1326| v1326_5(void) = ReturnValue : &:r1326_4, ~m? -# 1326| v1326_6(void) = AliasedUse : ~m? -# 1326| v1326_7(void) = ExitFunction : - -# 1326| String defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| mu1326_2(unknown) = AliasedDefinition : -# 1326| mu1326_3(unknown) = InitializeNonLocal : -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| mu1327_2(String) = Uninitialized[#return] : &:r1327_1 -# 1327| r1327_3(glval) = FunctionAddress[String] : -# 1327| v1327_4(void) = Call[String] : func:r1327_3, this:r1327_1 -# 1327| mu1327_5(unknown) = ^CallSideEffect : ~m? -# 1327| mu1327_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1327_1 -# 1326| r1326_4(glval) = VariableAddress[#return] : -# 1326| v1326_5(void) = ReturnValue : &:r1326_4, ~m? -# 1326| v1326_6(void) = AliasedUse : ~m? -# 1326| v1326_7(void) = ExitFunction : - -# 1326| copy_constructor defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| mu1326_2(unknown) = AliasedDefinition : -# 1326| mu1326_3(unknown) = InitializeNonLocal : -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| mu1327_2(copy_constructor) = Uninitialized[#return] : &:r1327_1 -# 1327| r1327_3(glval) = FunctionAddress[copy_constructor] : -# 1327| v1327_4(void) = Call[copy_constructor] : func:r1327_3, this:r1327_1 -# 1327| mu1327_5(unknown) = ^CallSideEffect : ~m? -# 1327| mu1327_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1327_1 -# 1326| r1326_4(glval) = VariableAddress[#return] : -# 1326| v1326_5(void) = ReturnValue : &:r1326_4, ~m? -# 1326| v1326_6(void) = AliasedUse : ~m? -# 1326| v1326_7(void) = ExitFunction : - -# 1326| destructor_only defaultConstruct() -# 1326| Block 0 -# 1326| v1326_1(void) = EnterFunction : -# 1326| mu1326_2(unknown) = AliasedDefinition : -# 1326| mu1326_3(unknown) = InitializeNonLocal : -# 1327| r1327_1(glval) = VariableAddress[#return] : -# 1327| r1327_2(destructor_only) = Constant[0] : -# 1327| mu1327_3(destructor_only) = Store[#return] : &:r1327_1, r1327_2 -# 1326| r1326_4(glval) = VariableAddress[#return] : -# 1326| v1326_5(void) = ReturnValue : &:r1326_4, ~m? -# 1326| v1326_6(void) = AliasedUse : ~m? -# 1326| v1326_7(void) = ExitFunction : - -# 1365| void temporary_string() -# 1365| Block 0 -# 1365| v1365_1(void) = EnterFunction : -# 1365| mu1365_2(unknown) = AliasedDefinition : -# 1365| mu1365_3(unknown) = InitializeNonLocal : -# 1366| r1366_1(glval) = VariableAddress[s] : -# 1366| r1366_2(glval) = FunctionAddress[returnValue] : -# 1366| r1366_3(String) = Call[returnValue] : func:r1366_2 -# 1366| mu1366_4(unknown) = ^CallSideEffect : ~m? -# 1366| mu1366_5(String) = Store[s] : &:r1366_1, r1366_3 -# 1367| r1367_1(glval) = VariableAddress[rs] : -# 1367| r1367_2(glval) = VariableAddress[#temp1367:24] : -# 1367| r1367_3(glval) = FunctionAddress[returnValue] : -# 1367| r1367_4(String) = Call[returnValue] : func:r1367_3 -# 1367| mu1367_5(unknown) = ^CallSideEffect : ~m? -# 1367| mu1367_6(String) = Store[#temp1367:24] : &:r1367_2, r1367_4 -# 1367| r1367_7(glval) = Convert : r1367_2 -# 1367| r1367_8(String &) = CopyValue : r1367_7 -# 1367| mu1367_9(String &) = Store[rs] : &:r1367_1, r1367_8 -# 1369| r1369_1(glval) = FunctionAddress[acceptRef] : -# 1369| r1369_2(glval) = VariableAddress[s] : -# 1369| r1369_3(glval) = Convert : r1369_2 -# 1369| r1369_4(String &) = CopyValue : r1369_3 -# 1369| v1369_5(void) = Call[acceptRef] : func:r1369_1, 0:r1369_4 -# 1369| mu1369_6(unknown) = ^CallSideEffect : ~m? -# 1369| v1369_7(void) = ^BufferReadSideEffect[0] : &:r1369_4, ~m? -# 1370| r1370_1(glval) = FunctionAddress[acceptRef] : -# 1370| r1370_2(glval) = VariableAddress[#temp1370:23] : -# 1370| mu1370_3(String) = Uninitialized[#temp1370:23] : &:r1370_2 -# 1370| r1370_4(glval) = FunctionAddress[String] : -# 1370| r1370_5(glval) = StringConstant["foo"] : -# 1370| r1370_6(char *) = Convert : r1370_5 -# 1370| v1370_7(void) = Call[String] : func:r1370_4, this:r1370_2, 0:r1370_6 -# 1370| mu1370_8(unknown) = ^CallSideEffect : ~m? -# 1370| v1370_9(void) = ^BufferReadSideEffect[0] : &:r1370_6, ~m? -# 1370| mu1370_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r1370_2 -# 1370| r1370_11(String &) = CopyValue : r1370_2 -# 1370| v1370_12(void) = Call[acceptRef] : func:r1370_1, 0:r1370_11 -# 1370| mu1370_13(unknown) = ^CallSideEffect : ~m? -# 1370| v1370_14(void) = ^BufferReadSideEffect[0] : &:r1370_11, ~m? -# 1371| r1371_1(glval) = FunctionAddress[acceptValue] : -# 1371| r1371_2(glval) = VariableAddress[#temp1371:17] : -# 1371| mu1371_3(String) = Uninitialized[#temp1371:17] : &:r1371_2 -# 1371| r1371_4(glval) = FunctionAddress[String] : -# 1371| r1371_5(glval) = VariableAddress[s] : -# 1371| r1371_6(glval) = Convert : r1371_5 -# 1371| r1371_7(String &) = CopyValue : r1371_6 -# 1371| v1371_8(void) = Call[String] : func:r1371_4, this:r1371_2, 0:r1371_7 -# 1371| mu1371_9(unknown) = ^CallSideEffect : ~m? -# 1371| v1371_10(void) = ^BufferReadSideEffect[0] : &:r1371_7, ~m? -# 1371| mu1371_11(String) = ^IndirectMayWriteSideEffect[-1] : &:r1371_2 -# 1371| r1371_12(String) = Load[#temp1371:17] : &:r1371_2, ~m? -# 1371| v1371_13(void) = Call[acceptValue] : func:r1371_1, 0:r1371_12 -# 1371| mu1371_14(unknown) = ^CallSideEffect : ~m? -# 1372| r1372_1(glval) = FunctionAddress[acceptValue] : -# 1372| r1372_2(glval) = VariableAddress[#temp1372:25] : -# 1372| mu1372_3(String) = Uninitialized[#temp1372:25] : &:r1372_2 +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 @@ -7791,985 +7763,993 @@ ir.cpp: # 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) = Load[#temp1372:25] : &:r1372_2, ~m? -# 1372| v1372_12(void) = Call[acceptValue] : func:r1372_1, 0:r1372_11 +# 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? -# 1373| r1373_1(glval) = VariableAddress[#temp1373:5] : -# 1373| mu1373_2(String) = Uninitialized[#temp1373:5] : &:r1373_1 -# 1373| r1373_3(glval) = FunctionAddress[String] : -# 1373| v1373_4(void) = Call[String] : func:r1373_3, this:r1373_1 -# 1373| mu1373_5(unknown) = ^CallSideEffect : ~m? -# 1373| mu1373_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r1373_1 -# 1373| r1373_7(glval) = Convert : r1373_1 -# 1373| r1373_8(glval) = FunctionAddress[c_str] : -# 1373| r1373_9(char *) = Call[c_str] : func:r1373_8, this:r1373_7 -# 1373| mu1373_10(unknown) = ^CallSideEffect : ~m? -# 1373| v1373_11(void) = ^IndirectReadSideEffect[-1] : &:r1373_7, ~m? -# 1374| r1374_1(glval) = VariableAddress[#temp1374:5] : -# 1374| r1374_2(glval) = FunctionAddress[returnValue] : -# 1374| r1374_3(String) = Call[returnValue] : func:r1374_2 -# 1374| mu1374_4(unknown) = ^CallSideEffect : ~m? -# 1374| mu1374_5(String) = Store[#temp1374:5] : &:r1374_1, r1374_3 -# 1374| r1374_6(glval) = Convert : r1374_1 -# 1374| r1374_7(glval) = FunctionAddress[c_str] : -# 1374| r1374_8(char *) = Call[c_str] : func:r1374_7, this:r1374_6 -# 1374| mu1374_9(unknown) = ^CallSideEffect : ~m? -# 1374| v1374_10(void) = ^IndirectReadSideEffect[-1] : &:r1374_6, ~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[defaultConstruct] : -# 1376| r1376_3(String) = Call[defaultConstruct] : func:r1376_2 +# 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 -# 1377| v1377_1(void) = NoOp : -# 1365| v1365_4(void) = ReturnVoid : -# 1365| v1365_5(void) = AliasedUse : ~m? -# 1365| v1365_6(void) = ExitFunction : - -# 1379| void temporary_destructor_only() -# 1379| Block 0 -# 1379| v1379_1(void) = EnterFunction : -# 1379| mu1379_2(unknown) = AliasedDefinition : -# 1379| mu1379_3(unknown) = InitializeNonLocal : -# 1380| r1380_1(glval) = VariableAddress[d] : -# 1380| r1380_2(glval) = FunctionAddress[returnValue] : -# 1380| r1380_3(destructor_only) = Call[returnValue] : func:r1380_2 -# 1380| mu1380_4(unknown) = ^CallSideEffect : ~m? -# 1380| mu1380_5(destructor_only) = Store[d] : &:r1380_1, r1380_3 -# 1381| r1381_1(glval) = VariableAddress[rd] : -# 1381| r1381_2(glval) = VariableAddress[#temp1381:33] : -# 1381| r1381_3(glval) = FunctionAddress[returnValue] : -# 1381| r1381_4(destructor_only) = Call[returnValue] : func:r1381_3 -# 1381| mu1381_5(unknown) = ^CallSideEffect : ~m? -# 1381| mu1381_6(destructor_only) = Store[#temp1381:33] : &:r1381_2, r1381_4 -# 1381| r1381_7(glval) = Convert : r1381_2 -# 1381| r1381_8(destructor_only &) = CopyValue : r1381_7 -# 1381| mu1381_9(destructor_only &) = Store[rd] : &:r1381_1, r1381_8 -# 1382| r1382_1(glval) = VariableAddress[d2] : -# 1382| mu1382_2(destructor_only) = Uninitialized[d2] : &:r1382_1 -# 1383| r1383_1(glval) = FunctionAddress[acceptRef] : -# 1383| r1383_2(glval) = VariableAddress[d] : -# 1383| r1383_3(glval) = Convert : r1383_2 -# 1383| r1383_4(destructor_only &) = CopyValue : r1383_3 -# 1383| v1383_5(void) = Call[acceptRef] : func:r1383_1, 0:r1383_4 -# 1383| mu1383_6(unknown) = ^CallSideEffect : ~m? -# 1383| v1383_7(void) = ^BufferReadSideEffect[0] : &:r1383_4, ~m? -# 1384| r1384_1(glval) = FunctionAddress[acceptValue] : -# 1384| r1384_2(glval) = VariableAddress[#temp1384:17] : -# 1384| r1384_3(glval) = VariableAddress[d] : -# 1384| r1384_4(destructor_only) = Load[d] : &:r1384_3, ~m? -# 1384| mu1384_5(destructor_only) = Store[#temp1384:17] : &:r1384_2, r1384_4 -# 1384| r1384_6(destructor_only) = Load[#temp1384:17] : &:r1384_2, ~m? -# 1384| v1384_7(void) = Call[acceptValue] : func:r1384_1, 0:r1384_6 -# 1384| mu1384_8(unknown) = ^CallSideEffect : ~m? -# 1385| r1385_1(glval) = VariableAddress[#temp1385:5] : -# 1385| r1385_2(destructor_only) = Constant[0] : -# 1385| mu1385_3(destructor_only) = Store[#temp1385:5] : &:r1385_1, r1385_2 -# 1385| r1385_4(glval) = FunctionAddress[method] : -# 1385| v1385_5(void) = Call[method] : func:r1385_4, this:r1385_1 +# 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 : +# 1367| v1367_4(void) = ReturnVoid : +# 1367| v1367_5(void) = AliasedUse : ~m? +# 1367| v1367_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) = ^IndirectReadSideEffect[-1] : &:r1385_1, ~m? -# 1385| mu1385_8(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1385_1 -# 1386| r1386_1(glval) = VariableAddress[#temp1386:5] : -# 1386| r1386_2(glval) = FunctionAddress[returnValue] : -# 1386| r1386_3(destructor_only) = Call[returnValue] : func:r1386_2 -# 1386| mu1386_4(unknown) = ^CallSideEffect : ~m? -# 1386| mu1386_5(destructor_only) = Store[#temp1386:5] : &:r1386_1, r1386_3 -# 1386| r1386_6(glval) = FunctionAddress[method] : -# 1386| v1386_7(void) = Call[method] : func:r1386_6, this:r1386_1 +# 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? -# 1386| v1386_9(void) = ^IndirectReadSideEffect[-1] : &:r1386_1, ~m? -# 1386| mu1386_10(destructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1386_1 +# 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[defaultConstruct] : -# 1388| r1388_3(destructor_only) = Call[defaultConstruct] : func:r1388_2 +# 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 -# 1389| v1389_1(void) = NoOp : -# 1379| v1379_4(void) = ReturnVoid : -# 1379| v1379_5(void) = AliasedUse : ~m? -# 1379| v1379_6(void) = ExitFunction : - -# 1391| void temporary_copy_constructor() -# 1391| Block 0 -# 1391| v1391_1(void) = EnterFunction : -# 1391| mu1391_2(unknown) = AliasedDefinition : -# 1391| mu1391_3(unknown) = InitializeNonLocal : -# 1392| r1392_1(glval) = VariableAddress[d] : -# 1392| r1392_2(glval) = FunctionAddress[returnValue] : -# 1392| r1392_3(copy_constructor) = Call[returnValue] : func:r1392_2 -# 1392| mu1392_4(unknown) = ^CallSideEffect : ~m? -# 1392| mu1392_5(copy_constructor) = Store[d] : &:r1392_1, r1392_3 -# 1393| r1393_1(glval) = VariableAddress[rd] : -# 1393| r1393_2(glval) = VariableAddress[#temp1393:34] : -# 1393| r1393_3(glval) = FunctionAddress[returnValue] : -# 1393| r1393_4(copy_constructor) = Call[returnValue] : func:r1393_3 -# 1393| mu1393_5(unknown) = ^CallSideEffect : ~m? -# 1393| mu1393_6(copy_constructor) = Store[#temp1393:34] : &:r1393_2, r1393_4 -# 1393| r1393_7(glval) = Convert : r1393_2 -# 1393| r1393_8(copy_constructor &) = CopyValue : r1393_7 -# 1393| mu1393_9(copy_constructor &) = Store[rd] : &:r1393_1, r1393_8 -# 1394| r1394_1(glval) = VariableAddress[d2] : -# 1394| mu1394_2(copy_constructor) = Uninitialized[d2] : &:r1394_1 -# 1394| r1394_3(glval) = FunctionAddress[copy_constructor] : -# 1394| v1394_4(void) = Call[copy_constructor] : func:r1394_3, this:r1394_1 -# 1394| mu1394_5(unknown) = ^CallSideEffect : ~m? -# 1394| mu1394_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1394_1 -# 1395| r1395_1(glval) = FunctionAddress[acceptRef] : -# 1395| r1395_2(glval) = VariableAddress[d] : -# 1395| r1395_3(glval) = Convert : r1395_2 -# 1395| r1395_4(copy_constructor &) = CopyValue : r1395_3 -# 1395| v1395_5(void) = Call[acceptRef] : func:r1395_1, 0:r1395_4 -# 1395| mu1395_6(unknown) = ^CallSideEffect : ~m? -# 1395| v1395_7(void) = ^BufferReadSideEffect[0] : &:r1395_4, ~m? -# 1396| r1396_1(glval) = FunctionAddress[acceptValue] : -# 1396| r1396_2(glval) = VariableAddress[#temp1396:17] : -# 1396| mu1396_3(copy_constructor) = Uninitialized[#temp1396:17] : &:r1396_2 -# 1396| r1396_4(glval) = FunctionAddress[copy_constructor] : -# 1396| r1396_5(glval) = VariableAddress[d] : -# 1396| r1396_6(glval) = Convert : r1396_5 -# 1396| r1396_7(copy_constructor &) = CopyValue : r1396_6 -# 1396| v1396_8(void) = Call[copy_constructor] : func:r1396_4, this:r1396_2, 0:r1396_7 -# 1396| mu1396_9(unknown) = ^CallSideEffect : ~m? -# 1396| v1396_10(void) = ^BufferReadSideEffect[0] : &:r1396_7, ~m? -# 1396| mu1396_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1396_2 -# 1396| r1396_12(copy_constructor) = Load[#temp1396:17] : &:r1396_2, ~m? -# 1396| v1396_13(void) = Call[acceptValue] : func:r1396_1, 0:r1396_12 -# 1396| mu1396_14(unknown) = ^CallSideEffect : ~m? -# 1397| r1397_1(glval) = VariableAddress[#temp1397:5] : -# 1397| mu1397_2(copy_constructor) = Uninitialized[#temp1397:5] : &:r1397_1 -# 1397| r1397_3(glval) = FunctionAddress[copy_constructor] : -# 1397| v1397_4(void) = Call[copy_constructor] : func:r1397_3, this:r1397_1 -# 1397| mu1397_5(unknown) = ^CallSideEffect : ~m? -# 1397| mu1397_6(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1397_1 -# 1397| r1397_7(glval) = FunctionAddress[method] : -# 1397| v1397_8(void) = Call[method] : func:r1397_7, this:r1397_1 -# 1397| mu1397_9(unknown) = ^CallSideEffect : ~m? -# 1397| v1397_10(void) = ^IndirectReadSideEffect[-1] : &:r1397_1, ~m? -# 1397| mu1397_11(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1397_1 -# 1398| r1398_1(glval) = VariableAddress[#temp1398:5] : -# 1398| r1398_2(glval) = FunctionAddress[returnValue] : -# 1398| r1398_3(copy_constructor) = Call[returnValue] : func:r1398_2 -# 1398| mu1398_4(unknown) = ^CallSideEffect : ~m? -# 1398| mu1398_5(copy_constructor) = Store[#temp1398:5] : &:r1398_1, r1398_3 -# 1398| r1398_6(glval) = FunctionAddress[method] : -# 1398| v1398_7(void) = Call[method] : func:r1398_6, this:r1398_1 -# 1398| mu1398_8(unknown) = ^CallSideEffect : ~m? -# 1398| v1398_9(void) = ^IndirectReadSideEffect[-1] : &:r1398_1, ~m? -# 1398| mu1398_10(copy_constructor) = ^IndirectMayWriteSideEffect[-1] : &:r1398_1 +# 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 : +# 1381| v1381_4(void) = ReturnVoid : +# 1381| v1381_5(void) = AliasedUse : ~m? +# 1381| v1381_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| r1399_2(glval) = FunctionAddress[defaultConstruct] : -# 1399| r1399_3(copy_constructor) = Call[defaultConstruct] : func:r1399_2 -# 1399| mu1399_4(unknown) = ^CallSideEffect : ~m? -# 1399| mu1399_5(copy_constructor) = Store[#temp1399:5] : &:r1399_1, r1399_3 -# 1401| r1401_1(glval) = VariableAddress[y] : -# 1401| r1401_2(glval) = VariableAddress[#temp1401:13] : -# 1401| r1401_3(glval) = FunctionAddress[returnValue] : -# 1401| r1401_4(copy_constructor) = Call[returnValue] : func:r1401_3 -# 1401| mu1401_5(unknown) = ^CallSideEffect : ~m? -# 1401| mu1401_6(copy_constructor) = Store[#temp1401:13] : &:r1401_2, r1401_4 -# 1401| r1401_7(glval) = FieldAddress[y] : r1401_2 -# 1401| r1401_8(int) = Load[?] : &:r1401_7, ~m? -# 1401| mu1401_9(int) = Store[y] : &:r1401_1, r1401_8 -# 1402| v1402_1(void) = NoOp : -# 1391| v1391_4(void) = ReturnVoid : -# 1391| v1391_5(void) = AliasedUse : ~m? -# 1391| v1391_6(void) = ExitFunction : - -# 1404| void temporary_point() -# 1404| Block 0 -# 1404| v1404_1(void) = EnterFunction : -# 1404| mu1404_2(unknown) = AliasedDefinition : -# 1404| mu1404_3(unknown) = InitializeNonLocal : -# 1405| r1405_1(glval) = VariableAddress[p] : -# 1405| r1405_2(glval) = FunctionAddress[returnValue] : -# 1405| r1405_3(Point) = Call[returnValue] : func:r1405_2 -# 1405| mu1405_4(unknown) = ^CallSideEffect : ~m? -# 1405| mu1405_5(Point) = Store[p] : &:r1405_1, r1405_3 -# 1406| r1406_1(glval) = VariableAddress[rp] : -# 1406| r1406_2(glval) = VariableAddress[#temp1406:23] : -# 1406| r1406_3(glval) = FunctionAddress[returnValue] : -# 1406| r1406_4(Point) = Call[returnValue] : func:r1406_3 -# 1406| mu1406_5(unknown) = ^CallSideEffect : ~m? -# 1406| mu1406_6(Point) = Store[#temp1406:23] : &:r1406_2, r1406_4 -# 1406| r1406_7(glval) = Convert : r1406_2 -# 1406| r1406_8(Point &) = CopyValue : r1406_7 -# 1406| mu1406_9(Point &) = Store[rp] : &:r1406_1, r1406_8 -# 1408| r1408_1(glval) = FunctionAddress[acceptRef] : -# 1408| r1408_2(glval) = VariableAddress[p] : -# 1408| r1408_3(glval) = Convert : r1408_2 -# 1408| r1408_4(Point &) = CopyValue : r1408_3 -# 1408| v1408_5(void) = Call[acceptRef] : func:r1408_1, 0:r1408_4 -# 1408| mu1408_6(unknown) = ^CallSideEffect : ~m? -# 1408| v1408_7(void) = ^BufferReadSideEffect[0] : &:r1408_4, ~m? -# 1409| r1409_1(glval) = FunctionAddress[acceptValue] : -# 1409| r1409_2(glval) = VariableAddress[p] : -# 1409| r1409_3(Point) = Load[p] : &:r1409_2, ~m? -# 1409| v1409_4(void) = Call[acceptValue] : func:r1409_1, 0:r1409_3 -# 1409| mu1409_5(unknown) = ^CallSideEffect : ~m? -# 1410| r1410_1(int) = Constant[0] : -# 1411| r1411_1(glval) = VariableAddress[y] : -# 1411| r1411_2(glval) = FunctionAddress[returnValue] : -# 1411| r1411_3(Point) = Call[returnValue] : func:r1411_2 -# 1411| mu1411_4(unknown) = ^CallSideEffect : ~m? -# 1411| r1411_5(glval) = VariableAddress[#temp1411:13] : -# 1411| mu1411_6(Point) = Store[#temp1411:13] : &:r1411_5, r1411_3 -# 1411| r1411_7(glval) = FieldAddress[y] : r1411_5 -# 1411| r1411_8(int) = Load[?] : &:r1411_7, ~m? -# 1411| mu1411_9(int) = Store[y] : &:r1411_1, r1411_8 -# 1413| r1413_1(glval) = FunctionAddress[defaultConstruct] : -# 1413| r1413_2(Point) = Call[defaultConstruct] : func:r1413_1 -# 1413| mu1413_3(unknown) = ^CallSideEffect : ~m? -# 1414| v1414_1(void) = NoOp : -# 1404| v1404_4(void) = ReturnVoid : -# 1404| v1404_5(void) = AliasedUse : ~m? -# 1404| v1404_6(void) = ExitFunction : - -# 1421| void temporary_unusual_fields() -# 1421| Block 0 -# 1421| v1421_1(void) = EnterFunction : -# 1421| mu1421_2(unknown) = AliasedDefinition : -# 1421| mu1421_3(unknown) = InitializeNonLocal : -# 1422| r1422_1(glval) = VariableAddress[rx] : -# 1422| r1422_2(glval) = FunctionAddress[returnValue] : -# 1422| r1422_3(UnusualFields) = Call[returnValue] : func:r1422_2 -# 1422| mu1422_4(unknown) = ^CallSideEffect : ~m? -# 1422| r1422_5(glval) = VariableAddress[#temp1422:21] : -# 1422| mu1422_6(UnusualFields) = Store[#temp1422:21] : &:r1422_5, r1422_3 -# 1422| r1422_7(glval) = FieldAddress[r] : r1422_5 -# 1422| r1422_8(int &) = Load[?] : &:r1422_7, ~m? -# 1422| r1422_9(glval) = CopyValue : r1422_8 -# 1422| r1422_10(glval) = Convert : r1422_9 -# 1422| r1422_11(int &) = CopyValue : r1422_10 -# 1422| mu1422_12(int &) = Store[rx] : &:r1422_1, r1422_11 -# 1423| r1423_1(glval) = VariableAddress[x] : -# 1423| r1423_2(glval) = FunctionAddress[returnValue] : -# 1423| r1423_3(UnusualFields) = Call[returnValue] : func:r1423_2 -# 1423| mu1423_4(unknown) = ^CallSideEffect : ~m? -# 1423| r1423_5(glval) = VariableAddress[#temp1423:13] : -# 1423| mu1423_6(UnusualFields) = Store[#temp1423:13] : &:r1423_5, r1423_3 -# 1423| r1423_7(glval) = FieldAddress[r] : r1423_5 -# 1423| r1423_8(int &) = Load[?] : &:r1423_7, ~m? -# 1423| r1423_9(int) = Load[?] : &:r1423_8, ~m? -# 1423| mu1423_10(int) = Store[x] : &:r1423_1, r1423_9 -# 1425| r1425_1(glval) = VariableAddress[rf] : +# 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 : + +# 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 : + +# 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:23] : -# 1425| mu1425_6(UnusualFields) = Store[#temp1425:23] : &:r1425_5, r1425_3 -# 1425| r1425_7(glval) = FieldAddress[a] : r1425_5 -# 1425| r1425_8(float *) = Convert : r1425_7 -# 1425| r1425_9(int) = Constant[3] : -# 1425| r1425_10(glval) = PointerAdd[4] : r1425_8, r1425_9 -# 1425| r1425_11(glval) = Convert : r1425_10 -# 1425| r1425_12(float &) = CopyValue : r1425_11 -# 1425| mu1425_13(float &) = Store[rf] : &:r1425_1, r1425_12 -# 1426| r1426_1(glval) = VariableAddress[f] : -# 1426| r1426_2(glval) = FunctionAddress[returnValue] : -# 1426| r1426_3(UnusualFields) = Call[returnValue] : func:r1426_2 -# 1426| mu1426_4(unknown) = ^CallSideEffect : ~m? -# 1426| r1426_5(glval) = VariableAddress[#temp1426:15] : -# 1426| mu1426_6(UnusualFields) = Store[#temp1426:15] : &:r1426_5, r1426_3 -# 1426| r1426_7(glval) = FieldAddress[a] : r1426_5 -# 1426| r1426_8(float *) = Convert : r1426_7 -# 1426| r1426_9(int) = Constant[5] : -# 1426| r1426_10(glval) = PointerAdd[4] : r1426_8, r1426_9 -# 1426| r1426_11(float) = Load[?] : &:r1426_10, ~m? -# 1426| mu1426_12(float) = Store[f] : &:r1426_1, r1426_11 -# 1427| v1427_1(void) = NoOp : -# 1421| v1421_4(void) = ReturnVoid : -# 1421| v1421_5(void) = AliasedUse : ~m? -# 1421| v1421_6(void) = ExitFunction : - -# 1443| void temporary_hierarchy() -# 1443| Block 0 -# 1443| v1443_1(void) = EnterFunction : -# 1443| mu1443_2(unknown) = AliasedDefinition : -# 1443| mu1443_3(unknown) = InitializeNonLocal : -# 1444| r1444_1(glval) = VariableAddress[b] : +# 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 : + +# 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] : #-----| r0_1(glval) = VariableAddress[#temp0:0] : -# 1444| r1444_2(glval) = FunctionAddress[returnValue] : -# 1444| r1444_3(POD_Middle) = Call[returnValue] : func:r1444_2 -# 1444| mu1444_4(unknown) = ^CallSideEffect : ~m? -# 1444| mu1444_5(POD_Middle) = Store[#temp0:0] : &:r0_1, r1444_3 +# 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 #-----| r0_2(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_1 #-----| r0_3(POD_Base) = Load[?] : &:r0_2, ~m? -#-----| mu0_4(POD_Base) = Store[b] : &:r1444_1, r0_3 -# 1445| r1445_1(glval) = VariableAddress[#temp1445:9] : -# 1445| r1445_2(glval) = FunctionAddress[returnValue] : -# 1445| r1445_3(POD_Derived) = Call[returnValue] : func:r1445_2 -# 1445| mu1445_4(unknown) = ^CallSideEffect : ~m? -# 1445| mu1445_5(POD_Derived) = Store[#temp1445:9] : &:r1445_1, r1445_3 -# 1445| r1445_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r1445_1 -# 1445| r1445_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r1445_6 -# 1445| r1445_8(POD_Base) = Load[?] : &:r1445_7, ~m? -# 1445| r1445_9(glval) = VariableAddress[b] : -# 1445| mu1445_10(POD_Base) = Store[b] : &:r1445_9, r1445_8 -# 1446| r1446_1(glval) = VariableAddress[x] : +#-----| 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] : #-----| r0_5(glval) = VariableAddress[#temp0:0] : -# 1446| r1446_2(glval) = FunctionAddress[returnValue] : -# 1446| r1446_3(POD_Derived) = Call[returnValue] : func:r1446_2 -# 1446| mu1446_4(unknown) = ^CallSideEffect : ~m? -# 1446| mu1446_5(POD_Derived) = Store[#temp0:0] : &:r0_5, r1446_3 +# 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 #-----| r0_6(glval) = ConvertToNonVirtualBase[POD_Derived : POD_Middle] : r0_5 #-----| r0_7(glval) = ConvertToNonVirtualBase[POD_Middle : POD_Base] : r0_6 -# 1446| r1446_6(glval) = FieldAddress[x] : r0_7 -# 1446| r1446_7(int) = Load[?] : &:r1446_6, ~m? -# 1446| mu1446_8(int) = Store[x] : &:r1446_1, r1446_7 -# 1447| r1447_1(glval) = VariableAddress[f] : +# 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] : #-----| r0_8(glval) = VariableAddress[#temp0:0] : -# 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[#temp0:0] : &:r0_8, r1447_3 +# 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 #-----| 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 -# 1447| r1447_6(glval) = FunctionAddress[f] : -# 1447| r1447_7(float) = Call[f] : func:r1447_6, this:r0_11 -# 1447| mu1447_8(unknown) = ^CallSideEffect : ~m? +# 1449| r1449_6(glval) = FunctionAddress[f] : +# 1449| r1449_7(float) = Call[f] : func:r1449_6, this:r0_11 +# 1449| mu1449_8(unknown) = ^CallSideEffect : ~m? #-----| v0_12(void) = ^IndirectReadSideEffect[-1] : &:r0_11, ~m? -# 1447| mu1447_9(float) = Store[f] : &:r1447_1, r1447_7 -# 1448| v1448_1(void) = NoOp : -# 1443| v1443_4(void) = ReturnVoid : -# 1443| v1443_5(void) = AliasedUse : ~m? -# 1443| v1443_6(void) = ExitFunction : - -# 1451| void Inheritance_Test_B::~Inheritance_Test_B() -# 1451| Block 0 -# 1451| v1451_1(void) = EnterFunction : -# 1451| mu1451_2(unknown) = AliasedDefinition : -# 1451| mu1451_3(unknown) = InitializeNonLocal : -# 1451| r1451_4(glval) = VariableAddress[#this] : -# 1451| mu1451_5(glval) = InitializeParameter[#this] : &:r1451_4 -# 1451| r1451_6(glval) = Load[#this] : &:r1451_4, ~m? -# 1451| mu1451_7(Inheritance_Test_B) = InitializeIndirection[#this] : &:r1451_6 -# 1451| v1451_8(void) = NoOp : -# 1451| v1451_9(void) = ReturnIndirection[#this] : &:r1451_6, ~m? -# 1451| v1451_10(void) = ReturnVoid : -# 1451| v1451_11(void) = AliasedUse : ~m? -# 1451| v1451_12(void) = ExitFunction : - -# 1457| void Inheritance_Test_A::Inheritance_Test_A() -# 1457| Block 0 -# 1457| v1457_1(void) = EnterFunction : -# 1457| mu1457_2(unknown) = AliasedDefinition : -# 1457| mu1457_3(unknown) = InitializeNonLocal : -# 1457| r1457_4(glval) = VariableAddress[#this] : -# 1457| mu1457_5(glval) = InitializeParameter[#this] : &:r1457_4 -# 1457| r1457_6(glval) = Load[#this] : &:r1457_4, ~m? -# 1457| mu1457_7(Inheritance_Test_A) = InitializeIndirection[#this] : &:r1457_6 -# 1457| r1457_8(glval) = FieldAddress[x] : mu1457_5 -# 1457| r1457_9(int) = Constant[42] : -# 1457| mu1457_10(int) = Store[?] : &:r1457_8, r1457_9 -# 1458| r1458_1(int) = Constant[3] : -# 1458| r1458_2(glval) = VariableAddress[#this] : -# 1458| r1458_3(Inheritance_Test_A *) = Load[#this] : &:r1458_2, ~m? -# 1458| r1458_4(glval) = FieldAddress[y] : r1458_3 -# 1458| mu1458_5(int) = Store[?] : &:r1458_4, r1458_1 -# 1459| v1459_1(void) = NoOp : -# 1457| v1457_11(void) = ReturnIndirection[#this] : &:r1457_6, ~m? -# 1457| v1457_12(void) = ReturnVoid : -# 1457| v1457_13(void) = AliasedUse : ~m? -# 1457| v1457_14(void) = ExitFunction : - -# 1462| void array_structured_binding() -# 1462| Block 0 -# 1462| v1462_1(void) = EnterFunction : -# 1462| mu1462_2(unknown) = AliasedDefinition : -# 1462| mu1462_3(unknown) = InitializeNonLocal : -# 1463| r1463_1(glval) = VariableAddress[xs] : -# 1463| mu1463_2(int[2]) = Uninitialized[xs] : &:r1463_1 -# 1463| r1463_3(int) = Constant[0] : -# 1463| r1463_4(glval) = PointerAdd[4] : r1463_1, r1463_3 -# 1463| r1463_5(int) = Constant[1] : -# 1463| mu1463_6(int) = Store[?] : &:r1463_4, r1463_5 -# 1463| r1463_7(int) = Constant[1] : -# 1463| r1463_8(glval) = PointerAdd[4] : r1463_1, r1463_7 -# 1463| r1463_9(int) = Constant[2] : -# 1463| mu1463_10(int) = Store[?] : &:r1463_8, r1463_9 -# 1466| r1466_1(glval) = VariableAddress[(unnamed local variable)] : -# 1466| r1466_2(glval) = VariableAddress[xs] : -# 1466| r1466_3(int(&)[2]) = CopyValue : r1466_2 -# 1466| mu1466_4(int(&)[2]) = Store[(unnamed local variable)] : &:r1466_1, r1466_3 -# 1466| r1466_5(glval) = VariableAddress[x0] : +# 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 : + +# 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 : + +# 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 : + +# 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] : #-----| 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] : &:r1466_5, r0_6 -# 1466| r1466_6(glval) = VariableAddress[x1] : +#-----| mu0_7(int &) = Store[x0] : &:r1468_5, r0_6 +# 1468| r1468_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] : &:r1466_6, r0_13 -# 1467| r1467_1(int) = Constant[3] : -# 1467| r1467_2(glval) = VariableAddress[x1] : -# 1467| r1467_3(int &) = Load[x1] : &:r1467_2, ~m? -# 1467| mu1467_4(int) = Store[?] : &:r1467_3, r1467_1 -# 1468| r1468_1(glval) = VariableAddress[rx1] : -# 1468| r1468_2(glval) = VariableAddress[x1] : -# 1468| r1468_3(int &) = Load[x1] : &:r1468_2, ~m? -# 1468| r1468_4(int &) = CopyValue : r1468_3 -# 1468| mu1468_5(int &) = Store[rx1] : &:r1468_1, r1468_4 -# 1469| r1469_1(glval) = VariableAddress[x] : +#-----| 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| r1469_4(int) = Load[?] : &:r1469_3, ~m? -# 1469| mu1469_5(int) = Store[x] : &:r1469_1, r1469_4 -# 1473| r1473_1(glval) = VariableAddress[unnamed_local_variable] : -# 1473| r1473_2(glval) = VariableAddress[xs] : -# 1473| r1473_3(int(&)[2]) = CopyValue : r1473_2 -# 1473| mu1473_4(int(&)[2]) = Store[unnamed_local_variable] : &:r1473_1, r1473_3 -# 1474| r1474_1(glval) = VariableAddress[x0] : -# 1474| r1474_2(glval) = VariableAddress[unnamed_local_variable] : -# 1474| r1474_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1474_2, ~m? -# 1474| r1474_4(glval) = CopyValue : r1474_3 -# 1474| r1474_5(int *) = Convert : r1474_4 -# 1474| r1474_6(int) = Constant[0] : -# 1474| r1474_7(glval) = PointerAdd[4] : r1474_5, r1474_6 -# 1474| r1474_8(int &) = CopyValue : r1474_7 -# 1474| mu1474_9(int &) = Store[x0] : &:r1474_1, r1474_8 -# 1475| r1475_1(glval) = VariableAddress[x1] : -# 1475| r1475_2(glval) = VariableAddress[unnamed_local_variable] : -# 1475| r1475_3(int(&)[2]) = Load[unnamed_local_variable] : &:r1475_2, ~m? -# 1475| r1475_4(glval) = CopyValue : r1475_3 -# 1475| r1475_5(int *) = Convert : r1475_4 -# 1475| r1475_6(int) = Constant[1] : -# 1475| r1475_7(glval) = PointerAdd[4] : r1475_5, r1475_6 -# 1475| r1475_8(int &) = CopyValue : r1475_7 -# 1475| mu1475_9(int &) = Store[x1] : &:r1475_1, r1475_8 -# 1476| r1476_1(int) = Constant[3] : -# 1476| r1476_2(glval) = VariableAddress[x1] : -# 1476| r1476_3(int &) = Load[x1] : &:r1476_2, ~m? -# 1476| r1476_4(glval) = CopyValue : r1476_3 -# 1476| mu1476_5(int) = Store[?] : &:r1476_4, r1476_1 -# 1477| r1477_1(glval) = VariableAddress[rx1] : -# 1477| r1477_2(glval) = VariableAddress[x1] : -# 1477| r1477_3(int &) = Load[x1] : &:r1477_2, ~m? -# 1477| r1477_4(glval) = CopyValue : r1477_3 -# 1477| r1477_5(int &) = CopyValue : r1477_4 -# 1477| mu1477_6(int &) = Store[rx1] : &:r1477_1, r1477_5 -# 1478| r1478_1(glval) = VariableAddress[x] : +# 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(int) = Load[?] : &:r1478_3, ~m? -# 1478| mu1478_5(int) = Store[x] : &:r1478_1, r1478_4 -# 1480| v1480_1(void) = NoOp : -# 1462| v1462_4(void) = ReturnVoid : -# 1462| v1462_5(void) = AliasedUse : ~m? -# 1462| v1462_6(void) = ExitFunction : - -# 1482| void StructuredBindingDataMemberMemberStruct::StructuredBindingDataMemberMemberStruct() -# 1482| Block 0 -# 1482| v1482_1(void) = EnterFunction : -# 1482| mu1482_2(unknown) = AliasedDefinition : -# 1482| mu1482_3(unknown) = InitializeNonLocal : -# 1482| r1482_4(glval) = VariableAddress[#this] : -# 1482| mu1482_5(glval) = InitializeParameter[#this] : &:r1482_4 -# 1482| r1482_6(glval) = Load[#this] : &:r1482_4, ~m? -# 1482| mu1482_7(StructuredBindingDataMemberMemberStruct) = InitializeIndirection[#this] : &:r1482_6 -# 1482| v1482_8(void) = NoOp : -# 1482| v1482_9(void) = ReturnIndirection[#this] : &:r1482_6, ~m? -# 1482| v1482_10(void) = ReturnVoid : -# 1482| v1482_11(void) = AliasedUse : ~m? -# 1482| v1482_12(void) = ExitFunction : - -# 1486| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() -# 1486| Block 0 -# 1486| v1486_1(void) = EnterFunction : -# 1486| mu1486_2(unknown) = AliasedDefinition : -# 1486| mu1486_3(unknown) = InitializeNonLocal : -# 1486| r1486_4(glval) = VariableAddress[#this] : -# 1486| mu1486_5(glval) = InitializeParameter[#this] : &:r1486_4 -# 1486| r1486_6(glval) = Load[#this] : &:r1486_4, ~m? -# 1486| mu1486_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1486_6 +# 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 : + +# 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 : + +# 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 #-----| Goto -> Block 2 -# 1486| Block 1 -# 1486| r1486_8(glval) = FieldAddress[m] : mu1486_5 -# 1486| r1486_9(glval) = FunctionAddress[StructuredBindingDataMemberMemberStruct] : -# 1486| v1486_10(void) = Call[StructuredBindingDataMemberMemberStruct] : func:r1486_9, this:r1486_8 -# 1486| mu1486_11(unknown) = ^CallSideEffect : ~m? -# 1486| mu1486_12(StructuredBindingDataMemberMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1486_8 +# 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 #-----| Goto -> Block 2 -# 1486| Block 2 -# 1486| v1486_13(void) = NoOp : -# 1486| v1486_14(void) = ReturnIndirection[#this] : &:r1486_6, ~m? -# 1486| v1486_15(void) = ReturnVoid : -# 1486| v1486_16(void) = AliasedUse : ~m? -# 1486| v1486_17(void) = ExitFunction : - -# 1486| void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&) -# 1486| Block 0 -# 1486| v1486_1(void) = EnterFunction : -# 1486| mu1486_2(unknown) = AliasedDefinition : -# 1486| mu1486_3(unknown) = InitializeNonLocal : -# 1486| r1486_4(glval) = VariableAddress[#this] : -# 1486| mu1486_5(glval) = InitializeParameter[#this] : &:r1486_4 -# 1486| r1486_6(glval) = Load[#this] : &:r1486_4, ~m? -# 1486| mu1486_7(StructuredBindingDataMemberStruct) = InitializeIndirection[#this] : &:r1486_6 +# 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 : + +# 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 #-----| 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 -# 1486| r1486_8(glval) = FieldAddress[i] : mu1486_5 -# 1486| r1486_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_9, ~m? -# 1486| r1486_11(glval) = CopyValue : r1486_10 -# 1486| r1486_12(glval) = FieldAddress[i] : r1486_11 -# 1486| r1486_13(int) = Load[?] : &:r1486_12, ~m? -# 1486| mu1486_14(int) = Store[?] : &:r1486_8, r1486_13 -# 1486| r1486_15(glval) = FieldAddress[d] : mu1486_5 -# 1486| r1486_16(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_16, ~m? -# 1486| r1486_18(glval) = CopyValue : r1486_17 -# 1486| r1486_19(glval) = FieldAddress[d] : r1486_18 -# 1486| r1486_20(double) = Load[?] : &:r1486_19, ~m? -# 1486| mu1486_21(double) = Store[?] : &:r1486_15, r1486_20 -# 1486| r1486_22(glval) = FieldAddress[b] : mu1486_5 -# 1486| r1486_23(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_23, ~m? -# 1486| r1486_25(glval) = CopyValue : r1486_24 -# 1486| r1486_26(glval) = FieldAddress[b] : r1486_25 -# 1486| r1486_27(unsigned int) = Load[?] : &:r1486_26, ~m? -# 1486| mu1486_28(unsigned int) = Store[?] : &:r1486_22, r1486_27 -# 1486| r1486_29(glval) = FieldAddress[r] : mu1486_5 -# 1486| r1486_30(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_30, ~m? -# 1486| r1486_32(glval) = CopyValue : r1486_31 -# 1486| r1486_33(glval) = FieldAddress[r] : r1486_32 -# 1486| r1486_34(int &) = Load[?] : &:r1486_33, ~m? -# 1486| mu1486_35(int &) = Store[?] : &:r1486_29, r1486_34 -# 1486| r1486_36(glval) = FieldAddress[p] : mu1486_5 -# 1486| r1486_37(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_37, ~m? -# 1486| r1486_39(glval) = CopyValue : r1486_38 -# 1486| r1486_40(glval) = FieldAddress[p] : r1486_39 -# 1486| r1486_41(int *) = Load[?] : &:r1486_40, ~m? -# 1486| mu1486_42(int *) = Store[?] : &:r1486_36, r1486_41 -# 1486| r1486_43(glval) = FieldAddress[xs] : mu1486_5 -# 1486| r1486_44(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_44, ~m? -# 1486| r1486_46(glval) = CopyValue : r1486_45 -# 1486| r1486_47(glval) = FieldAddress[xs] : r1486_46 -# 1486| r1486_48(int[2]) = Load[?] : &:r1486_47, ~m? -# 1486| mu1486_49(int[2]) = Store[?] : &:r1486_43, r1486_48 -# 1486| r1486_50(glval) = FieldAddress[r_alt] : mu1486_5 -# 1486| r1486_51(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_51, ~m? -# 1486| r1486_53(glval) = CopyValue : r1486_52 -# 1486| r1486_54(glval) = FieldAddress[r_alt] : r1486_53 -# 1486| r1486_55(int &) = Load[?] : &:r1486_54, ~m? -# 1486| mu1486_56(int &) = Store[?] : &:r1486_50, r1486_55 -# 1486| r1486_57(glval) = FieldAddress[m] : mu1486_5 -# 1486| r1486_58(glval) = VariableAddress[(unnamed parameter 0)] : -# 1486| r1486_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_58, ~m? -# 1486| r1486_60(glval) = CopyValue : r1486_59 -# 1486| r1486_61(glval) = FieldAddress[m] : r1486_60 -# 1486| r1486_62(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1486_61, ~m? -# 1486| mu1486_63(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1486_57, r1486_62 -# 1486| v1486_64(void) = NoOp : -# 1486| v1486_65(void) = ReturnIndirection[#this] : &:r1486_6, ~m? +# 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? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1486| v1486_66(void) = ReturnVoid : -# 1486| v1486_67(void) = AliasedUse : ~m? -# 1486| v1486_68(void) = ExitFunction : - -# 1499| void data_member_structured_binding() -# 1499| Block 0 -# 1499| v1499_1(void) = EnterFunction : -# 1499| mu1499_2(unknown) = AliasedDefinition : -# 1499| mu1499_3(unknown) = InitializeNonLocal : -# 1500| r1500_1(glval) = VariableAddress[s] : -# 1500| mu1500_2(StructuredBindingDataMemberStruct) = Uninitialized[s] : &:r1500_1 -# 1500| r1500_3(glval) = FunctionAddress[StructuredBindingDataMemberStruct] : -# 1500| v1500_4(void) = Call[StructuredBindingDataMemberStruct] : func:r1500_3, this:r1500_1 -# 1500| mu1500_5(unknown) = ^CallSideEffect : ~m? -# 1500| mu1500_6(StructuredBindingDataMemberStruct) = ^IndirectMayWriteSideEffect[-1] : &:r1500_1 -# 1503| r1503_1(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_2(glval) = VariableAddress[s] : -# 1503| r1503_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1503_2, ~m? -# 1503| mu1503_4(StructuredBindingDataMemberStruct) = Store[(unnamed local variable)] : &:r1503_1, r1503_3 -# 1503| r1503_5(glval) = VariableAddress[i] : -# 1503| r1503_6(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_7(glval) = FieldAddress[i] : r1503_6 -# 1503| mu1503_8(int &) = Store[i] : &:r1503_5, r1503_7 -# 1503| r1503_9(glval) = VariableAddress[d] : -# 1503| r1503_10(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_11(glval) = FieldAddress[d] : r1503_10 -# 1503| mu1503_12(double &) = Store[d] : &:r1503_9, r1503_11 -# 1503| r1503_13(glval) = VariableAddress[b] : -# 1503| r1503_14(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_15(glval) = FieldAddress[b] : r1503_14 -# 1503| mu1503_16(unsigned int &) = Store[b] : &:r1503_13, r1503_15 -# 1503| r1503_17(glval) = VariableAddress[r] : -# 1503| r1503_18(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_19(glval) = FieldAddress[r] : r1503_18 -# 1503| r1503_20(int &) = Load[?] : &:r1503_19, ~m? -# 1503| r1503_21(glval) = CopyValue : r1503_20 -# 1503| mu1503_22(int &) = Store[r] : &:r1503_17, r1503_21 -# 1503| r1503_23(glval) = VariableAddress[p] : -# 1503| r1503_24(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_25(glval) = FieldAddress[p] : r1503_24 -# 1503| mu1503_26(int *&) = Store[p] : &:r1503_23, r1503_25 -# 1503| r1503_27(glval) = VariableAddress[xs] : -# 1503| r1503_28(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_29(glval) = FieldAddress[xs] : r1503_28 -# 1503| mu1503_30(int(&)[2]) = Store[xs] : &:r1503_27, r1503_29 -# 1503| r1503_31(glval) = VariableAddress[r_alt] : -# 1503| r1503_32(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_33(glval) = FieldAddress[r_alt] : r1503_32 -# 1503| r1503_34(int &) = Load[?] : &:r1503_33, ~m? -# 1503| r1503_35(glval) = CopyValue : r1503_34 -# 1503| mu1503_36(int &) = Store[r_alt] : &:r1503_31, r1503_35 -# 1503| r1503_37(glval) = VariableAddress[m] : -# 1503| r1503_38(glval) = VariableAddress[(unnamed local variable)] : -# 1503| r1503_39(glval) = FieldAddress[m] : r1503_38 -# 1503| mu1503_40(StructuredBindingDataMemberMemberStruct &) = Store[m] : &:r1503_37, r1503_39 -# 1504| r1504_1(double) = Constant[4.0] : -# 1504| r1504_2(glval) = VariableAddress[d] : -# 1504| r1504_3(double &) = Load[d] : &:r1504_2, ~m? -# 1504| mu1504_4(double) = Store[?] : &:r1504_3, r1504_1 -# 1505| r1505_1(glval) = VariableAddress[rd] : -# 1505| r1505_2(glval) = VariableAddress[d] : -# 1505| r1505_3(double &) = Load[d] : &:r1505_2, ~m? -# 1505| r1505_4(double &) = CopyValue : r1505_3 -# 1505| mu1505_5(double &) = Store[rd] : &:r1505_1, r1505_4 -# 1506| r1506_1(glval) = VariableAddress[v] : -# 1506| r1506_2(glval) = VariableAddress[i] : -# 1506| r1506_3(int &) = Load[i] : &:r1506_2, ~m? -# 1506| r1506_4(int) = Load[?] : &:r1506_3, ~m? -# 1506| mu1506_5(int) = Store[v] : &:r1506_1, r1506_4 -# 1507| r1507_1(int) = Constant[5] : -# 1507| r1507_2(glval) = VariableAddress[r] : -# 1507| r1507_3(int &) = Load[r] : &:r1507_2, ~m? -# 1507| mu1507_4(int) = Store[?] : &:r1507_3, r1507_1 -# 1508| r1508_1(int) = Constant[6] : -# 1508| r1508_2(glval) = VariableAddress[p] : -# 1508| r1508_3(int *&) = Load[p] : &:r1508_2, ~m? -# 1508| r1508_4(int *) = Load[?] : &:r1508_3, ~m? -# 1508| r1508_5(glval) = CopyValue : r1508_4 -# 1508| mu1508_6(int) = Store[?] : &:r1508_5, r1508_1 -# 1509| r1509_1(glval) = VariableAddress[rr] : +# 1488| v1488_66(void) = ReturnVoid : +# 1488| v1488_67(void) = AliasedUse : ~m? +# 1488| v1488_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| r1509_4(int &) = CopyValue : r1509_3 -# 1509| mu1509_5(int &) = Store[rr] : &:r1509_1, r1509_4 -# 1510| r1510_1(glval) = VariableAddress[pr] : -# 1510| r1510_2(glval) = VariableAddress[r] : -# 1510| r1510_3(int &) = Load[r] : &:r1510_2, ~m? -# 1510| r1510_4(int *) = CopyValue : r1510_3 -# 1510| mu1510_5(int *) = Store[pr] : &:r1510_1, r1510_4 -# 1511| r1511_1(glval) = VariableAddress[w] : +# 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) = Load[?] : &:r1511_3, ~m? -# 1511| mu1511_5(int) = Store[w] : &:r1511_1, r1511_4 -# 1515| r1515_1(glval) = VariableAddress[unnamed_local_variable] : -# 1515| r1515_2(glval) = VariableAddress[s] : -# 1515| r1515_3(StructuredBindingDataMemberStruct) = Load[s] : &:r1515_2, ~m? -# 1515| mu1515_4(StructuredBindingDataMemberStruct) = Store[unnamed_local_variable] : &:r1515_1, r1515_3 -# 1516| r1516_1(glval) = VariableAddress[i] : -# 1516| r1516_2(glval) = VariableAddress[unnamed_local_variable] : -# 1516| r1516_3(glval) = FieldAddress[i] : r1516_2 -# 1516| r1516_4(int &) = CopyValue : r1516_3 -# 1516| mu1516_5(int &) = Store[i] : &:r1516_1, r1516_4 -# 1517| r1517_1(glval) = VariableAddress[d] : -# 1517| r1517_2(glval) = VariableAddress[unnamed_local_variable] : -# 1517| r1517_3(glval) = FieldAddress[d] : r1517_2 -# 1517| r1517_4(double &) = CopyValue : r1517_3 -# 1517| mu1517_5(double &) = Store[d] : &:r1517_1, r1517_4 -# 1519| r1519_1(glval) = VariableAddress[r] : +# 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[r] : r1519_2 -# 1519| r1519_4(int &) = Load[?] : &:r1519_3, ~m? -# 1519| r1519_5(glval) = CopyValue : r1519_4 -# 1519| r1519_6(int &) = CopyValue : r1519_5 -# 1519| mu1519_7(int &) = Store[r] : &:r1519_1, r1519_6 -# 1520| r1520_1(glval) = VariableAddress[p] : -# 1520| r1520_2(glval) = VariableAddress[unnamed_local_variable] : -# 1520| r1520_3(glval) = FieldAddress[p] : r1520_2 -# 1520| r1520_4(int *&) = CopyValue : r1520_3 -# 1520| mu1520_5(int *&) = Store[p] : &:r1520_1, r1520_4 -# 1521| r1521_1(double) = Constant[4.0] : -# 1521| r1521_2(glval) = VariableAddress[d] : -# 1521| r1521_3(double &) = Load[d] : &:r1521_2, ~m? -# 1521| r1521_4(glval) = CopyValue : r1521_3 -# 1521| mu1521_5(double) = Store[?] : &:r1521_4, r1521_1 -# 1522| r1522_1(glval) = VariableAddress[rd] : -# 1522| r1522_2(glval) = VariableAddress[d] : -# 1522| r1522_3(double &) = Load[d] : &:r1522_2, ~m? -# 1522| r1522_4(glval) = CopyValue : r1522_3 -# 1522| r1522_5(double &) = CopyValue : r1522_4 -# 1522| mu1522_6(double &) = Store[rd] : &:r1522_1, r1522_5 -# 1523| r1523_1(glval) = VariableAddress[v] : -# 1523| r1523_2(glval) = VariableAddress[i] : -# 1523| r1523_3(int &) = Load[i] : &:r1523_2, ~m? -# 1523| r1523_4(int) = Load[?] : &:r1523_3, ~m? -# 1523| mu1523_5(int) = Store[v] : &:r1523_1, r1523_4 -# 1524| r1524_1(int) = Constant[5] : -# 1524| r1524_2(glval) = VariableAddress[r] : -# 1524| r1524_3(int &) = Load[r] : &:r1524_2, ~m? -# 1524| r1524_4(glval) = CopyValue : r1524_3 -# 1524| mu1524_5(int) = Store[?] : &:r1524_4, r1524_1 -# 1525| r1525_1(int) = Constant[6] : -# 1525| r1525_2(glval) = VariableAddress[p] : -# 1525| r1525_3(int *&) = Load[p] : &:r1525_2, ~m? -# 1525| r1525_4(int *) = Load[?] : &:r1525_3, ~m? -# 1525| r1525_5(glval) = CopyValue : r1525_4 -# 1525| mu1525_6(int) = Store[?] : &:r1525_5, r1525_1 -# 1526| r1526_1(glval) = VariableAddress[rr] : +# 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| r1526_5(int &) = CopyValue : r1526_4 -# 1526| mu1526_6(int &) = Store[rr] : &:r1526_1, r1526_5 -# 1527| r1527_1(glval) = VariableAddress[pr] : -# 1527| r1527_2(glval) = VariableAddress[r] : -# 1527| r1527_3(int &) = Load[r] : &:r1527_2, ~m? -# 1527| r1527_4(glval) = CopyValue : r1527_3 -# 1527| r1527_5(int *) = CopyValue : r1527_4 -# 1527| mu1527_6(int *) = Store[pr] : &:r1527_1, r1527_5 -# 1528| r1528_1(glval) = VariableAddress[w] : +# 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(int) = Load[?] : &:r1528_3, ~m? -# 1528| mu1528_5(int) = Store[w] : &:r1528_1, r1528_4 -# 1530| v1530_1(void) = NoOp : -# 1499| v1499_4(void) = ReturnVoid : -# 1499| v1499_5(void) = AliasedUse : ~m? -# 1499| v1499_6(void) = ExitFunction : - -# 1539| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet() -# 1539| Block 0 -# 1539| v1539_1(void) = EnterFunction : -# 1539| mu1539_2(unknown) = AliasedDefinition : -# 1539| mu1539_3(unknown) = InitializeNonLocal : -# 1539| r1539_4(glval) = VariableAddress[#this] : -# 1539| mu1539_5(glval) = InitializeParameter[#this] : &:r1539_4 -# 1539| r1539_6(glval) = Load[#this] : &:r1539_4, ~m? -# 1539| mu1539_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1539_6 -# 1539| v1539_8(void) = NoOp : -# 1539| v1539_9(void) = ReturnIndirection[#this] : &:r1539_6, ~m? -# 1539| v1539_10(void) = ReturnVoid : -# 1539| v1539_11(void) = AliasedUse : ~m? -# 1539| v1539_12(void) = ExitFunction : - -# 1539| void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet const&) -# 1539| Block 0 -# 1539| v1539_1(void) = EnterFunction : -# 1539| mu1539_2(unknown) = AliasedDefinition : -# 1539| mu1539_3(unknown) = InitializeNonLocal : -# 1539| r1539_4(glval) = VariableAddress[#this] : -# 1539| mu1539_5(glval) = InitializeParameter[#this] : &:r1539_4 -# 1539| r1539_6(glval) = Load[#this] : &:r1539_4, ~m? -# 1539| mu1539_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1539_6 +# 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 : + +# 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 : + +# 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 #-----| 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 -# 1539| r1539_8(glval) = FieldAddress[i] : mu1539_5 -# 1539| r1539_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 1539| r1539_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_9, ~m? -# 1539| r1539_11(glval) = CopyValue : r1539_10 -# 1539| r1539_12(glval) = FieldAddress[i] : r1539_11 -# 1539| r1539_13(int) = Load[?] : &:r1539_12, ~m? -# 1539| mu1539_14(int) = Store[?] : &:r1539_8, r1539_13 -# 1539| r1539_15(glval) = FieldAddress[d] : mu1539_5 -# 1539| r1539_16(glval) = VariableAddress[(unnamed parameter 0)] : -# 1539| r1539_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_16, ~m? -# 1539| r1539_18(glval) = CopyValue : r1539_17 -# 1539| r1539_19(glval) = FieldAddress[d] : r1539_18 -# 1539| r1539_20(double) = Load[?] : &:r1539_19, ~m? -# 1539| mu1539_21(double) = Store[?] : &:r1539_15, r1539_20 -# 1539| r1539_22(glval) = FieldAddress[r] : mu1539_5 -# 1539| r1539_23(glval) = VariableAddress[(unnamed parameter 0)] : -# 1539| r1539_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_23, ~m? -# 1539| r1539_25(glval) = CopyValue : r1539_24 -# 1539| r1539_26(glval) = FieldAddress[r] : r1539_25 -# 1539| r1539_27(int &) = Load[?] : &:r1539_26, ~m? -# 1539| mu1539_28(int &) = Store[?] : &:r1539_22, r1539_27 -# 1539| v1539_29(void) = NoOp : -# 1539| v1539_30(void) = ReturnIndirection[#this] : &:r1539_6, ~m? +# 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? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1539| v1539_31(void) = ReturnVoid : -# 1539| v1539_32(void) = AliasedUse : ~m? -# 1539| v1539_33(void) = ExitFunction : - -# 1567| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1567| Block 0 -# 1567| v1567_1(void) = EnterFunction : -# 1567| mu1567_2(unknown) = AliasedDefinition : -# 1567| mu1567_3(unknown) = InitializeNonLocal : -# 1567| r1567_4(glval) = VariableAddress[#this] : -# 1567| mu1567_5(glval) = InitializeParameter[#this] : &:r1567_4 -# 1567| r1567_6(glval) = Load[#this] : &:r1567_4, ~m? -# 1567| mu1567_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1567_6 -# 1568| r1568_1(glval) = VariableAddress[#return] : -# 1568| r1568_2(glval) = VariableAddress[#this] : -# 1568| r1568_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1568_2, ~m? -# 1568| r1568_4(glval) = FieldAddress[i] : r1568_3 -#-----| r0_1(int &) = CopyValue : r1568_4 -#-----| mu0_2(int &) = Store[#return] : &:r1568_1, r0_1 -# 1567| v1567_8(void) = ReturnIndirection[#this] : &:r1567_6, ~m? -# 1567| r1567_9(glval) = VariableAddress[#return] : -# 1567| v1567_10(void) = ReturnValue : &:r1567_9, ~m? -# 1567| v1567_11(void) = AliasedUse : ~m? -# 1567| v1567_12(void) = ExitFunction : - -# 1571| std::tuple_element::type& StructuredBindingTupleRefGet::get() -# 1571| Block 0 -# 1571| v1571_1(void) = EnterFunction : -# 1571| mu1571_2(unknown) = AliasedDefinition : -# 1571| mu1571_3(unknown) = InitializeNonLocal : -# 1571| r1571_4(glval) = VariableAddress[#this] : -# 1571| mu1571_5(glval) = InitializeParameter[#this] : &:r1571_4 -# 1571| r1571_6(glval) = Load[#this] : &:r1571_4, ~m? -# 1571| mu1571_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1571_6 -# 1572| r1572_1(glval) = VariableAddress[#return] : -# 1572| r1572_2(glval) = VariableAddress[#this] : -# 1572| r1572_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1572_2, ~m? -# 1572| r1572_4(glval) = FieldAddress[d] : r1572_3 -#-----| r0_1(double &) = CopyValue : r1572_4 -#-----| mu0_2(double &) = Store[#return] : &:r1572_1, r0_1 -# 1571| v1571_8(void) = ReturnIndirection[#this] : &:r1571_6, ~m? -# 1571| r1571_9(glval) = VariableAddress[#return] : -# 1571| v1571_10(void) = ReturnValue : &:r1571_9, ~m? -# 1571| v1571_11(void) = AliasedUse : ~m? -# 1571| v1571_12(void) = ExitFunction : - -# 1575| std::tuple_element::type StructuredBindingTupleRefGet::get() -# 1575| Block 0 -# 1575| v1575_1(void) = EnterFunction : -# 1575| mu1575_2(unknown) = AliasedDefinition : -# 1575| mu1575_3(unknown) = InitializeNonLocal : -# 1575| r1575_4(glval) = VariableAddress[#this] : -# 1575| mu1575_5(glval) = InitializeParameter[#this] : &:r1575_4 -# 1575| r1575_6(glval) = Load[#this] : &:r1575_4, ~m? -# 1575| mu1575_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1575_6 -# 1576| r1576_1(glval) = VariableAddress[#return] : -# 1576| r1576_2(glval) = VariableAddress[#this] : -# 1576| r1576_3(StructuredBindingTupleRefGet *) = Load[#this] : &:r1576_2, ~m? -# 1576| r1576_4(glval) = FieldAddress[r] : r1576_3 -# 1576| r1576_5(int &) = Load[?] : &:r1576_4, ~m? -# 1576| r1576_6(glval) = CopyValue : r1576_5 -# 1576| r1576_7(int &) = CopyValue : r1576_6 -# 1576| mu1576_8(int &) = Store[#return] : &:r1576_1, r1576_7 -# 1575| v1575_8(void) = ReturnIndirection[#this] : &:r1575_6, ~m? -# 1575| r1575_9(glval) = VariableAddress[#return] : -# 1575| v1575_10(void) = ReturnValue : &:r1575_9, ~m? -# 1575| v1575_11(void) = AliasedUse : ~m? -# 1575| v1575_12(void) = ExitFunction : - -# 1579| void tuple_structured_binding_ref_get() -# 1579| Block 0 -# 1579| v1579_1(void) = EnterFunction : -# 1579| mu1579_2(unknown) = AliasedDefinition : -# 1579| mu1579_3(unknown) = InitializeNonLocal : -# 1580| r1580_1(glval) = VariableAddress[t] : -# 1580| mu1580_2(StructuredBindingTupleRefGet) = Uninitialized[t] : &:r1580_1 -# 1580| r1580_3(glval) = FunctionAddress[StructuredBindingTupleRefGet] : -# 1580| v1580_4(void) = Call[StructuredBindingTupleRefGet] : func:r1580_3, this:r1580_1 -# 1580| mu1580_5(unknown) = ^CallSideEffect : ~m? -# 1580| mu1580_6(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1580_1 -# 1583| r1583_1(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_2(glval) = VariableAddress[t] : -# 1583| r1583_3(StructuredBindingTupleRefGet) = Load[t] : &:r1583_2, ~m? -# 1583| mu1583_4(StructuredBindingTupleRefGet) = Store[(unnamed local variable)] : &:r1583_1, r1583_3 -# 1583| r1583_5(glval) = VariableAddress[i] : -# 1583| r1583_6(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_7(glval) = FunctionAddress[get] : -# 1583| r1583_8(int &) = Call[get] : func:r1583_7, this:r1583_6 -# 1583| mu1583_9(unknown) = ^CallSideEffect : ~m? -# 1583| v1583_10(void) = ^IndirectReadSideEffect[-1] : &:r1583_6, ~m? -# 1583| mu1583_11(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1583_6 -# 1583| r1583_12(glval) = CopyValue : r1583_8 -# 1583| r1583_13(int &) = CopyValue : r1583_12 -# 1583| mu1583_14(int &) = Store[i] : &:r1583_5, r1583_13 -# 1583| r1583_15(glval) = VariableAddress[d] : -# 1583| r1583_16(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_17(glval) = FunctionAddress[get] : -# 1583| r1583_18(double &) = Call[get] : func:r1583_17, this:r1583_16 -# 1583| mu1583_19(unknown) = ^CallSideEffect : ~m? -# 1583| v1583_20(void) = ^IndirectReadSideEffect[-1] : &:r1583_16, ~m? -# 1583| mu1583_21(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1583_16 -# 1583| r1583_22(glval) = CopyValue : r1583_18 -# 1583| r1583_23(double &) = CopyValue : r1583_22 -# 1583| mu1583_24(double &) = Store[d] : &:r1583_15, r1583_23 -# 1583| r1583_25(glval) = VariableAddress[r] : -# 1583| r1583_26(glval) = VariableAddress[(unnamed local variable)] : -# 1583| r1583_27(glval) = FunctionAddress[get] : -# 1583| r1583_28(int &) = Call[get] : func:r1583_27, this:r1583_26 -# 1583| mu1583_29(unknown) = ^CallSideEffect : ~m? -# 1583| v1583_30(void) = ^IndirectReadSideEffect[-1] : &:r1583_26, ~m? -# 1583| mu1583_31(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1583_26 -# 1583| r1583_32(glval) = CopyValue : r1583_28 -# 1583| r1583_33(int &) = CopyValue : r1583_32 -# 1583| mu1583_34(int &) = Store[r] : &:r1583_25, r1583_33 -# 1584| r1584_1(double) = Constant[4.0] : -# 1584| r1584_2(glval) = VariableAddress[d] : -# 1584| r1584_3(double &) = Load[d] : &:r1584_2, ~m? -# 1584| r1584_4(glval) = CopyValue : r1584_3 -# 1584| mu1584_5(double) = Store[?] : &:r1584_4, r1584_1 -# 1585| r1585_1(glval) = VariableAddress[rd] : -# 1585| r1585_2(glval) = VariableAddress[d] : -# 1585| r1585_3(double &) = Load[d] : &:r1585_2, ~m? -# 1585| r1585_4(glval) = CopyValue : r1585_3 -# 1585| r1585_5(double &) = CopyValue : r1585_4 -# 1585| mu1585_6(double &) = Store[rd] : &:r1585_1, r1585_5 -# 1586| r1586_1(glval) = VariableAddress[v] : -# 1586| r1586_2(glval) = VariableAddress[i] : -# 1586| r1586_3(int &) = Load[i] : &:r1586_2, ~m? -# 1586| r1586_4(int) = Load[?] : &:r1586_3, ~m? -# 1586| mu1586_5(int) = Store[v] : &:r1586_1, r1586_4 -# 1587| r1587_1(int) = Constant[5] : -# 1587| r1587_2(glval) = VariableAddress[r] : -# 1587| r1587_3(int &) = Load[r] : &:r1587_2, ~m? -# 1587| r1587_4(glval) = CopyValue : r1587_3 -# 1587| mu1587_5(int) = Store[?] : &:r1587_4, r1587_1 -# 1588| r1588_1(glval) = VariableAddress[rr] : -# 1588| r1588_2(glval) = VariableAddress[r] : -# 1588| r1588_3(int &) = Load[r] : &:r1588_2, ~m? -# 1588| r1588_4(glval) = CopyValue : r1588_3 -# 1588| r1588_5(int &) = CopyValue : r1588_4 -# 1588| mu1588_6(int &) = Store[rr] : &:r1588_1, r1588_5 -# 1589| r1589_1(glval) = VariableAddress[w] : +# 1541| v1541_31(void) = ReturnVoid : +# 1541| v1541_32(void) = AliasedUse : ~m? +# 1541| v1541_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 : + +# 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 : + +# 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 : + +# 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(int) = Load[?] : &:r1589_3, ~m? -# 1589| mu1589_5(int) = Store[w] : &:r1589_1, r1589_4 -# 1593| r1593_1(glval) = VariableAddress[unnamed_local_variable] : -# 1593| r1593_2(glval) = VariableAddress[t] : -# 1593| r1593_3(StructuredBindingTupleRefGet) = Load[t] : &:r1593_2, ~m? -# 1593| mu1593_4(StructuredBindingTupleRefGet) = Store[unnamed_local_variable] : &:r1593_1, r1593_3 -# 1594| r1594_1(glval) = VariableAddress[i] : -# 1594| r1594_2(glval) = VariableAddress[unnamed_local_variable] : -# 1594| r1594_3(glval) = FunctionAddress[get] : -# 1594| r1594_4(int &) = Call[get] : func:r1594_3, this:r1594_2 -# 1594| mu1594_5(unknown) = ^CallSideEffect : ~m? -# 1594| v1594_6(void) = ^IndirectReadSideEffect[-1] : &:r1594_2, ~m? -# 1594| mu1594_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1594_2 -# 1594| r1594_8(glval) = CopyValue : r1594_4 -# 1594| r1594_9(int &) = CopyValue : r1594_8 -# 1594| mu1594_10(int &) = Store[i] : &:r1594_1, r1594_9 -# 1595| r1595_1(glval) = VariableAddress[d] : -# 1595| r1595_2(glval) = VariableAddress[unnamed_local_variable] : -# 1595| r1595_3(glval) = FunctionAddress[get] : -# 1595| r1595_4(double &) = Call[get] : func:r1595_3, this:r1595_2 -# 1595| mu1595_5(unknown) = ^CallSideEffect : ~m? -# 1595| v1595_6(void) = ^IndirectReadSideEffect[-1] : &:r1595_2, ~m? -# 1595| mu1595_7(StructuredBindingTupleRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1595_2 -# 1595| r1595_8(glval) = CopyValue : r1595_4 -# 1595| r1595_9(double &) = CopyValue : r1595_8 -# 1595| mu1595_10(double &) = Store[d] : &:r1595_1, r1595_9 -# 1596| r1596_1(glval) = VariableAddress[r] : +# 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 @@ -8778,1219 +8758,1225 @@ ir.cpp: # 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[r] : &:r1596_1, r1596_9 -# 1597| r1597_1(double) = Constant[4.0] : -# 1597| r1597_2(glval) = VariableAddress[d] : -# 1597| r1597_3(double &) = Load[d] : &:r1597_2, ~m? -# 1597| r1597_4(glval) = CopyValue : r1597_3 -# 1597| mu1597_5(double) = Store[?] : &:r1597_4, r1597_1 -# 1598| r1598_1(glval) = VariableAddress[rd] : -# 1598| r1598_2(glval) = VariableAddress[d] : -# 1598| r1598_3(double &) = Load[d] : &:r1598_2, ~m? -# 1598| r1598_4(glval) = CopyValue : r1598_3 -# 1598| r1598_5(double &) = CopyValue : r1598_4 -# 1598| mu1598_6(double &) = Store[rd] : &:r1598_1, r1598_5 -# 1599| r1599_1(glval) = VariableAddress[v] : -# 1599| r1599_2(glval) = VariableAddress[i] : -# 1599| r1599_3(int &) = Load[i] : &:r1599_2, ~m? -# 1599| r1599_4(int) = Load[?] : &:r1599_3, ~m? -# 1599| mu1599_5(int) = Store[v] : &:r1599_1, r1599_4 -# 1600| r1600_1(int) = Constant[5] : -# 1600| r1600_2(glval) = VariableAddress[r] : -# 1600| r1600_3(int &) = Load[r] : &:r1600_2, ~m? -# 1600| r1600_4(glval) = CopyValue : r1600_3 -# 1600| mu1600_5(int) = Store[?] : &:r1600_4, r1600_1 -# 1601| r1601_1(glval) = VariableAddress[rr] : -# 1601| r1601_2(glval) = VariableAddress[r] : -# 1601| r1601_3(int &) = Load[r] : &:r1601_2, ~m? -# 1601| r1601_4(glval) = CopyValue : r1601_3 -# 1601| r1601_5(int &) = CopyValue : r1601_4 -# 1601| mu1601_6(int &) = Store[rr] : &:r1601_1, r1601_5 -# 1602| r1602_1(glval) = VariableAddress[w] : +# 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(int) = Load[?] : &:r1602_3, ~m? -# 1602| mu1602_5(int) = Store[w] : &:r1602_1, r1602_4 -# 1604| v1604_1(void) = NoOp : -# 1579| v1579_4(void) = ReturnVoid : -# 1579| v1579_5(void) = AliasedUse : ~m? -# 1579| v1579_6(void) = ExitFunction : - -# 1606| void StructuredBindingTupleNoRefGet::StructuredBindingTupleNoRefGet() -# 1606| Block 0 -# 1606| v1606_1(void) = EnterFunction : -# 1606| mu1606_2(unknown) = AliasedDefinition : -# 1606| mu1606_3(unknown) = InitializeNonLocal : -# 1606| r1606_4(glval) = VariableAddress[#this] : -# 1606| mu1606_5(glval) = InitializeParameter[#this] : &:r1606_4 -# 1606| r1606_6(glval) = Load[#this] : &:r1606_4, ~m? -# 1606| mu1606_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1606_6 -# 1606| v1606_8(void) = NoOp : -# 1606| v1606_9(void) = ReturnIndirection[#this] : &:r1606_6, ~m? -# 1606| v1606_10(void) = ReturnVoid : -# 1606| v1606_11(void) = AliasedUse : ~m? -# 1606| v1606_12(void) = ExitFunction : - -# 1633| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1633| Block 0 -# 1633| v1633_1(void) = EnterFunction : -# 1633| mu1633_2(unknown) = AliasedDefinition : -# 1633| mu1633_3(unknown) = InitializeNonLocal : -# 1633| r1633_4(glval) = VariableAddress[#this] : -# 1633| mu1633_5(glval) = InitializeParameter[#this] : &:r1633_4 -# 1633| r1633_6(glval) = Load[#this] : &:r1633_4, ~m? -# 1633| mu1633_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1633_6 -# 1634| r1634_1(glval) = VariableAddress[#return] : -# 1634| r1634_2(glval) = VariableAddress[#this] : -# 1634| r1634_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1634_2, ~m? -# 1634| r1634_4(glval) = FieldAddress[i] : r1634_3 -# 1634| r1634_5(int) = Load[?] : &:r1634_4, ~m? -# 1634| mu1634_6(int) = Store[#return] : &:r1634_1, r1634_5 -# 1633| v1633_8(void) = ReturnIndirection[#this] : &:r1633_6, ~m? -# 1633| r1633_9(glval) = VariableAddress[#return] : -# 1633| v1633_10(void) = ReturnValue : &:r1633_9, ~m? -# 1633| v1633_11(void) = AliasedUse : ~m? -# 1633| v1633_12(void) = ExitFunction : - -# 1637| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1637| Block 0 -# 1637| v1637_1(void) = EnterFunction : -# 1637| mu1637_2(unknown) = AliasedDefinition : -# 1637| mu1637_3(unknown) = InitializeNonLocal : -# 1637| r1637_4(glval) = VariableAddress[#this] : -# 1637| mu1637_5(glval) = InitializeParameter[#this] : &:r1637_4 -# 1637| r1637_6(glval) = Load[#this] : &:r1637_4, ~m? -# 1637| mu1637_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1637_6 -# 1638| r1638_1(glval) = VariableAddress[#return] : -# 1638| r1638_2(glval) = VariableAddress[#this] : -# 1638| r1638_3(StructuredBindingTupleNoRefGet *) = Load[#this] : &:r1638_2, ~m? -# 1638| r1638_4(glval) = FieldAddress[r] : r1638_3 -# 1638| r1638_5(int &) = Load[?] : &:r1638_4, ~m? -# 1638| r1638_6(glval) = CopyValue : r1638_5 -# 1638| r1638_7(int &) = CopyValue : r1638_6 -# 1638| mu1638_8(int &) = Store[#return] : &:r1638_1, r1638_7 -# 1637| v1637_8(void) = ReturnIndirection[#this] : &:r1637_6, ~m? -# 1637| r1637_9(glval) = VariableAddress[#return] : -# 1637| v1637_10(void) = ReturnValue : &:r1637_9, ~m? -# 1637| v1637_11(void) = AliasedUse : ~m? -# 1637| v1637_12(void) = ExitFunction : - -# 1641| std::tuple_element::type StructuredBindingTupleNoRefGet::get() -# 1641| Block 0 -# 1641| v1641_1(void) = EnterFunction : -# 1641| mu1641_2(unknown) = AliasedDefinition : -# 1641| mu1641_3(unknown) = InitializeNonLocal : -# 1641| r1641_4(glval) = VariableAddress[#this] : -# 1641| mu1641_5(glval) = InitializeParameter[#this] : &:r1641_4 -# 1641| r1641_6(glval) = Load[#this] : &:r1641_4, ~m? -# 1641| mu1641_7(StructuredBindingTupleNoRefGet) = InitializeIndirection[#this] : &:r1641_6 -# 1642| r1642_1(glval) = VariableAddress[#return] : -# 1642| r1642_2(glval) = VariableAddress[#temp1642:12] : -# 1642| r1642_3(int) = Constant[5] : -# 1642| mu1642_4(int) = Store[#temp1642:12] : &:r1642_2, r1642_3 -# 1642| r1642_5(int &) = CopyValue : r1642_2 -# 1642| mu1642_6(int &&) = Store[#return] : &:r1642_1, r1642_5 -# 1641| v1641_8(void) = ReturnIndirection[#this] : &:r1641_6, ~m? -# 1641| r1641_9(glval) = VariableAddress[#return] : -# 1641| v1641_10(void) = ReturnValue : &:r1641_9, ~m? -# 1641| v1641_11(void) = AliasedUse : ~m? -# 1641| v1641_12(void) = ExitFunction : - -# 1645| void tuple_structured_binding_no_ref_get() -# 1645| Block 0 -# 1645| v1645_1(void) = EnterFunction : -# 1645| mu1645_2(unknown) = AliasedDefinition : -# 1645| mu1645_3(unknown) = InitializeNonLocal : -# 1646| r1646_1(glval) = VariableAddress[t] : -# 1646| mu1646_2(StructuredBindingTupleNoRefGet) = Uninitialized[t] : &:r1646_1 -# 1646| r1646_3(glval) = FunctionAddress[StructuredBindingTupleNoRefGet] : -# 1646| v1646_4(void) = Call[StructuredBindingTupleNoRefGet] : func:r1646_3, this:r1646_1 -# 1646| mu1646_5(unknown) = ^CallSideEffect : ~m? -# 1646| mu1646_6(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1646_1 -# 1649| r1649_1(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_2(glval) = VariableAddress[t] : -# 1649| r1649_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1649_2 -# 1649| mu1649_4(StructuredBindingTupleNoRefGet &) = Store[(unnamed local variable)] : &:r1649_1, r1649_3 -# 1649| r1649_5(glval) = VariableAddress[i] : -# 1649| r1649_6(glval) = VariableAddress[#temp1649:16] : -# 1649| r1649_7(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_8(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1649_7, ~m? -# 1649| r1649_9(glval) = CopyValue : r1649_8 -# 1649| r1649_10(glval) = FunctionAddress[get] : -# 1649| r1649_11(int) = Call[get] : func:r1649_10, this:r1649_9 -# 1649| mu1649_12(unknown) = ^CallSideEffect : ~m? -# 1649| v1649_13(void) = ^IndirectReadSideEffect[-1] : &:r1649_9, ~m? -# 1649| mu1649_14(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1649_9 -# 1649| mu1649_15(int) = Store[#temp1649:16] : &:r1649_6, r1649_11 -# 1649| r1649_16(int &) = CopyValue : r1649_6 -# 1649| mu1649_17(int &&) = Store[i] : &:r1649_5, r1649_16 -# 1649| r1649_18(glval) = VariableAddress[r] : -# 1649| r1649_19(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_20(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1649_19, ~m? -# 1649| r1649_21(glval) = CopyValue : r1649_20 -# 1649| r1649_22(glval) = FunctionAddress[get] : -# 1649| r1649_23(int &) = Call[get] : func:r1649_22, this:r1649_21 -# 1649| mu1649_24(unknown) = ^CallSideEffect : ~m? -# 1649| v1649_25(void) = ^IndirectReadSideEffect[-1] : &:r1649_21, ~m? -# 1649| mu1649_26(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1649_21 -# 1649| r1649_27(glval) = CopyValue : r1649_23 -# 1649| r1649_28(int &) = CopyValue : r1649_27 -# 1649| mu1649_29(int &) = Store[r] : &:r1649_18, r1649_28 -# 1649| r1649_30(glval) = VariableAddress[rv] : -# 1649| r1649_31(glval) = VariableAddress[(unnamed local variable)] : -# 1649| r1649_32(StructuredBindingTupleNoRefGet &) = Load[(unnamed local variable)] : &:r1649_31, ~m? -# 1649| r1649_33(glval) = CopyValue : r1649_32 -# 1649| r1649_34(glval) = FunctionAddress[get] : -# 1649| r1649_35(int &&) = Call[get] : func:r1649_34, this:r1649_33 -# 1649| mu1649_36(unknown) = ^CallSideEffect : ~m? -# 1649| v1649_37(void) = ^IndirectReadSideEffect[-1] : &:r1649_33, ~m? -# 1649| mu1649_38(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1649_33 -# 1649| r1649_39(glval) = CopyValue : r1649_35 -# 1649| r1649_40(int &) = CopyValue : r1649_39 -# 1649| mu1649_41(int &&) = Store[rv] : &:r1649_30, r1649_40 -# 1650| r1650_1(int) = Constant[4] : -# 1650| r1650_2(glval) = VariableAddress[i] : -# 1650| r1650_3(int &&) = Load[i] : &:r1650_2, ~m? -# 1650| r1650_4(glval) = CopyValue : r1650_3 -# 1650| mu1650_5(int) = Store[?] : &:r1650_4, r1650_1 -# 1651| r1651_1(glval) = VariableAddress[ri] : -# 1651| r1651_2(glval) = VariableAddress[i] : -# 1651| r1651_3(int &&) = Load[i] : &:r1651_2, ~m? -# 1651| r1651_4(glval) = CopyValue : r1651_3 -# 1651| r1651_5(int &) = CopyValue : r1651_4 -# 1651| mu1651_6(int &) = Store[ri] : &:r1651_1, r1651_5 -# 1652| r1652_1(glval) = VariableAddress[v] : +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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(int) = Load[?] : &:r1652_3, ~m? -# 1652| mu1652_5(int) = Store[v] : &:r1652_1, r1652_4 -# 1653| r1653_1(int) = Constant[5] : -# 1653| r1653_2(glval) = VariableAddress[r] : -# 1653| r1653_3(int &) = Load[r] : &:r1653_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| mu1653_5(int) = Store[?] : &:r1653_4, r1653_1 -# 1654| r1654_1(glval) = VariableAddress[rr] : -# 1654| r1654_2(glval) = VariableAddress[r] : -# 1654| r1654_3(int &) = Load[r] : &:r1654_2, ~m? -# 1654| r1654_4(glval) = CopyValue : r1654_3 -# 1654| r1654_5(int &) = CopyValue : r1654_4 -# 1654| mu1654_6(int &) = Store[rr] : &:r1654_1, r1654_5 -# 1655| r1655_1(glval) = VariableAddress[w] : +# 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(int) = Load[?] : &:r1655_3, ~m? -# 1655| mu1655_5(int) = Store[w] : &:r1655_1, r1655_4 -# 1659| r1659_1(glval) = VariableAddress[unnamed_local_variable] : -# 1659| r1659_2(glval) = VariableAddress[t] : -# 1659| r1659_3(StructuredBindingTupleNoRefGet &) = CopyValue : r1659_2 -# 1659| mu1659_4(StructuredBindingTupleNoRefGet &) = Store[unnamed_local_variable] : &:r1659_1, r1659_3 -# 1660| r1660_1(glval) = VariableAddress[i] : -# 1660| r1660_2(glval) = VariableAddress[#temp1660:20] : -# 1660| r1660_3(glval) = VariableAddress[unnamed_local_variable] : -# 1660| r1660_4(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1660_3, ~m? -# 1660| r1660_5(glval) = CopyValue : r1660_4 -# 1660| r1660_6(glval) = FunctionAddress[get] : -# 1660| r1660_7(int) = Call[get] : func:r1660_6, this:r1660_5 -# 1660| mu1660_8(unknown) = ^CallSideEffect : ~m? -# 1660| v1660_9(void) = ^IndirectReadSideEffect[-1] : &:r1660_5, ~m? -# 1660| mu1660_10(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1660_5 -# 1660| mu1660_11(int) = Store[#temp1660:20] : &:r1660_2, r1660_7 -# 1660| r1660_12(int &) = CopyValue : r1660_2 -# 1660| mu1660_13(int &&) = Store[i] : &:r1660_1, r1660_12 -# 1661| r1661_1(glval) = VariableAddress[r] : -# 1661| r1661_2(glval) = VariableAddress[unnamed_local_variable] : -# 1661| r1661_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1661_2, ~m? -# 1661| r1661_4(glval) = CopyValue : r1661_3 -# 1661| r1661_5(glval) = FunctionAddress[get] : -# 1661| r1661_6(int &) = Call[get] : func:r1661_5, this:r1661_4 -# 1661| mu1661_7(unknown) = ^CallSideEffect : ~m? -# 1661| v1661_8(void) = ^IndirectReadSideEffect[-1] : &:r1661_4, ~m? -# 1661| mu1661_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1661_4 -# 1661| r1661_10(glval) = CopyValue : r1661_6 -# 1661| r1661_11(int &) = CopyValue : r1661_10 -# 1661| mu1661_12(int &) = Store[r] : &:r1661_1, r1661_11 -# 1662| r1662_1(glval) = VariableAddress[rv] : -# 1662| r1662_2(glval) = VariableAddress[unnamed_local_variable] : -# 1662| r1662_3(StructuredBindingTupleNoRefGet &) = Load[unnamed_local_variable] : &:r1662_2, ~m? -# 1662| r1662_4(glval) = CopyValue : r1662_3 -# 1662| r1662_5(glval) = FunctionAddress[get] : -# 1662| r1662_6(int &&) = Call[get] : func:r1662_5, this:r1662_4 -# 1662| mu1662_7(unknown) = ^CallSideEffect : ~m? -# 1662| v1662_8(void) = ^IndirectReadSideEffect[-1] : &:r1662_4, ~m? -# 1662| mu1662_9(StructuredBindingTupleNoRefGet) = ^IndirectMayWriteSideEffect[-1] : &:r1662_4 -# 1662| r1662_10(glval) = CopyValue : r1662_6 -# 1662| r1662_11(int &) = CopyValue : r1662_10 -# 1662| mu1662_12(int &&) = Store[rv] : &:r1662_1, r1662_11 -# 1663| r1663_1(int) = Constant[4] : -# 1663| r1663_2(glval) = VariableAddress[i] : -# 1663| r1663_3(int &&) = Load[i] : &:r1663_2, ~m? -# 1663| r1663_4(glval) = CopyValue : r1663_3 -# 1663| mu1663_5(int) = Store[?] : &:r1663_4, r1663_1 -# 1664| r1664_1(glval) = VariableAddress[ri] : -# 1664| r1664_2(glval) = VariableAddress[i] : -# 1664| r1664_3(int &&) = Load[i] : &:r1664_2, ~m? -# 1664| r1664_4(glval) = CopyValue : r1664_3 -# 1664| r1664_5(int &) = CopyValue : r1664_4 -# 1664| mu1664_6(int &) = Store[ri] : &:r1664_1, r1664_5 -# 1665| r1665_1(glval) = VariableAddress[v] : +# 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(int) = Load[?] : &:r1665_3, ~m? -# 1665| mu1665_5(int) = Store[v] : &:r1665_1, r1665_4 -# 1666| r1666_1(int) = Constant[5] : -# 1666| r1666_2(glval) = VariableAddress[r] : -# 1666| r1666_3(int &) = Load[r] : &:r1666_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| mu1666_5(int) = Store[?] : &:r1666_4, r1666_1 -# 1667| r1667_1(glval) = VariableAddress[rr] : -# 1667| r1667_2(glval) = VariableAddress[r] : -# 1667| r1667_3(int &) = Load[r] : &:r1667_2, ~m? -# 1667| r1667_4(glval) = CopyValue : r1667_3 -# 1667| r1667_5(int &) = CopyValue : r1667_4 -# 1667| mu1667_6(int &) = Store[rr] : &:r1667_1, r1667_5 -# 1668| r1668_1(glval) = VariableAddress[w] : +# 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(int) = Load[?] : &:r1668_3, ~m? -# 1668| mu1668_5(int) = Store[w] : &:r1668_1, r1668_4 -# 1670| v1670_1(void) = NoOp : -# 1645| v1645_4(void) = ReturnVoid : -# 1645| v1645_5(void) = AliasedUse : ~m? -# 1645| v1645_6(void) = ExitFunction : - -# 1672| void array_structured_binding_non_ref_init() -# 1672| Block 0 -# 1672| v1672_1(void) = EnterFunction : -# 1672| mu1672_2(unknown) = AliasedDefinition : -# 1672| mu1672_3(unknown) = InitializeNonLocal : -# 1673| r1673_1(glval) = VariableAddress[xs] : -# 1673| mu1673_2(int[2]) = Uninitialized[xs] : &:r1673_1 -# 1673| r1673_3(int) = Constant[0] : -# 1673| r1673_4(glval) = PointerAdd[4] : r1673_1, r1673_3 -# 1673| r1673_5(int) = Constant[1] : -# 1673| mu1673_6(int) = Store[?] : &:r1673_4, r1673_5 -# 1673| r1673_7(int) = Constant[1] : -# 1673| r1673_8(glval) = PointerAdd[4] : r1673_1, r1673_7 -# 1673| r1673_9(int) = Constant[2] : -# 1673| mu1673_10(int) = Store[?] : &:r1673_8, r1673_9 -# 1674| r1674_1(glval) = VariableAddress[(unnamed local variable)] : -# 1674| r1674_2(glval) = VariableAddress[xs] : -# 1674| r1674_3(int[2]) = Load[xs] : &:r1674_2, ~m? -# 1674| mu1674_4(int[2]) = Store[(unnamed local variable)] : &:r1674_1, r1674_3 -# 1674| r1674_5(glval) = VariableAddress[x0] : +# 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 : + +# 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] : #-----| 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] : &:r1674_5, r0_4 -# 1674| r1674_6(glval) = VariableAddress[x1] : +#-----| mu0_5(int &) = Store[x0] : &:r1676_5, r0_4 +# 1676| r1676_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] : &:r1674_6, r0_9 -# 1675| v1675_1(void) = NoOp : -# 1672| v1672_4(void) = ReturnVoid : -# 1672| v1672_5(void) = AliasedUse : ~m? -# 1672| v1672_6(void) = ExitFunction : - -# 1680| void CapturedLambdaMyObj::CapturedLambdaMyObj() -# 1680| Block 0 -# 1680| v1680_1(void) = EnterFunction : -# 1680| mu1680_2(unknown) = AliasedDefinition : -# 1680| mu1680_3(unknown) = InitializeNonLocal : -# 1680| r1680_4(glval) = VariableAddress[#this] : -# 1680| mu1680_5(glval) = InitializeParameter[#this] : &:r1680_4 -# 1680| r1680_6(glval) = Load[#this] : &:r1680_4, ~m? -# 1680| mu1680_7(CapturedLambdaMyObj) = InitializeIndirection[#this] : &:r1680_6 -# 1680| v1680_8(void) = NoOp : -# 1680| v1680_9(void) = ReturnIndirection[#this] : &:r1680_6, ~m? -# 1680| v1680_10(void) = ReturnVoid : -# 1680| v1680_11(void) = AliasedUse : ~m? -# 1680| v1680_12(void) = ExitFunction : - -# 1683| void captured_lambda(int, int&, int&&) -# 1683| Block 0 -# 1683| v1683_1(void) = EnterFunction : -# 1683| mu1683_2(unknown) = AliasedDefinition : -# 1683| mu1683_3(unknown) = InitializeNonLocal : -# 1683| r1683_4(glval) = VariableAddress[x] : -# 1683| mu1683_5(int) = InitializeParameter[x] : &:r1683_4 -# 1683| r1683_6(glval) = VariableAddress[y] : -# 1683| mu1683_7(int &) = InitializeParameter[y] : &:r1683_6 -# 1683| r1683_8(int &) = Load[y] : &:r1683_6, ~m? -# 1683| mu1683_9(unknown) = InitializeIndirection[y] : &:r1683_8 -# 1683| r1683_10(glval) = VariableAddress[z] : -# 1683| mu1683_11(int &&) = InitializeParameter[z] : &:r1683_10 -# 1683| r1683_12(int &&) = Load[z] : &:r1683_10, ~m? -# 1683| mu1683_13(unknown) = InitializeIndirection[z] : &:r1683_12 -# 1685| r1685_1(glval) = VariableAddress[obj1] : -# 1685| r1685_2(glval) = VariableAddress[#temp1685:24] : -# 1685| mu1685_3(CapturedLambdaMyObj) = Uninitialized[#temp1685:24] : &:r1685_2 -# 1685| r1685_4(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1685| v1685_5(void) = Call[CapturedLambdaMyObj] : func:r1685_4, this:r1685_2 -# 1685| mu1685_6(unknown) = ^CallSideEffect : ~m? -# 1685| mu1685_7(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1685_2 -# 1685| r1685_8(glval) = Convert : r1685_2 -# 1685| r1685_9(CapturedLambdaMyObj &) = CopyValue : r1685_8 -# 1685| mu1685_10(CapturedLambdaMyObj &) = Store[obj1] : &:r1685_1, r1685_9 -# 1686| r1686_1(glval) = VariableAddress[obj2] : -# 1686| mu1686_2(CapturedLambdaMyObj) = Uninitialized[obj2] : &:r1686_1 -# 1686| r1686_3(glval) = FunctionAddress[CapturedLambdaMyObj] : -# 1686| v1686_4(void) = Call[CapturedLambdaMyObj] : func:r1686_3, this:r1686_1 -# 1686| mu1686_5(unknown) = ^CallSideEffect : ~m? -# 1686| mu1686_6(CapturedLambdaMyObj) = ^IndirectMayWriteSideEffect[-1] : &:r1686_1 -# 1688| r1688_1(glval) = VariableAddress[lambda_outer] : -# 1688| r1688_2(glval) = VariableAddress[#temp1688:24] : -# 1688| mu1688_3(decltype([...](...){...})) = Uninitialized[#temp1688:24] : &:r1688_2 -# 1688| r1688_4(glval) = FieldAddress[obj1] : r1688_2 -# 1688| r1688_5(glval) = VariableAddress[obj1] : -# 1688| r1688_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1688_5, ~m? -#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1688_6, ~m? -#-----| mu0_2(CapturedLambdaMyObj) = Store[?] : &:r1688_4, r0_1 -# 1688| r1688_7(glval) = FieldAddress[obj2] : r1688_2 -# 1688| r1688_8(glval) = VariableAddress[obj2] : -# 1688| r1688_9(CapturedLambdaMyObj) = Load[obj2] : &:r1688_8, ~m? -# 1688| mu1688_10(CapturedLambdaMyObj) = Store[?] : &:r1688_7, r1688_9 -# 1688| r1688_11(glval) = FieldAddress[x] : r1688_2 -# 1688| r1688_12(glval) = VariableAddress[x] : -# 1688| r1688_13(int) = Load[x] : &:r1688_12, ~m? -# 1688| mu1688_14(int) = Store[?] : &:r1688_11, r1688_13 -# 1688| r1688_15(glval) = FieldAddress[y] : r1688_2 -# 1688| r1688_16(glval) = VariableAddress[y] : -# 1688| r1688_17(int &) = Load[y] : &:r1688_16, ~m? -# 1690| r1690_1(int) = Load[?] : &:r1688_17, ~m? -# 1690| mu1690_2(int) = Store[?] : &:r1688_15, r1690_1 -# 1688| r1688_18(glval) = FieldAddress[z] : r1688_2 -# 1688| r1688_19(glval) = VariableAddress[z] : -# 1688| r1688_20(int &&) = Load[z] : &:r1688_19, ~m? -# 1690| r1690_3(int) = Load[?] : &:r1688_20, ~m? -# 1690| mu1690_4(int) = Store[?] : &:r1688_18, r1690_3 -# 1688| r1688_21(decltype([...](...){...})) = Load[#temp1688:24] : &:r1688_2, ~m? -# 1688| mu1688_22(decltype([...](...){...})) = Store[lambda_outer] : &:r1688_1, r1688_21 -# 1691| v1691_1(void) = NoOp : -# 1683| v1683_14(void) = ReturnIndirection[y] : &:r1683_8, ~m? -# 1683| v1683_15(void) = ReturnIndirection[z] : &:r1683_12, ~m? -# 1683| v1683_16(void) = ReturnVoid : -# 1683| v1683_17(void) = AliasedUse : ~m? -# 1683| v1683_18(void) = ExitFunction : - -# 1688| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const -# 1688| Block 0 -# 1688| v1688_1(void) = EnterFunction : -# 1688| mu1688_2(unknown) = AliasedDefinition : -# 1688| mu1688_3(unknown) = InitializeNonLocal : -# 1688| r1688_4(glval) = VariableAddress[#this] : -# 1688| mu1688_5(glval) = InitializeParameter[#this] : &:r1688_4 -# 1688| r1688_6(glval) = Load[#this] : &:r1688_4, ~m? -# 1688| mu1688_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1688_6 -# 1689| r1689_1(glval) = VariableAddress[lambda_inner] : -# 1689| r1689_2(glval) = VariableAddress[#temp1689:28] : -# 1689| mu1689_3(decltype([...](...){...})) = Uninitialized[#temp1689:28] : &:r1689_2 -# 1689| r1689_4(glval) = FieldAddress[obj1] : r1689_2 -# 1689| r1689_5(glval) = VariableAddress[#this] : -# 1689| r1689_6(lambda [] type at line 1689, col. 29 *) = Load[#this] : &:r1689_5, ~m? -# 1689| r1689_7(glval) = FieldAddress[obj1] : r1689_6 -# 1689| r1689_8(CapturedLambdaMyObj) = Load[?] : &:r1689_7, ~m? -# 1689| mu1689_9(CapturedLambdaMyObj) = Store[?] : &:r1689_4, r1689_8 -# 1689| r1689_10(glval) = FieldAddress[obj2] : r1689_2 -# 1689| r1689_11(glval) = VariableAddress[#this] : -# 1689| r1689_12(lambda [] type at line 1689, col. 29 *) = Load[#this] : &:r1689_11, ~m? -# 1689| r1689_13(glval) = FieldAddress[obj2] : r1689_12 -# 1689| r1689_14(CapturedLambdaMyObj) = Load[?] : &:r1689_13, ~m? -# 1689| mu1689_15(CapturedLambdaMyObj) = Store[?] : &:r1689_10, r1689_14 -# 1689| r1689_16(glval) = FieldAddress[x] : r1689_2 -# 1689| r1689_17(glval) = VariableAddress[#this] : -# 1689| r1689_18(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_17, ~m? -# 1689| r1689_19(glval) = FieldAddress[x] : r1689_18 -# 1689| r1689_20(int) = Load[?] : &:r1689_19, ~m? -# 1689| mu1689_21(int) = Store[?] : &:r1689_16, r1689_20 -# 1689| r1689_22(glval) = FieldAddress[y] : r1689_2 -# 1689| r1689_23(glval) = VariableAddress[#this] : -# 1689| r1689_24(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_23, ~m? -# 1689| r1689_25(glval) = FieldAddress[y] : r1689_24 -# 1689| r1689_26(int) = Load[?] : &:r1689_25, ~m? -# 1689| mu1689_27(int) = Store[?] : &:r1689_22, r1689_26 -# 1689| r1689_28(glval) = FieldAddress[z] : r1689_2 -# 1689| r1689_29(glval) = VariableAddress[#this] : -# 1689| r1689_30(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_29, ~m? -# 1689| r1689_31(glval) = FieldAddress[z] : r1689_30 -# 1689| r1689_32(int) = Load[?] : &:r1689_31, ~m? -# 1689| mu1689_33(int) = Store[?] : &:r1689_28, r1689_32 -# 1689| r1689_34(decltype([...](...){...})) = Load[#temp1689:28] : &:r1689_2, ~m? -# 1689| mu1689_35(decltype([...](...){...})) = Store[lambda_inner] : &:r1689_1, r1689_34 -# 1690| v1690_1(void) = NoOp : -# 1688| v1688_8(void) = ReturnIndirection[#this] : &:r1688_6, ~m? -# 1688| v1688_9(void) = ReturnVoid : -# 1688| v1688_10(void) = AliasedUse : ~m? -# 1688| v1688_11(void) = ExitFunction : - -# 1689| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::operator()() const -# 1689| Block 0 -# 1689| v1689_1(void) = EnterFunction : -# 1689| mu1689_2(unknown) = AliasedDefinition : -# 1689| mu1689_3(unknown) = InitializeNonLocal : -# 1689| r1689_4(glval) = VariableAddress[#this] : -# 1689| mu1689_5(glval) = InitializeParameter[#this] : &:r1689_4 -# 1689| r1689_6(glval) = Load[#this] : &:r1689_4, ~m? -# 1689| mu1689_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1689_6 -# 1689| v1689_8(void) = NoOp : -# 1689| v1689_9(void) = NoOp : -# 1689| v1689_10(void) = ReturnIndirection[#this] : &:r1689_6, ~m? -# 1689| v1689_11(void) = ReturnVoid : -# 1689| v1689_12(void) = AliasedUse : ~m? -# 1689| v1689_13(void) = ExitFunction : - -# 1693| int goto_on_same_line() -# 1693| Block 0 -# 1693| v1693_1(void) = EnterFunction : -# 1693| mu1693_2(unknown) = AliasedDefinition : -# 1693| mu1693_3(unknown) = InitializeNonLocal : -# 1694| r1694_1(glval) = VariableAddress[x] : -# 1694| r1694_2(int) = Constant[42] : -# 1694| mu1694_3(int) = Store[x] : &:r1694_1, r1694_2 -# 1695| v1695_1(void) = NoOp : -# 1695| v1695_2(void) = NoOp : -# 1696| r1696_1(glval) = VariableAddress[#return] : -# 1696| r1696_2(glval) = VariableAddress[x] : -# 1696| r1696_3(int) = Load[x] : &:r1696_2, ~m? -# 1696| mu1696_4(int) = Store[#return] : &:r1696_1, r1696_3 -# 1693| r1693_4(glval) = VariableAddress[#return] : -# 1693| v1693_5(void) = ReturnValue : &:r1693_4, ~m? -# 1693| v1693_6(void) = AliasedUse : ~m? -# 1693| v1693_7(void) = ExitFunction : - -# 1701| void TrivialLambdaClass::m() const -# 1701| Block 0 -# 1701| v1701_1(void) = EnterFunction : -# 1701| mu1701_2(unknown) = AliasedDefinition : -# 1701| mu1701_3(unknown) = InitializeNonLocal : -# 1701| r1701_4(glval) = VariableAddress[#this] : -# 1701| mu1701_5(glval) = InitializeParameter[#this] : &:r1701_4 -# 1701| r1701_6(glval) = Load[#this] : &:r1701_4, ~m? -# 1701| mu1701_7(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1701_6 -# 1702| r1702_1(glval) = VariableAddress[l_m_outer] : -# 1702| r1702_2(glval) = VariableAddress[#temp1702:25] : -# 1702| mu1702_3(decltype([...](...){...})) = Uninitialized[#temp1702:25] : &:r1702_2 -# 1702| r1702_4(glval) = FieldAddress[(captured this)] : r1702_2 -# 1702| r1702_5(glval) = VariableAddress[#this] : -# 1702| r1702_6(TrivialLambdaClass *) = Load[#this] : &:r1702_5, ~m? -# 1702| r1702_7(TrivialLambdaClass) = Load[?] : &:r1702_6, ~m? -# 1702| mu1702_8(TrivialLambdaClass) = Store[?] : &:r1702_4, r1702_7 -# 1702| r1702_9(decltype([...](...){...})) = Load[#temp1702:25] : &:r1702_2, ~m? -# 1702| mu1702_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1702_1, r1702_9 -# 1709| v1709_1(void) = NoOp : -# 1701| v1701_8(void) = ReturnIndirection[#this] : &:r1701_6, ~m? -# 1701| v1701_9(void) = ReturnVoid : -# 1701| v1701_10(void) = AliasedUse : ~m? -# 1701| v1701_11(void) = ExitFunction : - -# 1702| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const -# 1702| Block 0 -# 1702| v1702_1(void) = EnterFunction : -# 1702| mu1702_2(unknown) = AliasedDefinition : -# 1702| mu1702_3(unknown) = InitializeNonLocal : -# 1702| r1702_4(glval) = VariableAddress[#this] : -# 1702| mu1702_5(glval) = InitializeParameter[#this] : &:r1702_4 -# 1702| r1702_6(glval) = Load[#this] : &:r1702_4, ~m? -# 1702| mu1702_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1702_6 -# 1703| r1703_1(glval) = VariableAddress[#this] : -# 1703| r1703_2(lambda [] type at line 1702, col. 26 *) = Load[#this] : &:r1703_1, ~m? -# 1703| r1703_3(glval) = FieldAddress[(captured this)] : r1703_2 -# 1703| r1703_4(TrivialLambdaClass *) = CopyValue : r1703_3 -# 1703| r1703_5(glval) = FunctionAddress[m] : -# 1703| v1703_6(void) = Call[m] : func:r1703_5, this:r1703_4 -# 1703| mu1703_7(unknown) = ^CallSideEffect : ~m? -# 1703| v1703_8(void) = ^IndirectReadSideEffect[-1] : &:r1703_4, ~m? -# 1705| r1705_1(glval) = VariableAddress[l_m_inner] : -# 1705| r1705_2(glval) = VariableAddress[#temp1705:29] : -# 1705| mu1705_3(decltype([...](...){...})) = Uninitialized[#temp1705:29] : &:r1705_2 -# 1705| r1705_4(glval) = FieldAddress[(captured this)] : r1705_2 -# 1705| r1705_5(glval) = VariableAddress[#this] : -# 1705| r1705_6(lambda [] type at line 1705, col. 30 *) = Load[#this] : &:r1705_5, ~m? -# 1705| r1705_7(glval) = FieldAddress[(captured this)] : r1705_6 -# 1705| r1705_8(TrivialLambdaClass) = Load[?] : &:r1705_7, ~m? -# 1705| mu1705_9(TrivialLambdaClass) = Store[?] : &:r1705_4, r1705_8 -# 1705| r1705_10(decltype([...](...){...})) = Load[#temp1705:29] : &:r1705_2, ~m? -# 1705| mu1705_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1705_1, r1705_10 -# 1708| v1708_1(void) = NoOp : -# 1702| v1702_8(void) = ReturnIndirection[#this] : &:r1702_6, ~m? -# 1702| v1702_9(void) = ReturnVoid : -# 1702| v1702_10(void) = AliasedUse : ~m? -# 1702| v1702_11(void) = ExitFunction : - -# 1705| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator()() const -# 1705| Block 0 -# 1705| v1705_1(void) = EnterFunction : -# 1705| mu1705_2(unknown) = AliasedDefinition : -# 1705| mu1705_3(unknown) = InitializeNonLocal : -# 1705| r1705_4(glval) = VariableAddress[#this] : -# 1705| mu1705_5(glval) = InitializeParameter[#this] : &:r1705_4 -# 1705| r1705_6(glval) = Load[#this] : &:r1705_4, ~m? -# 1705| mu1705_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1705_6 -# 1706| r1706_1(glval) = VariableAddress[#this] : -# 1706| r1706_2(lambda [] type at line 1705, col. 30 *) = Load[#this] : &:r1706_1, ~m? -# 1706| r1706_3(glval) = FieldAddress[(captured this)] : r1706_2 -# 1706| r1706_4(TrivialLambdaClass *) = CopyValue : r1706_3 -# 1706| r1706_5(glval) = FunctionAddress[m] : -# 1706| v1706_6(void) = Call[m] : func:r1706_5, this:r1706_4 -# 1706| mu1706_7(unknown) = ^CallSideEffect : ~m? -# 1706| v1706_8(void) = ^IndirectReadSideEffect[-1] : &:r1706_4, ~m? -# 1707| v1707_1(void) = NoOp : -# 1705| v1705_8(void) = ReturnIndirection[#this] : &:r1705_6, ~m? -# 1705| v1705_9(void) = ReturnVoid : -# 1705| v1705_10(void) = AliasedUse : ~m? -# 1705| v1705_11(void) = ExitFunction : - -# 1712| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&) -# 1712| Block 0 -# 1712| v1712_1(void) = EnterFunction : -# 1712| mu1712_2(unknown) = AliasedDefinition : -# 1712| mu1712_3(unknown) = InitializeNonLocal : -# 1712| r1712_4(glval) = VariableAddress[p1] : -# 1712| mu1712_5(TrivialLambdaClass) = InitializeParameter[p1] : &:r1712_4 -# 1712| r1712_6(glval) = VariableAddress[p2] : -# 1712| mu1712_7(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1712_6 -# 1712| r1712_8(TrivialLambdaClass &) = Load[p2] : &:r1712_6, ~m? -# 1712| mu1712_9(unknown) = InitializeIndirection[p2] : &:r1712_8 -# 1712| r1712_10(glval) = VariableAddress[p3] : -# 1712| mu1712_11(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1712_10 -# 1712| r1712_12(TrivialLambdaClass &&) = Load[p3] : &:r1712_10, ~m? -# 1712| mu1712_13(unknown) = InitializeIndirection[p3] : &:r1712_12 -# 1713| r1713_1(glval) = VariableAddress[l1] : -# 1713| mu1713_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1713_1 -# 1714| r1714_1(glval) = VariableAddress[l2] : -# 1714| r1714_2(glval) = VariableAddress[#temp1714:36] : -# 1714| r1714_3(TrivialLambdaClass) = Constant[0] : -# 1714| mu1714_4(TrivialLambdaClass) = Store[#temp1714:36] : &:r1714_2, r1714_3 -# 1714| r1714_5(glval) = Convert : r1714_2 -# 1714| r1714_6(TrivialLambdaClass &) = CopyValue : r1714_5 -# 1714| mu1714_7(TrivialLambdaClass &) = Store[l2] : &:r1714_1, r1714_6 -# 1716| r1716_1(glval) = VariableAddress[l_outer1] : -# 1716| r1716_2(glval) = VariableAddress[#temp1716:20] : -# 1716| mu1716_3(decltype([...](...){...})) = Uninitialized[#temp1716:20] : &:r1716_2 -# 1716| r1716_4(glval) = FieldAddress[p1] : r1716_2 -# 1716| r1716_5(glval) = VariableAddress[p1] : -# 1716| r1716_6(TrivialLambdaClass) = Load[p1] : &:r1716_5, ~m? -# 1716| mu1716_7(TrivialLambdaClass) = Store[?] : &:r1716_4, r1716_6 -# 1716| r1716_8(glval) = FieldAddress[p2] : r1716_2 -# 1716| r1716_9(glval) = VariableAddress[p2] : -# 1716| r1716_10(TrivialLambdaClass &) = Load[p2] : &:r1716_9, ~m? -#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1716_10, ~m? -#-----| mu0_2(TrivialLambdaClass) = Store[?] : &:r1716_8, r0_1 -# 1716| r1716_11(glval) = FieldAddress[p3] : r1716_2 -# 1716| r1716_12(glval) = VariableAddress[p3] : -# 1716| r1716_13(TrivialLambdaClass &&) = Load[p3] : &:r1716_12, ~m? -#-----| r0_3(TrivialLambdaClass) = Load[?] : &:r1716_13, ~m? -#-----| mu0_4(TrivialLambdaClass) = Store[?] : &:r1716_11, r0_3 -# 1716| r1716_14(glval) = FieldAddress[l1] : r1716_2 -# 1716| r1716_15(glval) = VariableAddress[l1] : -# 1716| r1716_16(TrivialLambdaClass) = Load[l1] : &:r1716_15, ~m? -# 1716| mu1716_17(TrivialLambdaClass) = Store[?] : &:r1716_14, r1716_16 -# 1716| r1716_18(glval) = FieldAddress[l2] : r1716_2 -# 1716| r1716_19(glval) = VariableAddress[l2] : -# 1716| r1716_20(TrivialLambdaClass &) = Load[l2] : &:r1716_19, ~m? -#-----| r0_5(TrivialLambdaClass) = Load[?] : &:r1716_20, ~m? -#-----| mu0_6(TrivialLambdaClass) = Store[?] : &:r1716_18, r0_5 -# 1716| r1716_21(decltype([...](...){...})) = Load[#temp1716:20] : &:r1716_2, ~m? -# 1716| mu1716_22(decltype([...](...){...})) = Store[l_outer1] : &:r1716_1, r1716_21 -# 1719| v1719_1(void) = NoOp : -# 1712| v1712_14(void) = ReturnIndirection[p2] : &:r1712_8, ~m? -# 1712| v1712_15(void) = ReturnIndirection[p3] : &:r1712_12, ~m? -# 1712| v1712_16(void) = ReturnVoid : -# 1712| v1712_17(void) = AliasedUse : ~m? -# 1712| v1712_18(void) = ExitFunction : - -# 1716| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const -# 1716| Block 0 -# 1716| v1716_1(void) = EnterFunction : -# 1716| mu1716_2(unknown) = AliasedDefinition : -# 1716| mu1716_3(unknown) = InitializeNonLocal : -# 1716| r1716_4(glval) = VariableAddress[#this] : -# 1716| mu1716_5(glval) = InitializeParameter[#this] : &:r1716_4 -# 1716| r1716_6(glval) = Load[#this] : &:r1716_4, ~m? -# 1716| mu1716_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1716_6 -# 1717| r1717_1(glval) = VariableAddress[l_inner1] : -# 1717| r1717_2(glval) = VariableAddress[#temp1717:24] : -# 1717| mu1717_3(decltype([...](...){...})) = Uninitialized[#temp1717:24] : &:r1717_2 -# 1717| r1717_4(glval) = FieldAddress[p1] : r1717_2 -# 1717| r1717_5(glval) = VariableAddress[#this] : -# 1717| r1717_6(lambda [] type at line 1717, col. 25 *) = Load[#this] : &:r1717_5, ~m? -# 1717| r1717_7(glval) = FieldAddress[p1] : r1717_6 -# 1717| r1717_8(TrivialLambdaClass) = Load[?] : &:r1717_7, ~m? -# 1717| mu1717_9(TrivialLambdaClass) = Store[?] : &:r1717_4, r1717_8 -# 1717| r1717_10(decltype([...](...){...})) = Load[#temp1717:24] : &:r1717_2, ~m? -# 1717| mu1717_11(decltype([...](...){...})) = Store[l_inner1] : &:r1717_1, r1717_10 -# 1718| v1718_1(void) = NoOp : -# 1716| v1716_8(void) = ReturnIndirection[#this] : &:r1716_6, ~m? -# 1716| v1716_9(void) = ReturnVoid : -# 1716| v1716_10(void) = AliasedUse : ~m? -# 1716| v1716_11(void) = ExitFunction : - -# 1717| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator()() const -# 1717| Block 0 -# 1717| v1717_1(void) = EnterFunction : -# 1717| mu1717_2(unknown) = AliasedDefinition : -# 1717| mu1717_3(unknown) = InitializeNonLocal : -# 1717| r1717_4(glval) = VariableAddress[#this] : -# 1717| mu1717_5(glval) = InitializeParameter[#this] : &:r1717_4 -# 1717| r1717_6(glval) = Load[#this] : &:r1717_4, ~m? -# 1717| mu1717_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1717_6 -# 1717| v1717_8(void) = NoOp : -# 1717| v1717_9(void) = ReturnIndirection[#this] : &:r1717_6, ~m? -# 1717| v1717_10(void) = ReturnVoid : -# 1717| v1717_11(void) = AliasedUse : ~m? -# 1717| v1717_12(void) = ExitFunction : - -# 1724| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass() -# 1724| Block 0 -# 1724| v1724_1(void) = EnterFunction : -# 1724| mu1724_2(unknown) = AliasedDefinition : -# 1724| mu1724_3(unknown) = InitializeNonLocal : -# 1724| r1724_4(glval) = VariableAddress[#this] : -# 1724| mu1724_5(glval) = InitializeParameter[#this] : &:r1724_4 -# 1724| r1724_6(glval) = Load[#this] : &:r1724_4, ~m? -# 1724| mu1724_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1724_6 -# 1724| v1724_8(void) = NoOp : -# 1724| v1724_9(void) = ReturnIndirection[#this] : &:r1724_6, ~m? -# 1724| v1724_10(void) = ReturnVoid : -# 1724| v1724_11(void) = AliasedUse : ~m? -# 1724| v1724_12(void) = ExitFunction : - -# 1725| void CopyConstructorWithImplicitArgumentClass::CopyConstructorWithImplicitArgumentClass(CopyConstructorWithImplicitArgumentClass const&) -# 1725| Block 0 -# 1725| v1725_1(void) = EnterFunction : -# 1725| mu1725_2(unknown) = AliasedDefinition : -# 1725| mu1725_3(unknown) = InitializeNonLocal : -# 1725| r1725_4(glval) = VariableAddress[#this] : -# 1725| mu1725_5(glval) = InitializeParameter[#this] : &:r1725_4 -# 1725| r1725_6(glval) = Load[#this] : &:r1725_4, ~m? -# 1725| mu1725_7(CopyConstructorWithImplicitArgumentClass) = InitializeIndirection[#this] : &:r1725_6 -# 1725| r1725_8(glval) = VariableAddress[c] : -# 1725| mu1725_9(CopyConstructorWithImplicitArgumentClass &) = InitializeParameter[c] : &:r1725_8 -# 1725| r1725_10(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1725_8, ~m? -# 1725| mu1725_11(unknown) = InitializeIndirection[c] : &:r1725_10 -# 1726| r1726_1(glval) = VariableAddress[c] : -# 1726| r1726_2(CopyConstructorWithImplicitArgumentClass &) = Load[c] : &:r1726_1, ~m? -# 1726| r1726_3(glval) = CopyValue : r1726_2 -# 1726| r1726_4(glval) = FieldAddress[x] : r1726_3 -# 1726| r1726_5(int) = Load[?] : &:r1726_4, ~m? -# 1726| r1726_6(glval) = VariableAddress[#this] : -# 1726| r1726_7(CopyConstructorWithImplicitArgumentClass *) = Load[#this] : &:r1726_6, ~m? -# 1726| r1726_8(glval) = FieldAddress[x] : r1726_7 -# 1726| mu1726_9(int) = Store[?] : &:r1726_8, r1726_5 -# 1727| v1727_1(void) = NoOp : -# 1725| v1725_12(void) = ReturnIndirection[#this] : &:r1725_6, ~m? -# 1725| v1725_13(void) = ReturnIndirection[c] : &:r1725_10, ~m? -# 1725| v1725_14(void) = ReturnVoid : -# 1725| v1725_15(void) = AliasedUse : ~m? -# 1725| v1725_16(void) = ExitFunction : - -# 1733| void CopyConstructorWithBitwiseCopyClass::CopyConstructorWithBitwiseCopyClass() -# 1733| Block 0 -# 1733| v1733_1(void) = EnterFunction : -# 1733| mu1733_2(unknown) = AliasedDefinition : -# 1733| mu1733_3(unknown) = InitializeNonLocal : -# 1733| r1733_4(glval) = VariableAddress[#this] : -# 1733| mu1733_5(glval) = InitializeParameter[#this] : &:r1733_4 -# 1733| r1733_6(glval) = Load[#this] : &:r1733_4, ~m? -# 1733| mu1733_7(CopyConstructorWithBitwiseCopyClass) = InitializeIndirection[#this] : &:r1733_6 -# 1733| v1733_8(void) = NoOp : -# 1733| v1733_9(void) = ReturnIndirection[#this] : &:r1733_6, ~m? -# 1733| v1733_10(void) = ReturnVoid : -# 1733| v1733_11(void) = AliasedUse : ~m? -# 1733| v1733_12(void) = ExitFunction : - -# 1736| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass(CopyConstructorTestNonVirtualClass const&) -# 1736| Block 0 -# 1736| v1736_1(void) = EnterFunction : -# 1736| mu1736_2(unknown) = AliasedDefinition : -# 1736| mu1736_3(unknown) = InitializeNonLocal : -# 1736| r1736_4(glval) = VariableAddress[#this] : -# 1736| mu1736_5(glval) = InitializeParameter[#this] : &:r1736_4 -# 1736| r1736_6(glval) = Load[#this] : &:r1736_4, ~m? -# 1736| mu1736_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1736_6 +#-----| 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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| 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 #-----| 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 -# 1736| r1736_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1736_5 -# 1736| r1736_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1736| r1736_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1736| r1736_11(CopyConstructorTestNonVirtualClass &) = Load[(unnamed parameter 0)] : &:r1736_10, ~m? -# 1736| r1736_12(glval) = CopyValue : r1736_11 -# 1736| r1736_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1736_12 -# 1736| r1736_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1736_13 -# 1736| v1736_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1736_9, this:r1736_8, 0:r1736_14 -# 1736| mu1736_16(unknown) = ^CallSideEffect : ~m? -# 1736| v1736_17(void) = ^BufferReadSideEffect[0] : &:r1736_14, ~m? -# 1736| mu1736_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1736_8 -# 1736| v1736_19(void) = NoOp : -# 1736| v1736_20(void) = ReturnIndirection[#this] : &:r1736_6, ~m? +# 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? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1736| v1736_21(void) = ReturnVoid : -# 1736| v1736_22(void) = AliasedUse : ~m? -# 1736| v1736_23(void) = ExitFunction : - -# 1740| void CopyConstructorTestNonVirtualClass::CopyConstructorTestNonVirtualClass() -# 1740| Block 0 -# 1740| v1740_1(void) = EnterFunction : -# 1740| mu1740_2(unknown) = AliasedDefinition : -# 1740| mu1740_3(unknown) = InitializeNonLocal : -# 1740| r1740_4(glval) = VariableAddress[#this] : -# 1740| mu1740_5(glval) = InitializeParameter[#this] : &:r1740_4 -# 1740| r1740_6(glval) = Load[#this] : &:r1740_4, ~m? -# 1740| mu1740_7(CopyConstructorTestNonVirtualClass) = InitializeIndirection[#this] : &:r1740_6 -# 1740| r1740_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1740_5 -# 1740| r1740_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1740| v1740_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1740_9, this:r1740_8 -# 1740| mu1740_11(unknown) = ^CallSideEffect : ~m? -# 1740| mu1740_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1740_8 -# 1740| r1740_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestNonVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1740_5 -# 1740| r1740_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1740| v1740_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1740_14, this:r1740_13 -# 1740| mu1740_16(unknown) = ^CallSideEffect : ~m? -# 1740| mu1740_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1740_13 -# 1740| v1740_18(void) = NoOp : -# 1740| v1740_19(void) = ReturnIndirection[#this] : &:r1740_6, ~m? -# 1740| v1740_20(void) = ReturnVoid : -# 1740| v1740_21(void) = AliasedUse : ~m? -# 1740| v1740_22(void) = ExitFunction : - -# 1743| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass(CopyConstructorTestVirtualClass const&) -# 1743| Block 0 -# 1743| v1743_1(void) = EnterFunction : -# 1743| mu1743_2(unknown) = AliasedDefinition : -# 1743| mu1743_3(unknown) = InitializeNonLocal : -# 1743| r1743_4(glval) = VariableAddress[#this] : -# 1743| mu1743_5(glval) = InitializeParameter[#this] : &:r1743_4 -# 1743| r1743_6(glval) = Load[#this] : &:r1743_4, ~m? -# 1743| mu1743_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1743_6 +# 1738| v1738_21(void) = ReturnVoid : +# 1738| v1738_22(void) = AliasedUse : ~m? +# 1738| v1738_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 : + +# 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 #-----| 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 -# 1743| r1743_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1743_5 -# 1743| r1743_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1743| r1743_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 1743| r1743_11(CopyConstructorTestVirtualClass &) = Load[(unnamed parameter 0)] : &:r1743_10, ~m? -# 1743| r1743_12(glval) = CopyValue : r1743_11 -# 1743| r1743_13(glval) = ConvertToVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : r1743_12 -# 1743| r1743_14(CopyConstructorWithImplicitArgumentClass &) = CopyValue : r1743_13 -# 1743| v1743_15(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1743_9, this:r1743_8, 0:r1743_14 -# 1743| mu1743_16(unknown) = ^CallSideEffect : ~m? -# 1743| v1743_17(void) = ^BufferReadSideEffect[0] : &:r1743_14, ~m? -# 1743| mu1743_18(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1743_8 -# 1743| v1743_19(void) = NoOp : -# 1743| v1743_20(void) = ReturnIndirection[#this] : &:r1743_6, ~m? +# 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? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1743| v1743_21(void) = ReturnVoid : -# 1743| v1743_22(void) = AliasedUse : ~m? -# 1743| v1743_23(void) = ExitFunction : - -# 1747| void CopyConstructorTestVirtualClass::CopyConstructorTestVirtualClass() -# 1747| Block 0 -# 1747| v1747_1(void) = EnterFunction : -# 1747| mu1747_2(unknown) = AliasedDefinition : -# 1747| mu1747_3(unknown) = InitializeNonLocal : -# 1747| r1747_4(glval) = VariableAddress[#this] : -# 1747| mu1747_5(glval) = InitializeParameter[#this] : &:r1747_4 -# 1747| r1747_6(glval) = Load[#this] : &:r1747_4, ~m? -# 1747| mu1747_7(CopyConstructorTestVirtualClass) = InitializeIndirection[#this] : &:r1747_6 -# 1747| r1747_8(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithImplicitArgumentClass] : mu1747_5 -# 1747| r1747_9(glval) = FunctionAddress[CopyConstructorWithImplicitArgumentClass] : -# 1747| v1747_10(void) = Call[CopyConstructorWithImplicitArgumentClass] : func:r1747_9, this:r1747_8 -# 1747| mu1747_11(unknown) = ^CallSideEffect : ~m? -# 1747| mu1747_12(CopyConstructorWithImplicitArgumentClass) = ^IndirectMayWriteSideEffect[-1] : &:r1747_8 -# 1747| r1747_13(glval) = ConvertToNonVirtualBase[CopyConstructorTestVirtualClass : CopyConstructorWithBitwiseCopyClass] : mu1747_5 -# 1747| r1747_14(glval) = FunctionAddress[CopyConstructorWithBitwiseCopyClass] : -# 1747| v1747_15(void) = Call[CopyConstructorWithBitwiseCopyClass] : func:r1747_14, this:r1747_13 -# 1747| mu1747_16(unknown) = ^CallSideEffect : ~m? -# 1747| mu1747_17(CopyConstructorWithBitwiseCopyClass) = ^IndirectMayWriteSideEffect[-1] : &:r1747_13 -# 1747| v1747_18(void) = NoOp : -# 1747| v1747_19(void) = ReturnIndirection[#this] : &:r1747_6, ~m? -# 1747| v1747_20(void) = ReturnVoid : -# 1747| v1747_21(void) = AliasedUse : ~m? -# 1747| v1747_22(void) = ExitFunction : - -# 1750| int implicit_copy_constructor_test(CopyConstructorTestNonVirtualClass const&, CopyConstructorTestVirtualClass const&) -# 1750| Block 0 -# 1750| v1750_1(void) = EnterFunction : -# 1750| mu1750_2(unknown) = AliasedDefinition : -# 1750| mu1750_3(unknown) = InitializeNonLocal : -# 1751| r1751_1(glval) = VariableAddress[x] : -# 1751| mu1751_2(CopyConstructorTestNonVirtualClass &) = InitializeParameter[x] : &:r1751_1 -# 1751| r1751_3(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1751_1, ~m? -# 1751| mu1751_4(unknown) = InitializeIndirection[x] : &:r1751_3 -# 1752| r1752_1(glval) = VariableAddress[y] : -# 1752| mu1752_2(CopyConstructorTestVirtualClass &) = InitializeParameter[y] : &:r1752_1 -# 1752| r1752_3(CopyConstructorTestVirtualClass &) = Load[y] : &:r1752_1, ~m? -# 1752| mu1752_4(unknown) = InitializeIndirection[y] : &:r1752_3 -# 1753| r1753_1(glval) = VariableAddress[cx] : -# 1753| mu1753_2(CopyConstructorTestNonVirtualClass) = Uninitialized[cx] : &:r1753_1 -# 1753| r1753_3(glval) = FunctionAddress[CopyConstructorTestNonVirtualClass] : -# 1753| r1753_4(glval) = VariableAddress[x] : -# 1753| r1753_5(CopyConstructorTestNonVirtualClass &) = Load[x] : &:r1753_4, ~m? -# 1753| r1753_6(glval) = CopyValue : r1753_5 -# 1753| r1753_7(CopyConstructorTestNonVirtualClass &) = CopyValue : r1753_6 -# 1753| v1753_8(void) = Call[CopyConstructorTestNonVirtualClass] : func:r1753_3, this:r1753_1, 0:r1753_7 -# 1753| mu1753_9(unknown) = ^CallSideEffect : ~m? -# 1753| v1753_10(void) = ^BufferReadSideEffect[0] : &:r1753_7, ~m? -# 1753| mu1753_11(CopyConstructorTestNonVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1753_1 -# 1754| r1754_1(glval) = VariableAddress[cy] : -# 1754| mu1754_2(CopyConstructorTestVirtualClass) = Uninitialized[cy] : &:r1754_1 -# 1754| r1754_3(glval) = FunctionAddress[CopyConstructorTestVirtualClass] : -# 1754| r1754_4(glval) = VariableAddress[y] : -# 1754| r1754_5(CopyConstructorTestVirtualClass &) = Load[y] : &:r1754_4, ~m? -# 1754| r1754_6(glval) = CopyValue : r1754_5 -# 1754| r1754_7(CopyConstructorTestVirtualClass &) = CopyValue : r1754_6 -# 1754| v1754_8(void) = Call[CopyConstructorTestVirtualClass] : func:r1754_3, this:r1754_1, 0:r1754_7 -# 1754| mu1754_9(unknown) = ^CallSideEffect : ~m? -# 1754| v1754_10(void) = ^BufferReadSideEffect[0] : &:r1754_7, ~m? -# 1754| mu1754_11(CopyConstructorTestVirtualClass) = ^IndirectMayWriteSideEffect[-1] : &:r1754_1 -# 1755| r1755_1(glval) = VariableAddress[#return] : -# 1755| mu1755_2(int) = Uninitialized[#return] : &:r1755_1 -# 1751| v1751_5(void) = ReturnIndirection[x] : &:r1751_3, ~m? -# 1752| v1752_5(void) = ReturnIndirection[y] : &:r1752_3, ~m? -# 1750| r1750_4(glval) = VariableAddress[#return] : -# 1750| v1750_5(void) = ReturnValue : &:r1750_4, ~m? -# 1750| v1750_6(void) = AliasedUse : ~m? -# 1750| v1750_7(void) = ExitFunction : - -# 1757| void if_initialization(int) -# 1757| Block 0 -# 1757| v1757_1(void) = EnterFunction : -# 1757| mu1757_2(unknown) = AliasedDefinition : -# 1757| mu1757_3(unknown) = InitializeNonLocal : -# 1757| r1757_4(glval) = VariableAddress[x] : -# 1757| mu1757_5(int) = InitializeParameter[x] : &:r1757_4 -# 1758| r1758_1(glval) = VariableAddress[y] : -# 1758| r1758_2(glval) = VariableAddress[x] : -# 1758| r1758_3(int) = Load[x] : &:r1758_2, ~m? -# 1758| mu1758_4(int) = Store[y] : &:r1758_1, r1758_3 -# 1758| r1758_5(glval) = VariableAddress[x] : -# 1758| r1758_6(int) = Load[x] : &:r1758_5, ~m? -# 1758| r1758_7(int) = Constant[1] : -# 1758| r1758_8(int) = Add : r1758_6, r1758_7 -# 1758| r1758_9(int) = Constant[0] : -# 1758| r1758_10(bool) = CompareNE : r1758_8, r1758_9 -# 1758| v1758_11(void) = ConditionalBranch : r1758_10 +# 1745| v1745_21(void) = ReturnVoid : +# 1745| v1745_22(void) = AliasedUse : ~m? +# 1745| v1745_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 : + +# 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 : + +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 1759| Block 1 -# 1759| r1759_1(glval) = VariableAddress[x] : -# 1759| r1759_2(int) = Load[x] : &:r1759_1, ~m? -# 1759| r1759_3(glval) = VariableAddress[y] : -# 1759| r1759_4(int) = Load[y] : &:r1759_3, ~m? -# 1759| r1759_5(int) = Add : r1759_2, r1759_4 -# 1759| r1759_6(glval) = VariableAddress[x] : -# 1759| mu1759_7(int) = Store[x] : &:r1759_6, r1759_5 +# 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 #-----| Goto -> Block 2 -# 1762| Block 2 -# 1762| r1762_1(glval) = VariableAddress[w] : -# 1762| mu1762_2(int) = Uninitialized[w] : &:r1762_1 -# 1763| r1763_1(glval) = VariableAddress[x] : -# 1763| r1763_2(int) = Load[x] : &:r1763_1, ~m? -# 1763| r1763_3(glval) = VariableAddress[w] : -# 1763| mu1763_4(int) = Store[w] : &:r1763_3, r1763_2 -# 1763| r1763_5(glval) = VariableAddress[x] : -# 1763| r1763_6(int) = Load[x] : &:r1763_5, ~m? -# 1763| r1763_7(int) = Constant[1] : -# 1763| r1763_8(int) = Add : r1763_6, r1763_7 -# 1763| r1763_9(int) = Constant[0] : -# 1763| r1763_10(bool) = CompareNE : r1763_8, r1763_9 -# 1763| v1763_11(void) = ConditionalBranch : r1763_10 +# 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 #-----| False -> Block 4 #-----| True -> Block 3 -# 1764| Block 3 -# 1764| r1764_1(glval) = VariableAddress[x] : -# 1764| r1764_2(int) = Load[x] : &:r1764_1, ~m? -# 1764| r1764_3(glval) = VariableAddress[w] : -# 1764| r1764_4(int) = Load[w] : &:r1764_3, ~m? -# 1764| r1764_5(int) = Add : r1764_2, r1764_4 -# 1764| r1764_6(glval) = VariableAddress[x] : -# 1764| mu1764_7(int) = Store[x] : &:r1764_6, r1764_5 +# 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 #-----| Goto -> Block 4 -# 1767| Block 4 -# 1767| r1767_1(glval) = VariableAddress[x] : -# 1767| r1767_2(int) = Load[x] : &:r1767_1, ~m? -# 1767| r1767_3(glval) = VariableAddress[w] : -# 1767| mu1767_4(int) = Store[w] : &:r1767_3, r1767_2 -# 1767| r1767_5(glval) = VariableAddress[w2] : -# 1767| r1767_6(glval) = VariableAddress[w] : -# 1767| r1767_7(int) = Load[w] : &:r1767_6, ~m? -# 1767| mu1767_8(int) = Store[w2] : &:r1767_5, r1767_7 -# 1767| r1767_9(glval) = VariableAddress[w2] : -# 1767| r1767_10(int) = Load[w2] : &:r1767_9, ~m? -# 1767| r1767_11(int) = Constant[0] : -# 1767| r1767_12(bool) = CompareNE : r1767_10, r1767_11 -# 1767| r1767_13(bool) = CopyValue : r1767_12 -# 1767| v1767_14(void) = ConditionalBranch : r1767_13 +# 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 #-----| False -> Block 6 #-----| True -> Block 5 -# 1768| Block 5 -# 1768| r1768_1(glval) = VariableAddress[x] : -# 1768| r1768_2(int) = Load[x] : &:r1768_1, ~m? -# 1768| r1768_3(glval) = VariableAddress[w] : -# 1768| r1768_4(int) = Load[w] : &:r1768_3, ~m? -# 1768| r1768_5(int) = Add : r1768_2, r1768_4 -# 1768| r1768_6(glval) = VariableAddress[x] : -# 1768| mu1768_7(int) = Store[x] : &:r1768_6, r1768_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 #-----| Goto -> Block 6 -# 1771| Block 6 -# 1771| r1771_1(glval) = VariableAddress[v] : -# 1771| r1771_2(glval) = VariableAddress[x] : -# 1771| r1771_3(int) = Load[x] : &:r1771_2, ~m? -# 1771| mu1771_4(int) = Store[v] : &:r1771_1, r1771_3 -# 1771| r1771_5(glval) = VariableAddress[v2] : -# 1771| r1771_6(glval) = VariableAddress[v] : -# 1771| r1771_7(int) = Load[v] : &:r1771_6, ~m? -# 1771| mu1771_8(int) = Store[v2] : &:r1771_5, r1771_7 -# 1771| r1771_9(glval) = VariableAddress[v2] : -# 1771| r1771_10(int) = Load[v2] : &:r1771_9, ~m? -# 1771| r1771_11(int) = Constant[0] : -# 1771| r1771_12(bool) = CompareNE : r1771_10, r1771_11 -# 1771| r1771_13(bool) = CopyValue : r1771_12 -# 1771| v1771_14(void) = ConditionalBranch : r1771_13 +# 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 #-----| False -> Block 8 #-----| True -> Block 7 -# 1772| Block 7 -# 1772| r1772_1(glval) = VariableAddress[x] : -# 1772| r1772_2(int) = Load[x] : &:r1772_1, ~m? -# 1772| r1772_3(glval) = VariableAddress[v] : -# 1772| r1772_4(int) = Load[v] : &:r1772_3, ~m? -# 1772| r1772_5(int) = Add : r1772_2, r1772_4 -# 1772| r1772_6(glval) = VariableAddress[x] : -# 1772| mu1772_7(int) = Store[x] : &:r1772_6, r1772_5 +# 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 #-----| Goto -> Block 8 -# 1775| Block 8 -# 1775| r1775_1(glval) = VariableAddress[z] : -# 1775| r1775_2(glval) = VariableAddress[x] : -# 1775| r1775_3(int) = Load[x] : &:r1775_2, ~m? -# 1775| mu1775_4(int) = Store[z] : &:r1775_1, r1775_3 -# 1776| r1776_1(glval) = VariableAddress[z] : -# 1776| r1776_2(int) = Load[z] : &:r1776_1, ~m? -# 1776| r1776_3(int) = Constant[0] : -# 1776| r1776_4(bool) = CompareNE : r1776_2, r1776_3 -# 1776| v1776_5(void) = ConditionalBranch : r1776_4 +# 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 #-----| False -> Block 10 #-----| True -> Block 9 -# 1777| Block 9 -# 1777| r1777_1(glval) = VariableAddress[x] : -# 1777| r1777_2(int) = Load[x] : &:r1777_1, ~m? -# 1777| r1777_3(glval) = VariableAddress[z] : -# 1777| r1777_4(int) = Load[z] : &:r1777_3, ~m? -# 1777| r1777_5(int) = Add : r1777_2, r1777_4 -# 1777| r1777_6(glval) = VariableAddress[x] : -# 1777| mu1777_7(int) = Store[x] : &:r1777_6, r1777_5 +# 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 #-----| Goto -> Block 10 -# 1780| Block 10 -# 1780| r1780_1(glval) = VariableAddress[z2] : -# 1780| r1780_2(glval) = VariableAddress[z] : -# 1780| r1780_3(int) = Load[z] : &:r1780_2, ~m? -# 1780| mu1780_4(int) = Store[z2] : &:r1780_1, r1780_3 -# 1780| r1780_5(glval) = VariableAddress[z2] : -# 1780| r1780_6(int) = Load[z2] : &:r1780_5, ~m? -# 1780| r1780_7(int) = Constant[0] : -# 1780| r1780_8(bool) = CompareNE : r1780_6, r1780_7 -# 1780| r1780_9(bool) = CopyValue : r1780_8 -# 1780| v1780_10(void) = ConditionalBranch : r1780_9 +# 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 #-----| False -> Block 12 #-----| True -> Block 11 -# 1781| Block 11 -# 1781| r1781_1(glval) = VariableAddress[z2] : -# 1781| r1781_2(int) = Load[z2] : &:r1781_1, ~m? -# 1781| r1781_3(glval) = VariableAddress[x] : -# 1781| r1781_4(int) = Load[x] : &:r1781_3, ~m? -# 1781| r1781_5(int) = Add : r1781_4, r1781_2 -# 1781| mu1781_6(int) = Store[x] : &:r1781_3, r1781_5 +# 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 #-----| Goto -> Block 12 -# 1783| Block 12 -# 1783| v1783_1(void) = NoOp : -# 1757| v1757_6(void) = ReturnVoid : -# 1757| v1757_7(void) = AliasedUse : ~m? -# 1757| v1757_8(void) = ExitFunction : - -# 1785| void switch_initialization(int) -# 1785| Block 0 -# 1785| v1785_1(void) = EnterFunction : -# 1785| mu1785_2(unknown) = AliasedDefinition : -# 1785| mu1785_3(unknown) = InitializeNonLocal : -# 1785| r1785_4(glval) = VariableAddress[x] : -# 1785| mu1785_5(int) = InitializeParameter[x] : &:r1785_4 -# 1786| r1786_1(glval) = VariableAddress[y] : -# 1786| r1786_2(glval) = VariableAddress[x] : -# 1786| r1786_3(int) = Load[x] : &:r1786_2, ~m? -# 1786| mu1786_4(int) = Store[y] : &:r1786_1, r1786_3 -# 1786| r1786_5(glval) = VariableAddress[x] : -# 1786| r1786_6(int) = Load[x] : &:r1786_5, ~m? -# 1786| r1786_7(int) = Constant[1] : -# 1786| r1786_8(int) = Add : r1786_6, r1786_7 -# 1786| v1786_9(void) = Switch : r1786_8 +# 1785| Block 12 +# 1785| v1785_1(void) = NoOp : +# 1759| v1759_6(void) = ReturnVoid : +# 1759| v1759_7(void) = AliasedUse : ~m? +# 1759| v1759_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 #-----| Default -> Block 1 -# 1787| Block 1 -# 1787| v1787_1(void) = NoOp : -# 1788| r1788_1(glval) = VariableAddress[x] : -# 1788| r1788_2(int) = Load[x] : &:r1788_1, ~m? -# 1788| r1788_3(glval) = VariableAddress[y] : -# 1788| r1788_4(int) = Load[y] : &:r1788_3, ~m? -# 1788| r1788_5(int) = Add : r1788_2, r1788_4 -# 1788| r1788_6(glval) = VariableAddress[x] : -# 1788| mu1788_7(int) = Store[x] : &:r1788_6, r1788_5 -# 1791| r1791_1(glval) = VariableAddress[w] : -# 1791| mu1791_2(int) = Uninitialized[w] : &:r1791_1 -# 1792| r1792_1(glval) = VariableAddress[x] : -# 1792| r1792_2(int) = Load[x] : &:r1792_1, ~m? -# 1792| r1792_3(glval) = VariableAddress[w] : -# 1792| mu1792_4(int) = Store[w] : &:r1792_3, r1792_2 -# 1792| r1792_5(glval) = VariableAddress[x] : -# 1792| r1792_6(int) = Load[x] : &:r1792_5, ~m? -# 1792| r1792_7(int) = Constant[1] : -# 1792| r1792_8(int) = Add : r1792_6, r1792_7 -# 1792| v1792_9(void) = Switch : r1792_8 +# 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 #-----| Default -> Block 2 -# 1793| Block 2 -# 1793| v1793_1(void) = NoOp : -# 1794| r1794_1(glval) = VariableAddress[x] : -# 1794| r1794_2(int) = Load[x] : &:r1794_1, ~m? -# 1794| r1794_3(glval) = VariableAddress[w] : -# 1794| r1794_4(int) = Load[w] : &:r1794_3, ~m? -# 1794| r1794_5(int) = Add : r1794_2, r1794_4 -# 1794| r1794_6(glval) = VariableAddress[x] : -# 1794| mu1794_7(int) = Store[x] : &:r1794_6, r1794_5 -# 1797| r1797_1(glval) = VariableAddress[x] : -# 1797| r1797_2(int) = Load[x] : &:r1797_1, ~m? -# 1797| r1797_3(glval) = VariableAddress[w] : -# 1797| mu1797_4(int) = Store[w] : &:r1797_3, r1797_2 -# 1797| r1797_5(glval) = VariableAddress[w2] : -# 1797| r1797_6(glval) = VariableAddress[w] : -# 1797| r1797_7(int) = Load[w] : &:r1797_6, ~m? -# 1797| mu1797_8(int) = Store[w2] : &:r1797_5, r1797_7 -# 1797| r1797_9(glval) = VariableAddress[w2] : -# 1797| r1797_10(int) = Load[w2] : &:r1797_9, ~m? -# 1797| r1797_11(int) = CopyValue : r1797_10 -# 1797| v1797_12(void) = Switch : r1797_11 -#-----| Default -> Block 3 - -# 1798| Block 3 -# 1798| v1798_1(void) = NoOp : +# 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| r1799_4(int) = Load[w] : &:r1799_3, ~m? -# 1799| r1799_5(int) = Add : r1799_2, r1799_4 -# 1799| r1799_6(glval) = VariableAddress[x] : -# 1799| mu1799_7(int) = Store[x] : &:r1799_6, r1799_5 -# 1802| r1802_1(glval) = VariableAddress[v] : -# 1802| r1802_2(glval) = VariableAddress[x] : -# 1802| r1802_3(int) = Load[x] : &:r1802_2, ~m? -# 1802| mu1802_4(int) = Store[v] : &:r1802_1, r1802_3 -# 1802| r1802_5(glval) = VariableAddress[v2] : -# 1802| r1802_6(glval) = VariableAddress[v] : -# 1802| r1802_7(int) = Load[v] : &:r1802_6, ~m? -# 1802| mu1802_8(int) = Store[v2] : &:r1802_5, r1802_7 -# 1802| r1802_9(glval) = VariableAddress[v2] : -# 1802| r1802_10(int) = Load[v2] : &:r1802_9, ~m? -# 1802| r1802_11(int) = CopyValue : r1802_10 -# 1802| v1802_12(void) = Switch : r1802_11 +# 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 +#-----| 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 #-----| Default -> Block 4 -# 1803| Block 4 -# 1803| v1803_1(void) = NoOp : -# 1804| r1804_1(glval) = VariableAddress[x] : -# 1804| r1804_2(int) = Load[x] : &:r1804_1, ~m? -# 1804| r1804_3(glval) = VariableAddress[v] : -# 1804| r1804_4(int) = Load[v] : &:r1804_3, ~m? -# 1804| r1804_5(int) = Add : r1804_2, r1804_4 -# 1804| r1804_6(glval) = VariableAddress[x] : -# 1804| mu1804_7(int) = Store[x] : &:r1804_6, r1804_5 -# 1807| r1807_1(glval) = VariableAddress[z] : -# 1807| r1807_2(glval) = VariableAddress[x] : -# 1807| r1807_3(int) = Load[x] : &:r1807_2, ~m? -# 1807| mu1807_4(int) = Store[z] : &:r1807_1, r1807_3 -# 1808| r1808_1(glval) = VariableAddress[z] : -# 1808| r1808_2(int) = Load[z] : &:r1808_1, ~m? -# 1808| v1808_3(void) = Switch : r1808_2 +# 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 #-----| Default -> Block 5 -# 1809| Block 5 -# 1809| v1809_1(void) = NoOp : -# 1810| r1810_1(glval) = VariableAddress[x] : -# 1810| r1810_2(int) = Load[x] : &:r1810_1, ~m? -# 1810| r1810_3(glval) = VariableAddress[z] : -# 1810| r1810_4(int) = Load[z] : &:r1810_3, ~m? -# 1810| r1810_5(int) = Add : r1810_2, r1810_4 -# 1810| r1810_6(glval) = VariableAddress[x] : -# 1810| mu1810_7(int) = Store[x] : &:r1810_6, r1810_5 -# 1813| r1813_1(glval) = VariableAddress[z2] : -# 1813| r1813_2(glval) = VariableAddress[z] : -# 1813| r1813_3(int) = Load[z] : &:r1813_2, ~m? -# 1813| mu1813_4(int) = Store[z2] : &:r1813_1, r1813_3 -# 1813| r1813_5(glval) = VariableAddress[z2] : -# 1813| r1813_6(int) = Load[z2] : &:r1813_5, ~m? -# 1813| r1813_7(int) = CopyValue : r1813_6 -# 1813| v1813_8(void) = Switch : r1813_7 +# 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 #-----| Default -> Block 6 -# 1814| Block 6 -# 1814| v1814_1(void) = NoOp : -# 1815| r1815_1(glval) = VariableAddress[z2] : -# 1815| r1815_2(int) = Load[z2] : &:r1815_1, ~m? -# 1815| r1815_3(glval) = VariableAddress[x] : -# 1815| r1815_4(int) = Load[x] : &:r1815_3, ~m? -# 1815| r1815_5(int) = Add : r1815_4, r1815_2 -# 1815| mu1815_6(int) = Store[x] : &:r1815_3, r1815_5 -# 1817| v1817_1(void) = NoOp : -# 1785| v1785_6(void) = ReturnVoid : -# 1785| v1785_7(void) = AliasedUse : ~m? -# 1785| v1785_8(void) = ExitFunction : - -# 1821| int global_2 -# 1821| Block 0 -# 1821| v1821_1(void) = EnterFunction : -# 1821| mu1821_2(unknown) = AliasedDefinition : -# 1821| r1821_3(glval) = VariableAddress[global_2] : -# 1821| r1821_4(int) = Constant[1] : -# 1821| mu1821_5(int) = Store[global_2] : &:r1821_3, r1821_4 -# 1821| v1821_6(void) = ReturnVoid : -# 1821| v1821_7(void) = AliasedUse : ~m? -# 1821| v1821_8(void) = ExitFunction : - -# 1825| constructor_only global_4 -# 1825| Block 0 -# 1825| v1825_1(void) = EnterFunction : -# 1825| mu1825_2(unknown) = AliasedDefinition : -# 1825| r1825_3(glval) = VariableAddress[global_4] : -# 1825| r1825_4(glval) = FunctionAddress[constructor_only] : -# 1825| r1825_5(int) = Constant[1] : -# 1825| v1825_6(void) = Call[constructor_only] : func:r1825_4, this:r1825_3, 0:r1825_5 -# 1825| mu1825_7(unknown) = ^CallSideEffect : ~m? -# 1825| mu1825_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1825_3 -# 1825| v1825_9(void) = ReturnVoid : -# 1825| v1825_10(void) = AliasedUse : ~m? -# 1825| v1825_11(void) = ExitFunction : - -# 1827| constructor_only global_5 +# 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 : + +# 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 : + +# 1827| constructor_only global_4 # 1827| Block 0 # 1827| v1827_1(void) = EnterFunction : # 1827| mu1827_2(unknown) = AliasedDefinition : -# 1827| r1827_3(glval) = VariableAddress[global_5] : +# 1827| r1827_3(glval) = VariableAddress[global_4] : # 1827| r1827_4(glval) = FunctionAddress[constructor_only] : -# 1827| r1827_5(int) = Constant[2] : +# 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 @@ -9998,40 +9984,54 @@ ir.cpp: # 1827| v1827_10(void) = AliasedUse : ~m? # 1827| v1827_11(void) = ExitFunction : -# 1829| char* global_string +# 1829| constructor_only global_5 # 1829| Block 0 -# 1829| v1829_1(void) = EnterFunction : -# 1829| mu1829_2(unknown) = AliasedDefinition : -# 1829| r1829_3(glval) = VariableAddress[global_string] : -# 1829| r1829_4(glval) = StringConstant["global string"] : -# 1829| r1829_5(char *) = Convert : r1829_4 -# 1829| r1829_6(char *) = Convert : r1829_5 -# 1829| mu1829_7(char *) = Store[global_string] : &:r1829_3, r1829_6 -# 1829| v1829_8(void) = ReturnVoid : -# 1829| v1829_9(void) = AliasedUse : ~m? -# 1829| v1829_10(void) = ExitFunction : - -# 1831| int global_6 +# 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 : + +# 1831| char* global_string # 1831| Block 0 -# 1831| v1831_1(void) = EnterFunction : -# 1831| mu1831_2(unknown) = AliasedDefinition : -# 1831| r1831_3(glval) = VariableAddress[global_6] : -# 1831| r1831_4(glval) = VariableAddress[global_2] : -# 1831| r1831_5(int) = Load[global_2] : &:r1831_4, ~m? -# 1831| mu1831_6(int) = Store[global_6] : &:r1831_3, r1831_5 -# 1831| v1831_7(void) = ReturnVoid : -# 1831| v1831_8(void) = AliasedUse : ~m? -# 1831| v1831_9(void) = ExitFunction : - -# 1834| block_assignment::A& block_assignment::A::operator=(block_assignment::A&&) -# 1834| Block 0 -# 1834| v1834_1(void) = EnterFunction : -# 1834| mu1834_2(unknown) = AliasedDefinition : -# 1834| mu1834_3(unknown) = InitializeNonLocal : -# 1834| r1834_4(glval) = VariableAddress[#this] : -# 1834| mu1834_5(glval) = InitializeParameter[#this] : &:r1834_4 -# 1834| r1834_6(glval) = Load[#this] : &:r1834_4, ~m? -# 1834| mu1834_7(A) = InitializeIndirection[#this] : &:r1834_6 +# 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 : + +# 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 : + +# 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 #-----| 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? @@ -10051,884 +10051,884 @@ ir.cpp: #-----| r0_17(glval) = CopyValue : r0_16 #-----| r0_18(A &) = CopyValue : r0_17 #-----| mu0_19(A &) = Store[#return] : &:r0_14, r0_18 -# 1834| v1834_8(void) = ReturnIndirection[#this] : &:r1834_6, ~m? +# 1836| v1836_8(void) = ReturnIndirection[#this] : &:r1836_6, ~m? #-----| v0_20(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1834| r1834_9(glval) = VariableAddress[#return] : -# 1834| v1834_10(void) = ReturnValue : &:r1834_9, ~m? -# 1834| v1834_11(void) = AliasedUse : ~m? -# 1834| v1834_12(void) = ExitFunction : - -# 1839| block_assignment::B& block_assignment::B::operator=(block_assignment::B&&) -# 1839| Block 0 -# 1839| v1839_1(void) = EnterFunction : -# 1839| mu1839_2(unknown) = AliasedDefinition : -# 1839| mu1839_3(unknown) = InitializeNonLocal : -# 1839| r1839_4(glval) = VariableAddress[#this] : -# 1839| mu1839_5(glval) = InitializeParameter[#this] : &:r1839_4 -# 1839| r1839_6(glval) = Load[#this] : &:r1839_4, ~m? -# 1839| mu1839_7(B) = InitializeIndirection[#this] : &:r1839_6 +# 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 : + +# 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 #-----| 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 -# 1839| r1839_8(glval) = VariableAddress[#this] : -# 1839| r1839_9(B *) = Load[#this] : &:r1839_8, ~m? -#-----| r0_5(A *) = ConvertToNonVirtualBase[B : A] : r1839_9 -# 1839| r1839_10(glval) = FunctionAddress[operator=] : -# 1839| r1839_11(glval) = VariableAddress[(unnamed parameter 0)] : -# 1839| r1839_12(B &&) = Load[(unnamed parameter 0)] : &:r1839_11, ~m? -#-----| r0_6(glval) = CopyValue : r1839_12 -# 1839| r1839_13(B *) = CopyValue : r0_6 -#-----| r0_7(A *) = ConvertToNonVirtualBase[B : A] : r1839_13 -# 1839| r1839_14(glval) = CopyValue : r0_7 -#-----| r0_8(A &) = CopyValue : r1839_14 -# 1839| r1839_15(A &) = Call[operator=] : func:r1839_10, this:r0_5, 0:r0_8 -# 1839| mu1839_16(unknown) = ^CallSideEffect : ~m? +# 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? #-----| 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 : r1839_15 +#-----| r0_13(glval) = CopyValue : r1841_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 -# 1839| v1839_17(void) = ReturnIndirection[#this] : &:r1839_6, ~m? +# 1841| v1841_17(void) = ReturnIndirection[#this] : &:r1841_6, ~m? #-----| v0_20(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 1839| r1839_18(glval) = VariableAddress[#return] : -# 1839| v1839_19(void) = ReturnValue : &:r1839_18, ~m? -# 1839| v1839_20(void) = AliasedUse : ~m? -# 1839| v1839_21(void) = ExitFunction : - -# 1843| void block_assignment::foo() -# 1843| Block 0 -# 1843| v1843_1(void) = EnterFunction : -# 1843| mu1843_2(unknown) = AliasedDefinition : -# 1843| mu1843_3(unknown) = InitializeNonLocal : -# 1844| r1844_1(glval) = VariableAddress[v] : -# 1844| mu1844_2(B) = Uninitialized[v] : &:r1844_1 -# 1844| r1844_3(glval) = FunctionAddress[B] : -# 1844| r1844_4(A *) = Constant[0] : -# 1844| v1844_5(void) = Call[B] : func:r1844_3, this:r1844_1, 0:r1844_4 -# 1844| mu1844_6(unknown) = ^CallSideEffect : ~m? -# 1844| v1844_7(void) = ^BufferReadSideEffect[0] : &:r1844_4, ~m? -# 1844| mu1844_8(B) = ^IndirectMayWriteSideEffect[-1] : &:r1844_1 -# 1844| mu1844_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1844_4 -# 1845| r1845_1(glval) = VariableAddress[v] : -# 1845| r1845_2(glval) = FunctionAddress[operator=] : -# 1845| r1845_3(glval) = VariableAddress[#temp1845:13] : -# 1845| mu1845_4(B) = Uninitialized[#temp1845:13] : &:r1845_3 -# 1845| r1845_5(glval) = FunctionAddress[B] : -# 1845| r1845_6(A *) = Constant[0] : -# 1845| v1845_7(void) = Call[B] : func:r1845_5, this:r1845_3, 0:r1845_6 -# 1845| mu1845_8(unknown) = ^CallSideEffect : ~m? -# 1845| v1845_9(void) = ^BufferReadSideEffect[0] : &:r1845_6, ~m? -# 1845| mu1845_10(B) = ^IndirectMayWriteSideEffect[-1] : &:r1845_3 -# 1845| mu1845_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1845_6 -# 1845| r1845_12(B &) = CopyValue : r1845_3 -# 1845| r1845_13(B &) = Call[operator=] : func:r1845_2, this:r1845_1, 0:r1845_12 -# 1845| mu1845_14(unknown) = ^CallSideEffect : ~m? -# 1845| v1845_15(void) = ^IndirectReadSideEffect[-1] : &:r1845_1, ~m? -# 1845| v1845_16(void) = ^BufferReadSideEffect[0] : &:r1845_12, ~m? -# 1845| mu1845_17(B) = ^IndirectMayWriteSideEffect[-1] : &:r1845_1 -# 1845| mu1845_18(unknown) = ^BufferMayWriteSideEffect[0] : &:r1845_12 -# 1845| r1845_19(glval) = CopyValue : r1845_13 -# 1846| v1846_1(void) = NoOp : -# 1843| v1843_4(void) = ReturnVoid : -# 1843| v1843_5(void) = AliasedUse : ~m? -# 1843| v1843_6(void) = ExitFunction : - -# 1849| void magicvars() -# 1849| Block 0 -# 1849| v1849_1(void) = EnterFunction : -# 1849| mu1849_2(unknown) = AliasedDefinition : -# 1849| mu1849_3(unknown) = InitializeNonLocal : -# 1850| r1850_1(glval) = VariableAddress[pf] : -# 1850| r1850_2(glval) = VariableAddress[__PRETTY_FUNCTION__] : -# 1850| r1850_3(char *) = Convert : r1850_2 -# 1850| mu1850_4(char *) = Store[pf] : &:r1850_1, r1850_3 -# 1851| r1851_1(glval) = VariableAddress[strfunc] : -# 1851| r1851_2(glval) = VariableAddress[__func__] : -# 1851| r1851_3(char *) = Convert : r1851_2 -# 1851| mu1851_4(char *) = Store[strfunc] : &:r1851_1, r1851_3 -# 1852| v1852_1(void) = NoOp : -# 1849| v1849_4(void) = ReturnVoid : -# 1849| v1849_5(void) = AliasedUse : ~m? -# 1849| v1849_6(void) = ExitFunction : - -# 1862| void* missing_declaration_entries::Bar1::missing_type_decl_entry(missing_declaration_entries::Bar1::pointer) -# 1862| Block 0 -# 1862| v1862_1(void) = EnterFunction : -# 1862| mu1862_2(unknown) = AliasedDefinition : -# 1862| mu1862_3(unknown) = InitializeNonLocal : -# 1862| r1862_4(glval) = VariableAddress[#this] : -# 1862| mu1862_5(glval>) = InitializeParameter[#this] : &:r1862_4 -# 1862| r1862_6(glval>) = Load[#this] : &:r1862_4, ~m? -# 1862| mu1862_7(Bar1) = InitializeIndirection[#this] : &:r1862_6 -# 1862| r1862_8(glval) = VariableAddress[p] : -# 1862| mu1862_9(S *) = InitializeParameter[p] : &:r1862_8 -# 1862| r1862_10(S *) = Load[p] : &:r1862_8, ~m? -# 1862| mu1862_11(unknown) = InitializeIndirection[p] : &:r1862_10 -# 1864| r1864_1(glval) = VariableAddress[#return] : -# 1864| r1864_2(glval) = VariableAddress[p] : -# 1864| r1864_3(S *) = Load[p] : &:r1864_2, ~m? -# 1864| r1864_4(void *) = Convert : r1864_3 -# 1864| mu1864_5(void *) = Store[#return] : &:r1864_1, r1864_4 -# 1862| v1862_12(void) = ReturnIndirection[#this] : &:r1862_6, ~m? -# 1862| v1862_13(void) = ReturnIndirection[p] : &:r1862_10, ~m? -# 1862| r1862_14(glval) = VariableAddress[#return] : -# 1862| v1862_15(void) = ReturnValue : &:r1862_14, ~m? -# 1862| v1862_16(void) = AliasedUse : ~m? -# 1862| v1862_17(void) = ExitFunction : - -# 1868| void missing_declaration_entries::test1() -# 1868| Block 0 -# 1868| v1868_1(void) = EnterFunction : -# 1868| mu1868_2(unknown) = AliasedDefinition : -# 1868| mu1868_3(unknown) = InitializeNonLocal : -# 1869| r1869_1(glval>) = VariableAddress[b] : -# 1869| mu1869_2(Bar1) = Uninitialized[b] : &:r1869_1 -# 1870| r1870_1(glval>) = VariableAddress[b] : -# 1870| r1870_2(glval) = FunctionAddress[missing_type_decl_entry] : -# 1870| r1870_3(S *) = Constant[0] : -# 1870| r1870_4(void *) = Call[missing_type_decl_entry] : func:r1870_2, this:r1870_1, 0:r1870_3 -# 1870| mu1870_5(unknown) = ^CallSideEffect : ~m? -# 1870| v1870_6(void) = ^IndirectReadSideEffect[-1] : &:r1870_1, ~m? -# 1870| v1870_7(void) = ^BufferReadSideEffect[0] : &:r1870_3, ~m? -# 1870| mu1870_8(Bar1) = ^IndirectMayWriteSideEffect[-1] : &:r1870_1 -# 1870| mu1870_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r1870_3 -# 1871| v1871_1(void) = NoOp : -# 1868| v1868_4(void) = ReturnVoid : -# 1868| v1868_5(void) = AliasedUse : ~m? -# 1868| v1868_6(void) = ExitFunction : - -# 1875| int missing_declaration_entries::Bar2::two_missing_variable_declaration_entries() -# 1875| Block 0 -# 1875| v1875_1(void) = EnterFunction : -# 1875| mu1875_2(unknown) = AliasedDefinition : -# 1875| mu1875_3(unknown) = InitializeNonLocal : -# 1875| r1875_4(glval) = VariableAddress[#this] : -# 1875| mu1875_5(glval>) = InitializeParameter[#this] : &:r1875_4 -# 1875| r1875_6(glval>) = Load[#this] : &:r1875_4, ~m? -# 1875| mu1875_7(Bar2) = InitializeIndirection[#this] : &:r1875_6 -# 1876| r1876_1(glval) = VariableAddress[x] : -# 1876| mu1876_2(int[10]) = Uninitialized[x] : &:r1876_1 -# 1876| r1876_3(glval) = VariableAddress[y] : -# 1876| mu1876_4(int[10]) = Uninitialized[y] : &:r1876_3 -# 1877| r1877_1(int) = Constant[10] : -# 1877| r1877_2(glval) = VariableAddress[x] : -# 1877| r1877_3(int *) = Convert : r1877_2 -# 1877| r1877_4(glval) = CopyValue : r1877_3 -# 1877| mu1877_5(int) = Store[?] : &:r1877_4, r1877_1 -# 1878| r1878_1(int) = Constant[10] : -# 1878| r1878_2(glval) = VariableAddress[y] : -# 1878| r1878_3(int *) = Convert : r1878_2 -# 1878| r1878_4(glval) = CopyValue : r1878_3 -# 1878| mu1878_5(int) = Store[?] : &:r1878_4, r1878_1 -# 1879| r1879_1(glval) = VariableAddress[#return] : +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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 : + +# 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(int) = Load[?] : &:r1879_3, ~m? -# 1879| r1879_5(glval) = VariableAddress[y] : -# 1879| r1879_6(int *) = Convert : r1879_5 -# 1879| r1879_7(int) = Load[?] : &:r1879_6, ~m? -# 1879| r1879_8(int) = Add : r1879_4, r1879_7 -# 1879| mu1879_9(int) = Store[#return] : &:r1879_1, r1879_8 -# 1875| v1875_8(void) = ReturnIndirection[#this] : &:r1875_6, ~m? -# 1875| r1875_9(glval) = VariableAddress[#return] : -# 1875| v1875_10(void) = ReturnValue : &:r1875_9, ~m? -# 1875| v1875_11(void) = AliasedUse : ~m? -# 1875| v1875_12(void) = ExitFunction : - -# 1883| void missing_declaration_entries::test2() -# 1883| Block 0 -# 1883| v1883_1(void) = EnterFunction : -# 1883| mu1883_2(unknown) = AliasedDefinition : -# 1883| mu1883_3(unknown) = InitializeNonLocal : -# 1884| r1884_1(glval>) = VariableAddress[b] : -# 1884| mu1884_2(Bar2) = Uninitialized[b] : &:r1884_1 -# 1885| r1885_1(glval>) = VariableAddress[b] : -# 1885| r1885_2(glval) = FunctionAddress[two_missing_variable_declaration_entries] : -# 1885| r1885_3(int) = Call[two_missing_variable_declaration_entries] : func:r1885_2, this:r1885_1 -# 1885| mu1885_4(unknown) = ^CallSideEffect : ~m? -# 1885| v1885_5(void) = ^IndirectReadSideEffect[-1] : &:r1885_1, ~m? -# 1885| mu1885_6(Bar2) = ^IndirectMayWriteSideEffect[-1] : &:r1885_1 -# 1886| v1886_1(void) = NoOp : -# 1883| v1883_4(void) = ReturnVoid : -# 1883| v1883_5(void) = AliasedUse : ~m? -# 1883| v1883_6(void) = ExitFunction : - -# 1889| char global_template -# 1889| Block 0 -# 1889| v1889_1(void) = EnterFunction : -# 1889| mu1889_2(unknown) = AliasedDefinition : -# 1889| r1889_3(glval) = VariableAddress[global_template] : -# 1889| r1889_4(char) = Constant[42] : -# 1889| mu1889_5(char) = Store[global_template] : &:r1889_3, r1889_4 -# 1889| v1889_6(void) = ReturnVoid : -# 1889| v1889_7(void) = AliasedUse : ~m? -# 1889| v1889_8(void) = ExitFunction : - -# 1889| int global_template -# 1889| Block 0 -# 1889| v1889_1(void) = EnterFunction : -# 1889| mu1889_2(unknown) = AliasedDefinition : -# 1889| r1889_3(glval) = VariableAddress[global_template] : -# 1889| r1889_4(int) = Constant[42] : -# 1889| mu1889_5(int) = Store[global_template] : &:r1889_3, r1889_4 -# 1889| v1889_6(void) = ReturnVoid : -# 1889| v1889_7(void) = AliasedUse : ~m? -# 1889| v1889_8(void) = ExitFunction : - -# 1891| int test_global_template_int() +# 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 : + +# 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 : + +# 1891| char global_template # 1891| Block 0 # 1891| v1891_1(void) = EnterFunction : # 1891| mu1891_2(unknown) = AliasedDefinition : -# 1891| mu1891_3(unknown) = InitializeNonLocal : -# 1892| r1892_1(glval) = VariableAddress[local_int] : -# 1892| r1892_2(glval) = VariableAddress[global_template] : -# 1892| r1892_3(int) = Load[global_template] : &:r1892_2, ~m? -# 1892| mu1892_4(int) = Store[local_int] : &:r1892_1, r1892_3 -# 1893| r1893_1(glval) = VariableAddress[local_char] : -# 1893| r1893_2(glval) = VariableAddress[global_template] : -# 1893| r1893_3(char) = Load[global_template] : &:r1893_2, ~m? -# 1893| mu1893_4(char) = Store[local_char] : &:r1893_1, r1893_3 -# 1894| r1894_1(glval) = VariableAddress[#return] : -# 1894| r1894_2(glval) = VariableAddress[local_int] : -# 1894| r1894_3(int) = Load[local_int] : &:r1894_2, ~m? -# 1894| r1894_4(glval) = VariableAddress[local_char] : -# 1894| r1894_5(char) = Load[local_char] : &:r1894_4, ~m? -# 1894| r1894_6(int) = Convert : r1894_5 -# 1894| r1894_7(int) = Add : r1894_3, r1894_6 -# 1894| mu1894_8(int) = Store[#return] : &:r1894_1, r1894_7 -# 1891| r1891_4(glval) = VariableAddress[#return] : -# 1891| v1891_5(void) = ReturnValue : &:r1891_4, ~m? -# 1891| v1891_6(void) = AliasedUse : ~m? -# 1891| v1891_7(void) = ExitFunction : - -# 1899| int noreturnTest(int) -# 1899| Block 0 -# 1899| v1899_1(void) = EnterFunction : -# 1899| mu1899_2(unknown) = AliasedDefinition : -# 1899| mu1899_3(unknown) = InitializeNonLocal : -# 1899| r1899_4(glval) = VariableAddress[x] : -# 1899| mu1899_5(int) = InitializeParameter[x] : &:r1899_4 -# 1900| r1900_1(glval) = VariableAddress[x] : -# 1900| r1900_2(int) = Load[x] : &:r1900_1, ~m? -# 1900| r1900_3(int) = Constant[10] : -# 1900| r1900_4(bool) = CompareLT : r1900_2, r1900_3 -# 1900| v1900_5(void) = ConditionalBranch : r1900_4 +# 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 : + +# 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 : + +# 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 : + +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1899| Block 1 -# 1899| r1899_6(glval) = VariableAddress[#return] : -# 1899| v1899_7(void) = ReturnValue : &:r1899_6, ~m? -# 1899| v1899_8(void) = AliasedUse : ~m? -# 1899| v1899_9(void) = ExitFunction : - -# 1901| Block 2 -# 1901| r1901_1(glval) = VariableAddress[#return] : -# 1901| r1901_2(glval) = VariableAddress[x] : -# 1901| r1901_3(int) = Load[x] : &:r1901_2, ~m? -# 1901| mu1901_4(int) = Store[#return] : &:r1901_1, r1901_3 +# 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 : + +# 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 #-----| Goto -> Block 1 -# 1903| Block 3 -# 1903| r1903_1(glval) = FunctionAddress[noreturnFunc] : -# 1903| v1903_2(void) = Call[noreturnFunc] : func:r1903_1 -# 1903| mu1903_3(unknown) = ^CallSideEffect : ~m? -# 1899| v1899_10(void) = Unreached : +# 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 : -# 1905| Block 4 -# 1905| r1905_1(glval) = VariableAddress[#return] : -# 1905| mu1905_2(int) = Uninitialized[#return] : &:r1905_1 +# 1907| Block 4 +# 1907| r1907_1(glval) = VariableAddress[#return] : +# 1907| mu1907_2(int) = Uninitialized[#return] : &:r1907_1 #-----| Goto -> Block 1 -# 1907| int noreturnTest2(int) -# 1907| Block 0 -# 1907| v1907_1(void) = EnterFunction : -# 1907| mu1907_2(unknown) = AliasedDefinition : -# 1907| mu1907_3(unknown) = InitializeNonLocal : -# 1907| r1907_4(glval) = VariableAddress[x] : -# 1907| mu1907_5(int) = InitializeParameter[x] : &:r1907_4 -# 1908| r1908_1(glval) = VariableAddress[x] : -# 1908| r1908_2(int) = Load[x] : &:r1908_1, ~m? -# 1908| r1908_3(int) = Constant[10] : -# 1908| r1908_4(bool) = CompareLT : r1908_2, r1908_3 -# 1908| v1908_5(void) = ConditionalBranch : r1908_4 +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 1909| Block 1 -# 1909| r1909_1(glval) = FunctionAddress[noreturnFunc] : -# 1909| v1909_2(void) = Call[noreturnFunc] : func:r1909_1 -# 1909| mu1909_3(unknown) = ^CallSideEffect : ~m? -# 1907| v1907_6(void) = Unreached : - -# 1911| Block 2 -# 1911| r1911_1(glval) = VariableAddress[#return] : -# 1911| r1911_2(glval) = VariableAddress[x] : -# 1911| r1911_3(int) = Load[x] : &:r1911_2, ~m? -# 1911| mu1911_4(int) = Store[#return] : &:r1911_1, r1911_3 -# 1907| r1907_7(glval) = VariableAddress[#return] : -# 1907| v1907_8(void) = ReturnValue : &:r1907_7, ~m? -# 1907| v1907_9(void) = AliasedUse : ~m? -# 1907| v1907_10(void) = ExitFunction : - -# 1914| int static_function(int) -# 1914| Block 0 -# 1914| v1914_1(void) = EnterFunction : -# 1914| mu1914_2(unknown) = AliasedDefinition : -# 1914| mu1914_3(unknown) = InitializeNonLocal : -# 1914| r1914_4(glval) = VariableAddress[x] : -# 1914| mu1914_5(int) = InitializeParameter[x] : &:r1914_4 -# 1915| r1915_1(glval) = VariableAddress[#return] : -# 1915| r1915_2(glval) = VariableAddress[x] : -# 1915| r1915_3(int) = Load[x] : &:r1915_2, ~m? -# 1915| mu1915_4(int) = Store[#return] : &:r1915_1, r1915_3 -# 1914| r1914_6(glval) = VariableAddress[#return] : -# 1914| v1914_7(void) = ReturnValue : &:r1914_6, ~m? -# 1914| v1914_8(void) = AliasedUse : ~m? -# 1914| v1914_9(void) = ExitFunction : - -# 1918| void test_static_functions_with_assignments() -# 1918| Block 0 -# 1918| v1918_1(void) = EnterFunction : -# 1918| mu1918_2(unknown) = AliasedDefinition : -# 1918| mu1918_3(unknown) = InitializeNonLocal : -# 1919| r1919_1(glval) = VariableAddress[c] : -# 1919| mu1919_2(C) = Uninitialized[c] : &:r1919_1 -# 1919| r1919_3(glval) = FunctionAddress[C] : -# 1919| v1919_4(void) = Call[C] : func:r1919_3, this:r1919_1 -# 1919| mu1919_5(unknown) = ^CallSideEffect : ~m? -# 1919| mu1919_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1919_1 -# 1920| r1920_1(glval) = VariableAddress[x] : -# 1920| mu1920_2(int) = Uninitialized[x] : &:r1920_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 : + +# 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 : + +# 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 : + +# 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| r1921_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1921| r1921_3(int) = Constant[10] : -# 1921| r1921_4(int) = Call[StaticMemberFunction] : func:r1921_2, 0:r1921_3 +# 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| r1921_6(glval) = VariableAddress[x] : -# 1921| mu1921_7(int) = Store[x] : &:r1921_6, r1921_4 -# 1922| r1922_1(glval) = VariableAddress[y] : -# 1922| mu1922_2(int) = Uninitialized[y] : &:r1922_1 -# 1923| r1923_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1923| r1923_2(int) = Constant[10] : -# 1923| r1923_3(int) = Call[StaticMemberFunction] : func:r1923_1, 0:r1923_2 -# 1923| mu1923_4(unknown) = ^CallSideEffect : ~m? -# 1923| r1923_5(glval) = VariableAddress[y] : -# 1923| mu1923_6(int) = Store[y] : &:r1923_5, r1923_3 -# 1924| r1924_1(glval) = VariableAddress[z] : -# 1924| mu1924_2(int) = Uninitialized[z] : &:r1924_1 -# 1925| r1925_1(glval) = FunctionAddress[static_function] : +# 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[static_function] : func:r1925_1, 0:r1925_2 +# 1925| r1925_3(int) = Call[StaticMemberFunction] : func:r1925_1, 0:r1925_2 # 1925| mu1925_4(unknown) = ^CallSideEffect : ~m? -# 1925| r1925_5(glval) = VariableAddress[z] : -# 1925| mu1925_6(int) = Store[z] : &:r1925_5, r1925_3 -# 1926| v1926_1(void) = NoOp : -# 1918| v1918_4(void) = ReturnVoid : -# 1918| v1918_5(void) = AliasedUse : ~m? -# 1918| v1918_6(void) = ExitFunction : - -# 1928| void test_double_assign() -# 1928| Block 0 -# 1928| v1928_1(void) = EnterFunction : -# 1928| mu1928_2(unknown) = AliasedDefinition : -# 1928| mu1928_3(unknown) = InitializeNonLocal : -# 1929| r1929_1(glval) = VariableAddress[i] : -# 1929| mu1929_2(int) = Uninitialized[i] : &:r1929_1 -# 1929| r1929_3(glval) = VariableAddress[j] : -# 1929| mu1929_4(int) = Uninitialized[j] : &:r1929_3 -# 1930| r1930_1(int) = Constant[40] : -# 1930| r1930_2(glval) = VariableAddress[j] : -# 1930| mu1930_3(int) = Store[j] : &:r1930_2, r1930_1 -# 1930| r1930_4(int) = Load[j] : &:r1930_2, ~m? -# 1930| r1930_5(glval) = VariableAddress[i] : -# 1930| mu1930_6(int) = Store[i] : &:r1930_5, r1930_4 -# 1931| v1931_1(void) = NoOp : -# 1928| v1928_4(void) = ReturnVoid : -# 1928| v1928_5(void) = AliasedUse : ~m? -# 1928| v1928_6(void) = ExitFunction : - -# 1933| void test_assign_with_assign_operation() -# 1933| Block 0 -# 1933| v1933_1(void) = EnterFunction : -# 1933| mu1933_2(unknown) = AliasedDefinition : -# 1933| mu1933_3(unknown) = InitializeNonLocal : -# 1934| r1934_1(glval) = VariableAddress[i] : -# 1934| mu1934_2(int) = Uninitialized[i] : &:r1934_1 -# 1934| r1934_3(glval) = VariableAddress[j] : -# 1934| r1934_4(int) = Constant[0] : -# 1934| mu1934_5(int) = Store[j] : &:r1934_3, r1934_4 -# 1935| r1935_1(int) = Constant[40] : -# 1935| r1935_2(glval) = VariableAddress[j] : -# 1935| r1935_3(int) = Load[j] : &:r1935_2, ~m? -# 1935| r1935_4(int) = Add : r1935_3, r1935_1 -# 1935| mu1935_5(int) = Store[j] : &:r1935_2, r1935_4 -# 1935| r1935_6(int) = Load[j] : &:r1935_2, ~m? -# 1935| r1935_7(glval) = VariableAddress[i] : -# 1935| mu1935_8(int) = Store[i] : &:r1935_7, r1935_6 -# 1936| v1936_1(void) = NoOp : -# 1933| v1933_4(void) = ReturnVoid : -# 1933| v1933_5(void) = AliasedUse : ~m? -# 1933| v1933_6(void) = ExitFunction : - -# 1942| D& D::ReferenceStaticMemberFunction() -# 1942| Block 0 -# 1942| v1942_1(void) = EnterFunction : -# 1942| mu1942_2(unknown) = AliasedDefinition : -# 1942| mu1942_3(unknown) = InitializeNonLocal : -# 1943| r1943_1(glval) = VariableAddress[#return] : -# 1943| r1943_2(glval) = VariableAddress[x] : -# 1943| r1943_3(D &) = CopyValue : r1943_2 -# 1943| mu1943_4(D &) = Store[#return] : &:r1943_1, r1943_3 -# 1942| r1942_4(glval) = VariableAddress[#return] : -# 1942| v1942_5(void) = ReturnValue : &:r1942_4, ~m? -# 1942| v1942_6(void) = AliasedUse : ~m? -# 1942| v1942_7(void) = ExitFunction : - -# 1945| D D::ObjectStaticMemberFunction() -# 1945| Block 0 -# 1945| v1945_1(void) = EnterFunction : -# 1945| mu1945_2(unknown) = AliasedDefinition : -# 1945| mu1945_3(unknown) = InitializeNonLocal : -# 1946| r1946_1(glval) = VariableAddress[#return] : -# 1946| r1946_2(glval) = VariableAddress[x] : -# 1946| r1946_3(D) = Load[x] : &:r1946_2, ~m? -# 1946| mu1946_4(D) = Store[#return] : &:r1946_1, r1946_3 -# 1945| r1945_4(glval) = VariableAddress[#return] : -# 1945| v1945_5(void) = ReturnValue : &:r1945_4, ~m? -# 1945| v1945_6(void) = AliasedUse : ~m? -# 1945| v1945_7(void) = ExitFunction : - -# 1950| void test_static_member_functions_with_reference_return() -# 1950| Block 0 -# 1950| v1950_1(void) = EnterFunction : -# 1950| mu1950_2(unknown) = AliasedDefinition : -# 1950| mu1950_3(unknown) = InitializeNonLocal : -# 1951| r1951_1(glval) = VariableAddress[d] : -# 1951| mu1951_2(D) = Uninitialized[d] : &:r1951_1 +# 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 : +# 1920| v1920_4(void) = ReturnVoid : +# 1920| v1920_5(void) = AliasedUse : ~m? +# 1920| v1920_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 : + +# 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 : + +# 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 : + +# 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 : + +# 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| r1953_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1953| r1953_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1953_2 -# 1953| mu1953_4(unknown) = ^CallSideEffect : ~m? -# 1953| r1953_5(glval) = CopyValue : r1953_3 -# 1954| r1954_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1954| r1954_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1954_1 -# 1954| mu1954_3(unknown) = ^CallSideEffect : ~m? -# 1954| r1954_4(glval) = CopyValue : r1954_2 +# 1953| mu1953_2(D) = Uninitialized[d] : &:r1953_1 # 1955| r1955_1(glval) = VariableAddress[d] : -# 1955| r1955_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1955| r1955_3(D) = Call[ObjectStaticMemberFunction] : func:r1955_2 +# 1955| r1955_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 1955| r1955_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1955_2 # 1955| mu1955_4(unknown) = ^CallSideEffect : ~m? -# 1956| r1956_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1956| r1956_2(D) = Call[ObjectStaticMemberFunction] : func:r1956_1 +# 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? -# 1958| r1958_1(glval) = VariableAddress[x] : -# 1958| mu1958_2(D) = Uninitialized[x] : &:r1958_1 -# 1959| r1959_1(glval) = VariableAddress[d] : -# 1959| r1959_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1959| r1959_3(D &) = Call[ReferenceStaticMemberFunction] : func:r1959_2 -# 1959| mu1959_4(unknown) = ^CallSideEffect : ~m? -# 1959| r1959_5(D) = Load[?] : &:r1959_3, ~m? -# 1959| r1959_6(glval) = VariableAddress[x] : -# 1959| mu1959_7(D) = Store[x] : &:r1959_6, r1959_5 -# 1960| r1960_1(glval) = VariableAddress[y] : -# 1960| mu1960_2(D) = Uninitialized[y] : &:r1960_1 -# 1961| r1961_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 1961| r1961_2(D &) = Call[ReferenceStaticMemberFunction] : func:r1961_1 -# 1961| mu1961_3(unknown) = ^CallSideEffect : ~m? -# 1961| r1961_4(D) = Load[?] : &:r1961_2, ~m? -# 1961| r1961_5(glval) = VariableAddress[y] : -# 1961| mu1961_6(D) = Store[y] : &:r1961_5, r1961_4 -# 1962| r1962_1(glval) = VariableAddress[j] : -# 1962| mu1962_2(D) = Uninitialized[j] : &:r1962_1 -# 1963| r1963_1(glval) = VariableAddress[d] : -# 1963| r1963_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1963| r1963_3(D) = Call[ObjectStaticMemberFunction] : func:r1963_2 -# 1963| mu1963_4(unknown) = ^CallSideEffect : ~m? -# 1963| r1963_5(glval) = VariableAddress[j] : -# 1963| mu1963_6(D) = Store[j] : &:r1963_5, r1963_3 -# 1964| r1964_1(glval) = VariableAddress[k] : -# 1964| mu1964_2(D) = Uninitialized[k] : &:r1964_1 -# 1965| r1965_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 1965| r1965_2(D) = Call[ObjectStaticMemberFunction] : func:r1965_1 -# 1965| mu1965_3(unknown) = ^CallSideEffect : ~m? -# 1965| r1965_4(glval) = VariableAddress[k] : -# 1965| mu1965_5(D) = Store[k] : &:r1965_4, r1965_2 -# 1966| v1966_1(void) = NoOp : -# 1950| v1950_4(void) = ReturnVoid : -# 1950| v1950_5(void) = AliasedUse : ~m? -# 1950| v1950_6(void) = ExitFunction : - -# 1968| void test_volatile() -# 1968| Block 0 -# 1968| v1968_1(void) = EnterFunction : -# 1968| mu1968_2(unknown) = AliasedDefinition : -# 1968| mu1968_3(unknown) = InitializeNonLocal : -# 1969| r1969_1(glval) = VariableAddress[x] : -# 1969| mu1969_2(int) = Uninitialized[x] : &:r1969_1 -# 1970| r1970_1(glval) = VariableAddress[x] : -# 1970| r1970_2(int) = Load[x] : &:r1970_1, ~m? -# 1971| v1971_1(void) = NoOp : -# 1968| v1968_4(void) = ReturnVoid : -# 1968| v1968_5(void) = AliasedUse : ~m? -# 1968| v1968_6(void) = ExitFunction : - -# 1979| void value_category_test() -# 1979| Block 0 -# 1979| v1979_1(void) = EnterFunction : -# 1979| mu1979_2(unknown) = AliasedDefinition : -# 1979| mu1979_3(unknown) = InitializeNonLocal : -# 1980| r1980_1(glval) = VariableAddress[c] : -# 1980| mu1980_2(ValCat) = Uninitialized[c] : &:r1980_1 +# 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 : + +# 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 : + +# 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 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| mu0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, ~m? -# 1982| r1982_1(glval) = VariableAddress[c] : -# 1982| r1982_2(glval) = FunctionAddress[lvalue] : -# 1982| r1982_3(ValCat &) = Call[lvalue] : func:r1982_2 -# 1982| mu1982_4(unknown) = ^CallSideEffect : ~m? -# 1982| r1982_5(glval) = CopyValue : r1982_3 -# 1982| mu1982_6(ValCat) = Store[?] : &:r1982_5, r0_3 +# 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 #-----| r0_4(glval) = VariableAddress[#temp0:0] : #-----| mu0_5(ValCat) = Uninitialized[#temp0:0] : &:r0_4 #-----| r0_6(ValCat) = Load[#temp0:0] : &:r0_4, ~m? -# 1983| r1983_1(glval) = VariableAddress[c] : -# 1983| r1983_2(glval) = FunctionAddress[xvalue] : -# 1983| r1983_3(ValCat &&) = Call[xvalue] : func:r1983_2 -# 1983| mu1983_4(unknown) = ^CallSideEffect : ~m? -# 1983| r1983_5(glval) = CopyValue : r1983_3 -# 1983| mu1983_6(ValCat) = Store[?] : &:r1983_5, r0_6 +# 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 #-----| r0_7(glval) = VariableAddress[#temp0:0] : #-----| mu0_8(ValCat) = Uninitialized[#temp0:0] : &:r0_7 #-----| r0_9(ValCat) = Load[#temp0:0] : &:r0_7, ~m? -# 1984| r1984_1(glval) = VariableAddress[#temp1984:5] : -# 1984| r1984_2(glval) = VariableAddress[c] : -# 1984| r1984_3(glval) = FunctionAddress[prvalue] : -# 1984| r1984_4(ValCat) = Call[prvalue] : func:r1984_3 -# 1984| mu1984_5(unknown) = ^CallSideEffect : ~m? -# 1984| mu1984_6(ValCat) = Store[#temp1984:5] : &:r1984_1, r1984_4 -# 1984| mu1984_7(ValCat) = Store[#temp1984:5] : &:r1984_1, r0_9 +# 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 #-----| r0_10(glval) = VariableAddress[#temp0:0] : #-----| mu0_11(ValCat) = Uninitialized[#temp0:0] : &:r0_10 #-----| r0_12(ValCat) = Load[#temp0:0] : &:r0_10, ~m? -# 1985| r1985_1(glval) = FunctionAddress[lvalue] : -# 1985| r1985_2(ValCat &) = Call[lvalue] : func:r1985_1 -# 1985| mu1985_3(unknown) = ^CallSideEffect : ~m? -# 1985| r1985_4(glval) = CopyValue : r1985_2 -# 1985| mu1985_5(ValCat) = Store[?] : &:r1985_4, r0_12 +# 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 #-----| r0_13(glval) = VariableAddress[#temp0:0] : #-----| mu0_14(ValCat) = Uninitialized[#temp0:0] : &:r0_13 #-----| r0_15(ValCat) = Load[#temp0:0] : &:r0_13, ~m? -# 1986| r1986_1(glval) = FunctionAddress[xvalue] : -# 1986| r1986_2(ValCat &&) = Call[xvalue] : func:r1986_1 -# 1986| mu1986_3(unknown) = ^CallSideEffect : ~m? -# 1986| r1986_4(glval) = CopyValue : r1986_2 -# 1986| mu1986_5(ValCat) = Store[?] : &:r1986_4, r0_15 +# 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 #-----| r0_16(glval) = VariableAddress[#temp0:0] : #-----| mu0_17(ValCat) = Uninitialized[#temp0:0] : &:r0_16 #-----| r0_18(ValCat) = Load[#temp0:0] : &:r0_16, ~m? -# 1987| r1987_1(glval) = VariableAddress[#temp1987:5] : -# 1987| r1987_2(glval) = FunctionAddress[prvalue] : -# 1987| r1987_3(ValCat) = Call[prvalue] : func:r1987_2 -# 1987| mu1987_4(unknown) = ^CallSideEffect : ~m? -# 1987| mu1987_5(ValCat) = Store[#temp1987:5] : &:r1987_1, r1987_3 -# 1987| mu1987_6(ValCat) = Store[#temp1987:5] : &:r1987_1, r0_18 -# 1988| v1988_1(void) = NoOp : -# 1979| v1979_4(void) = ReturnVoid : -# 1979| v1979_5(void) = AliasedUse : ~m? -# 1979| v1979_6(void) = ExitFunction : - -# 1990| void SetStaticFuncPtr() -# 1990| Block 0 -# 1990| v1990_1(void) = EnterFunction : -# 1990| mu1990_2(unknown) = AliasedDefinition : -# 1990| mu1990_3(unknown) = InitializeNonLocal : -# 1991| r1991_1(glval) = VariableAddress[c] : -# 1991| mu1991_2(C) = Uninitialized[c] : &:r1991_1 -# 1991| r1991_3(glval) = FunctionAddress[C] : -# 1991| v1991_4(void) = Call[C] : func:r1991_3, this:r1991_1 -# 1991| mu1991_5(unknown) = ^CallSideEffect : ~m? -# 1991| mu1991_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1991_1 -# 1992| r1992_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1992| r1992_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1992| mu1992_3(..(*)(..)) = Store[pfn] : &:r1992_1, r1992_2 +# 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 : + +# 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| r1993_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 1993| r1993_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 1993| mu1993_4(..(*)(..)) = Store[pfn] : &:r1993_3, r1993_2 -# 1994| v1994_1(void) = NoOp : -# 1990| v1990_4(void) = ReturnVoid : -# 1990| v1990_5(void) = AliasedUse : ~m? -# 1990| v1990_6(void) = ExitFunction : - -# 1996| void TernaryTestInt(bool, int, int, int) -# 1996| Block 0 -# 1996| v1996_1(void) = EnterFunction : -# 1996| mu1996_2(unknown) = AliasedDefinition : -# 1996| mu1996_3(unknown) = InitializeNonLocal : -# 1996| r1996_4(glval) = VariableAddress[a] : -# 1996| mu1996_5(bool) = InitializeParameter[a] : &:r1996_4 -# 1996| r1996_6(glval) = VariableAddress[x] : -# 1996| mu1996_7(int) = InitializeParameter[x] : &:r1996_6 -# 1996| r1996_8(glval) = VariableAddress[y] : -# 1996| mu1996_9(int) = InitializeParameter[y] : &:r1996_8 -# 1996| r1996_10(glval) = VariableAddress[z] : -# 1996| mu1996_11(int) = InitializeParameter[z] : &:r1996_10 -# 1997| r1997_1(glval) = VariableAddress[a] : -# 1997| r1997_2(bool) = Load[a] : &:r1997_1, ~m? -# 1997| v1997_3(void) = ConditionalBranch : r1997_2 +# 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 : +# 1992| v1992_4(void) = ReturnVoid : +# 1992| v1992_5(void) = AliasedUse : ~m? +# 1992| v1992_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 #-----| False -> Block 3 #-----| True -> Block 2 -# 1997| Block 1 -# 1997| r1997_4(glval) = VariableAddress[#temp1997:9] : -# 1997| r1997_5(int) = Load[#temp1997:9] : &:r1997_4, ~m? -# 1997| r1997_6(glval) = VariableAddress[z] : -# 1997| mu1997_7(int) = Store[z] : &:r1997_6, r1997_5 -# 1998| r1998_1(glval) = VariableAddress[a] : -# 1998| r1998_2(bool) = Load[a] : &:r1998_1, ~m? -# 1998| v1998_3(void) = ConditionalBranch : r1998_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 #-----| False -> Block 6 #-----| True -> Block 5 -# 1997| Block 2 -# 1997| r1997_8(glval) = VariableAddress[x] : -# 1997| r1997_9(int) = Load[x] : &:r1997_8, ~m? -# 1997| r1997_10(glval) = VariableAddress[#temp1997:9] : -# 1997| mu1997_11(int) = Store[#temp1997:9] : &:r1997_10, r1997_9 +# 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 #-----| Goto -> Block 1 -# 1997| Block 3 -# 1997| r1997_12(glval) = VariableAddress[y] : -# 1997| r1997_13(int) = Load[y] : &:r1997_12, ~m? -# 1997| r1997_14(glval) = VariableAddress[#temp1997:9] : -# 1997| mu1997_15(int) = Store[#temp1997:9] : &:r1997_14, r1997_13 +# 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 #-----| Goto -> Block 1 -# 1998| Block 4 -# 1998| r1998_4(glval) = VariableAddress[#temp1998:9] : -# 1998| r1998_5(int) = Load[#temp1998:9] : &:r1998_4, ~m? -# 1998| r1998_6(glval) = VariableAddress[z] : -# 1998| mu1998_7(int) = Store[z] : &:r1998_6, r1998_5 -# 1999| r1999_1(glval) = VariableAddress[a] : -# 1999| r1999_2(bool) = Load[a] : &:r1999_1, ~m? -# 1999| v1999_3(void) = ConditionalBranch : r1999_2 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 1998| Block 5 -# 1998| r1998_8(glval) = VariableAddress[x] : -# 1998| r1998_9(int) = Load[x] : &:r1998_8, ~m? -# 1998| r1998_10(glval) = VariableAddress[#temp1998:9] : -# 1998| mu1998_11(int) = Store[#temp1998:9] : &:r1998_10, r1998_9 +# 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 #-----| Goto -> Block 4 -# 1998| Block 6 -# 1998| r1998_12(int) = Constant[5] : -# 1998| r1998_13(glval) = VariableAddress[#temp1998:9] : -# 1998| mu1998_14(int) = Store[#temp1998:9] : &:r1998_13, r1998_12 +# 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 #-----| Goto -> Block 4 -# 1999| Block 7 -# 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(int) = Constant[7] : -# 2000| r2000_2(glval) = VariableAddress[a] : -# 2000| r2000_3(bool) = Load[a] : &:r2000_2, ~m? -# 2000| v2000_4(void) = ConditionalBranch : r2000_3 +# 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 #-----| False -> Block 12 #-----| True -> Block 11 -# 1999| Block 8 -# 1999| r1999_8(int) = Constant[3] : -# 1999| r1999_9(glval) = VariableAddress[#temp1999:9] : -# 1999| mu1999_10(int) = Store[#temp1999:9] : &:r1999_9, r1999_8 +# 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 #-----| Goto -> Block 7 -# 1999| Block 9 -# 1999| r1999_11(int) = Constant[5] : -# 1999| r1999_12(glval) = VariableAddress[#temp1999:9] : -# 1999| mu1999_13(int) = Store[#temp1999:9] : &:r1999_12, r1999_11 +# 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 #-----| Goto -> Block 7 -# 2000| Block 10 -# 2000| r2000_5(glval) = VariableAddress[#temp2000:6] : -# 2000| r2000_6(glval) = Load[#temp2000:6] : &:r2000_5, ~m? -# 2000| mu2000_7(int) = Store[?] : &:r2000_6, r2000_1 -# 2001| v2001_1(void) = NoOp : -# 1996| v1996_12(void) = ReturnVoid : -# 1996| v1996_13(void) = AliasedUse : ~m? -# 1996| v1996_14(void) = ExitFunction : - -# 2000| Block 11 -# 2000| r2000_8(glval) = VariableAddress[x] : -# 2000| r2000_9(glval) = VariableAddress[#temp2000:6] : -# 2000| mu2000_10(glval) = Store[#temp2000:6] : &:r2000_9, r2000_8 +# 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 : + +# 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 #-----| Goto -> Block 10 -# 2000| Block 12 -# 2000| r2000_11(glval) = VariableAddress[y] : -# 2000| r2000_12(glval) = VariableAddress[#temp2000:6] : -# 2000| mu2000_13(glval) = Store[#temp2000:6] : &:r2000_12, r2000_11 +# 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 #-----| Goto -> Block 10 -# 2006| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2006| Block 0 -# 2006| v2006_1(void) = EnterFunction : -# 2006| mu2006_2(unknown) = AliasedDefinition : -# 2006| mu2006_3(unknown) = InitializeNonLocal : -# 2006| r2006_4(glval) = VariableAddress[a] : -# 2006| mu2006_5(bool) = InitializeParameter[a] : &:r2006_4 -# 2006| r2006_6(glval) = VariableAddress[x] : -# 2006| mu2006_7(TernaryPodObj) = InitializeParameter[x] : &:r2006_6 -# 2006| r2006_8(glval) = VariableAddress[y] : -# 2006| mu2006_9(TernaryPodObj) = InitializeParameter[y] : &:r2006_8 -# 2006| r2006_10(glval) = VariableAddress[z] : -# 2006| mu2006_11(TernaryPodObj) = InitializeParameter[z] : &:r2006_10 -# 2007| r2007_1(glval) = VariableAddress[a] : -# 2007| r2007_2(bool) = Load[a] : &:r2007_1, ~m? -# 2007| v2007_3(void) = ConditionalBranch : r2007_2 +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 2007| Block 1 -# 2007| r2007_4(glval) = VariableAddress[#temp2007:9] : -# 2007| r2007_5(TernaryPodObj) = Load[#temp2007:9] : &:r2007_4, ~m? -# 2007| r2007_6(glval) = VariableAddress[z] : -# 2007| mu2007_7(TernaryPodObj) = Store[z] : &:r2007_6, r2007_5 -# 2008| r2008_1(glval) = VariableAddress[#temp2008:9] : -# 2008| r2008_2(glval) = VariableAddress[a] : -# 2008| r2008_3(bool) = Load[a] : &:r2008_2, ~m? -# 2008| v2008_4(void) = ConditionalBranch : r2008_3 +# 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 #-----| False -> Block 6 #-----| True -> Block 5 -# 2007| Block 2 -# 2007| r2007_8(glval) = VariableAddress[x] : -# 2007| r2007_9(TernaryPodObj) = Load[x] : &:r2007_8, ~m? -# 2007| r2007_10(glval) = VariableAddress[#temp2007:9] : -# 2007| mu2007_11(TernaryPodObj) = Store[#temp2007:9] : &:r2007_10, r2007_9 +# 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 #-----| Goto -> Block 1 -# 2007| Block 3 -# 2007| r2007_12(glval) = VariableAddress[y] : -# 2007| r2007_13(TernaryPodObj) = Load[y] : &:r2007_12, ~m? -# 2007| r2007_14(glval) = VariableAddress[#temp2007:9] : -# 2007| mu2007_15(TernaryPodObj) = Store[#temp2007:9] : &:r2007_14, r2007_13 +# 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 #-----| Goto -> Block 1 -# 2008| Block 4 -# 2008| r2008_5(glval) = VariableAddress[#temp2008:9] : -# 2008| r2008_6(TernaryPodObj) = Load[#temp2008:9] : &:r2008_5, ~m? -# 2008| mu2008_7(TernaryPodObj) = Store[#temp2008:9] : &:r2008_1, r2008_6 -# 2008| r2008_8(TernaryPodObj) = Load[#temp2008:9] : &:r2008_1, ~m? -# 2008| r2008_9(glval) = VariableAddress[z] : -# 2008| mu2008_10(TernaryPodObj) = Store[z] : &:r2008_9, r2008_8 -# 2009| r2009_1(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_2(glval) = VariableAddress[a] : -# 2009| r2009_3(bool) = Load[a] : &:r2009_2, ~m? -# 2009| v2009_4(void) = ConditionalBranch : r2009_3 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 2008| Block 5 -# 2008| r2008_11(glval) = VariableAddress[#temp2008:13] : -# 2008| r2008_12(glval) = VariableAddress[x] : -# 2008| r2008_13(TernaryPodObj) = Load[x] : &:r2008_12, ~m? -# 2008| mu2008_14(TernaryPodObj) = Store[#temp2008:13] : &:r2008_11, r2008_13 -# 2008| r2008_15(TernaryPodObj) = Load[#temp2008:13] : &:r2008_11, ~m? -# 2008| r2008_16(glval) = VariableAddress[#temp2008:9] : -# 2008| mu2008_17(TernaryPodObj) = Store[#temp2008:9] : &:r2008_16, r2008_15 +# 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 #-----| Goto -> Block 4 -# 2008| Block 6 -# 2008| r2008_18(glval) = VariableAddress[#temp2008:17] : -# 2008| r2008_19(TernaryPodObj) = Constant[0] : -# 2008| mu2008_20(TernaryPodObj) = Store[#temp2008:17] : &:r2008_18, r2008_19 -# 2008| r2008_21(TernaryPodObj) = Load[#temp2008:17] : &:r2008_18, ~m? -# 2008| r2008_22(glval) = VariableAddress[#temp2008:9] : -# 2008| mu2008_23(TernaryPodObj) = Store[#temp2008:9] : &:r2008_22, r2008_21 +# 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 #-----| Goto -> Block 4 -# 2009| Block 7 -# 2009| r2009_5(glval) = VariableAddress[#temp2009:9] : -# 2009| r2009_6(TernaryPodObj) = Load[#temp2009:9] : &:r2009_5, ~m? -# 2009| mu2009_7(TernaryPodObj) = Store[#temp2009:9] : &:r2009_1, r2009_6 -# 2009| r2009_8(TernaryPodObj) = Load[#temp2009:9] : &:r2009_1, ~m? -# 2009| r2009_9(glval) = VariableAddress[z] : -# 2009| mu2009_10(TernaryPodObj) = Store[z] : &:r2009_9, r2009_8 -# 2010| r2010_1(glval) = VariableAddress[#temp2010:23] : -# 2010| r2010_2(TernaryPodObj) = Constant[0] : -# 2010| mu2010_3(TernaryPodObj) = Store[#temp2010:23] : &:r2010_1, r2010_2 -# 2010| r2010_4(TernaryPodObj) = Load[#temp2010:23] : &:r2010_1, ~m? -# 2010| r2010_5(glval) = VariableAddress[a] : -# 2010| r2010_6(bool) = Load[a] : &:r2010_5, ~m? -# 2010| v2010_7(void) = ConditionalBranch : r2010_6 +# 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 #-----| False -> Block 12 #-----| True -> Block 11 -# 2009| Block 8 -# 2009| r2009_11(glval) = VariableAddress[#temp2009:13] : -# 2009| r2009_12(TernaryPodObj) = Constant[0] : -# 2009| mu2009_13(TernaryPodObj) = Store[#temp2009:13] : &:r2009_11, r2009_12 -# 2009| r2009_14(TernaryPodObj) = Load[#temp2009:13] : &:r2009_11, ~m? -# 2009| r2009_15(glval) = VariableAddress[#temp2009:9] : -# 2009| mu2009_16(TernaryPodObj) = Store[#temp2009:9] : &:r2009_15, r2009_14 +# 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 #-----| Goto -> Block 7 -# 2009| Block 9 -# 2009| r2009_17(glval) = VariableAddress[#temp2009:31] : -# 2009| r2009_18(TernaryPodObj) = Constant[0] : -# 2009| mu2009_19(TernaryPodObj) = Store[#temp2009:31] : &:r2009_17, r2009_18 -# 2009| r2009_20(TernaryPodObj) = Load[#temp2009:31] : &:r2009_17, ~m? -# 2009| r2009_21(glval) = VariableAddress[#temp2009:9] : -# 2009| mu2009_22(TernaryPodObj) = Store[#temp2009:9] : &:r2009_21, r2009_20 +# 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 #-----| Goto -> Block 7 -# 2010| Block 10 -# 2010| r2010_8(glval) = VariableAddress[#temp2010:10] : -# 2010| r2010_9(TernaryPodObj) = Load[#temp2010:10] : &:r2010_8, ~m? -# 2010| r2010_10(glval) = VariableAddress[z] : -# 2010| mu2010_11(TernaryPodObj) = Store[z] : &:r2010_10, r2010_9 -# 2010| r2010_12(glval) = CopyValue : r2010_10 -# 2010| mu2010_13(TernaryPodObj) = Store[?] : &:r2010_12, r2010_4 -# 2011| v2011_1(void) = NoOp : -# 2006| v2006_12(void) = ReturnVoid : -# 2006| v2006_13(void) = AliasedUse : ~m? -# 2006| v2006_14(void) = ExitFunction : - -# 2010| Block 11 -# 2010| r2010_14(glval) = VariableAddress[x] : -# 2010| r2010_15(TernaryPodObj) = Load[x] : &:r2010_14, ~m? -# 2010| r2010_16(glval) = VariableAddress[#temp2010:10] : -# 2010| mu2010_17(TernaryPodObj) = Store[#temp2010:10] : &:r2010_16, r2010_15 +# 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 : + +# 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 #-----| Goto -> Block 10 -# 2010| Block 12 -# 2010| r2010_18(glval) = VariableAddress[y] : -# 2010| r2010_19(TernaryPodObj) = Load[y] : &:r2010_18, ~m? -# 2010| r2010_20(glval) = VariableAddress[#temp2010:10] : -# 2010| mu2010_21(TernaryPodObj) = Store[#temp2010:10] : &:r2010_20, r2010_19 +# 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 #-----| Goto -> Block 10 -# 2013| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2013| Block 0 -# 2013| v2013_1(void) = EnterFunction : -# 2013| mu2013_2(unknown) = AliasedDefinition : -# 2013| mu2013_3(unknown) = InitializeNonLocal : -# 2013| r2013_4(glval) = VariableAddress[#this] : -# 2013| mu2013_5(glval) = InitializeParameter[#this] : &:r2013_4 -# 2013| r2013_6(glval) = Load[#this] : &:r2013_4, ~m? -# 2013| mu2013_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_6 +# 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 #-----| 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? @@ -10939,742 +10939,1018 @@ ir.cpp: #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| mu0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2013| v2013_8(void) = ReturnIndirection[#this] : &:r2013_6, ~m? +# 2015| v2015_8(void) = ReturnIndirection[#this] : &:r2015_6, ~m? #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2013| r2013_9(glval) = VariableAddress[#return] : -# 2013| v2013_10(void) = ReturnValue : &:r2013_9, ~m? -# 2013| v2013_11(void) = AliasedUse : ~m? -# 2013| v2013_12(void) = ExitFunction : - -# 2013| void TernaryNonPodObj::TernaryNonPodObj() -# 2013| Block 0 -# 2013| v2013_1(void) = EnterFunction : -# 2013| mu2013_2(unknown) = AliasedDefinition : -# 2013| mu2013_3(unknown) = InitializeNonLocal : -# 2013| r2013_4(glval) = VariableAddress[#this] : -# 2013| mu2013_5(glval) = InitializeParameter[#this] : &:r2013_4 -# 2013| r2013_6(glval) = Load[#this] : &:r2013_4, ~m? -# 2013| mu2013_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_6 -# 2013| v2013_8(void) = NoOp : -# 2013| v2013_9(void) = ReturnIndirection[#this] : &:r2013_6, ~m? -# 2013| v2013_10(void) = ReturnVoid : -# 2013| v2013_11(void) = AliasedUse : ~m? -# 2013| v2013_12(void) = ExitFunction : - -# 2013| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2013| Block 0 -# 2013| v2013_1(void) = EnterFunction : -# 2013| mu2013_2(unknown) = AliasedDefinition : -# 2013| mu2013_3(unknown) = InitializeNonLocal : -# 2013| r2013_4(glval) = VariableAddress[#this] : -# 2013| mu2013_5(glval) = InitializeParameter[#this] : &:r2013_4 -# 2013| r2013_6(glval) = Load[#this] : &:r2013_4, ~m? -# 2013| mu2013_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_6 +# 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 : + +# 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 : + +# 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 #-----| 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 -# 2013| v2013_8(void) = NoOp : -# 2013| v2013_9(void) = ReturnIndirection[#this] : &:r2013_6, ~m? +# 2015| v2015_8(void) = NoOp : +# 2015| v2015_9(void) = ReturnIndirection[#this] : &:r2015_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2013| v2013_10(void) = ReturnVoid : -# 2013| v2013_11(void) = AliasedUse : ~m? -# 2013| v2013_12(void) = ExitFunction : - -# 2014| void TernaryNonPodObj::~TernaryNonPodObj() -# 2014| Block 0 -# 2014| v2014_1(void) = EnterFunction : -# 2014| mu2014_2(unknown) = AliasedDefinition : -# 2014| mu2014_3(unknown) = InitializeNonLocal : -# 2014| r2014_4(glval) = VariableAddress[#this] : -# 2014| mu2014_5(glval) = InitializeParameter[#this] : &:r2014_4 -# 2014| r2014_6(glval) = Load[#this] : &:r2014_4, ~m? -# 2014| mu2014_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2014_6 -# 2014| v2014_8(void) = NoOp : -# 2014| v2014_9(void) = ReturnIndirection[#this] : &:r2014_6, ~m? -# 2014| v2014_10(void) = ReturnVoid : -# 2014| v2014_11(void) = AliasedUse : ~m? -# 2014| v2014_12(void) = ExitFunction : - -# 2017| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2017| Block 0 -# 2017| v2017_1(void) = EnterFunction : -# 2017| mu2017_2(unknown) = AliasedDefinition : -# 2017| mu2017_3(unknown) = InitializeNonLocal : -# 2017| r2017_4(glval) = VariableAddress[a] : -# 2017| mu2017_5(bool) = InitializeParameter[a] : &:r2017_4 -# 2017| r2017_6(glval) = VariableAddress[x] : -# 2017| mu2017_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2017_6 -# 2017| r2017_8(glval) = VariableAddress[y] : -# 2017| mu2017_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2017_8 -# 2017| r2017_10(glval) = VariableAddress[z] : -# 2017| mu2017_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2017_10 -# 2018| r2018_1(glval) = VariableAddress[z] : -# 2018| r2018_2(glval) = FunctionAddress[operator=] : -# 2018| r2018_3(glval) = VariableAddress[a] : -# 2018| r2018_4(bool) = Load[a] : &:r2018_3, ~m? -# 2018| v2018_5(void) = ConditionalBranch : r2018_4 +# 2015| v2015_10(void) = ReturnVoid : +# 2015| v2015_11(void) = AliasedUse : ~m? +# 2015| v2015_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 : + +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 2018| Block 1 -# 2018| r2018_6(glval) = VariableAddress[#temp2018:9] : -# 2018| r2018_7(glval) = Load[#temp2018:9] : &:r2018_6, ~m? -# 2018| r2018_8(glval) = Convert : r2018_7 -# 2018| r2018_9(TernaryNonPodObj &) = CopyValue : r2018_8 -# 2018| r2018_10(TernaryNonPodObj &) = Call[operator=] : func:r2018_2, this:r2018_1, 0:r2018_9 -# 2018| mu2018_11(unknown) = ^CallSideEffect : ~m? -# 2018| v2018_12(void) = ^IndirectReadSideEffect[-1] : &:r2018_1, ~m? -# 2018| v2018_13(void) = ^BufferReadSideEffect[0] : &:r2018_9, ~m? -# 2018| mu2018_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2018_1 -# 2018| r2018_15(glval) = CopyValue : r2018_10 -# 2019| r2019_1(glval) = VariableAddress[z] : -# 2019| r2019_2(glval) = FunctionAddress[operator=] : -# 2019| r2019_3(glval) = VariableAddress[#temp2019:9] : -# 2019| r2019_4(glval) = VariableAddress[a] : -# 2019| r2019_5(bool) = Load[a] : &:r2019_4, ~m? -# 2019| v2019_6(void) = ConditionalBranch : r2019_5 +# 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 #-----| False -> Block 6 #-----| True -> Block 5 -# 2018| Block 2 -# 2018| r2018_16(glval) = VariableAddress[x] : -# 2018| r2018_17(glval) = VariableAddress[#temp2018:9] : -# 2018| mu2018_18(glval) = Store[#temp2018:9] : &:r2018_17, r2018_16 +# 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 #-----| Goto -> Block 1 -# 2018| Block 3 -# 2018| r2018_19(glval) = VariableAddress[y] : -# 2018| r2018_20(glval) = VariableAddress[#temp2018:9] : -# 2018| mu2018_21(glval) = Store[#temp2018:9] : &:r2018_20, r2018_19 +# 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 #-----| Goto -> Block 1 -# 2019| Block 4 -# 2019| r2019_7(glval) = VariableAddress[#temp2019:9] : -# 2019| r2019_8(TernaryNonPodObj) = Load[#temp2019:9] : &:r2019_7, ~m? -# 2019| mu2019_9(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_3, r2019_8 -# 2019| r2019_10(glval) = Convert : r2019_3 -# 2019| r2019_11(TernaryNonPodObj &) = CopyValue : r2019_10 -# 2019| r2019_12(TernaryNonPodObj &) = Call[operator=] : func:r2019_2, this:r2019_1, 0:r2019_11 -# 2019| mu2019_13(unknown) = ^CallSideEffect : ~m? -# 2019| v2019_14(void) = ^IndirectReadSideEffect[-1] : &:r2019_1, ~m? -# 2019| v2019_15(void) = ^BufferReadSideEffect[0] : &:r2019_11, ~m? -# 2019| mu2019_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_1 -# 2019| r2019_17(glval) = CopyValue : r2019_12 -# 2020| r2020_1(glval) = VariableAddress[z] : -# 2020| r2020_2(glval) = FunctionAddress[operator=] : -# 2020| r2020_3(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_4(glval) = VariableAddress[a] : -# 2020| r2020_5(bool) = Load[a] : &:r2020_4, ~m? -# 2020| v2020_6(void) = ConditionalBranch : r2020_5 +# 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 #-----| False -> Block 9 #-----| True -> Block 8 -# 2019| Block 5 -# 2019| r2019_18(glval) = VariableAddress[#temp2019:13] : -# 2019| mu2019_19(TernaryNonPodObj) = Uninitialized[#temp2019:13] : &:r2019_18 -# 2019| r2019_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2019| r2019_21(glval) = VariableAddress[x] : -# 2019| r2019_22(glval) = Convert : r2019_21 -# 2019| r2019_23(TernaryNonPodObj &) = CopyValue : r2019_22 -# 2019| v2019_24(void) = Call[TernaryNonPodObj] : func:r2019_20, this:r2019_18, 0:r2019_23 -# 2019| mu2019_25(unknown) = ^CallSideEffect : ~m? -# 2019| v2019_26(void) = ^BufferReadSideEffect[0] : &:r2019_23, ~m? -# 2019| mu2019_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_18 -# 2019| r2019_28(TernaryNonPodObj) = Load[#temp2019:13] : &:r2019_18, ~m? -# 2019| r2019_29(glval) = VariableAddress[#temp2019:9] : -# 2019| mu2019_30(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_29, r2019_28 +# 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 #-----| Goto -> Block 4 -# 2019| Block 6 -# 2019| r2019_31(glval) = VariableAddress[#temp2019:17] : -# 2019| mu2019_32(TernaryNonPodObj) = Uninitialized[#temp2019:17] : &:r2019_31 -# 2019| r2019_33(glval) = FunctionAddress[TernaryNonPodObj] : -# 2019| v2019_34(void) = Call[TernaryNonPodObj] : func:r2019_33, this:r2019_31 -# 2019| mu2019_35(unknown) = ^CallSideEffect : ~m? -# 2019| mu2019_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_31 -# 2019| r2019_37(TernaryNonPodObj) = Load[#temp2019:17] : &:r2019_31, ~m? -# 2019| r2019_38(glval) = VariableAddress[#temp2019:9] : -# 2019| mu2019_39(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_38, r2019_37 +# 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 #-----| Goto -> Block 4 -# 2020| Block 7 -# 2020| r2020_7(glval) = VariableAddress[#temp2020:9] : -# 2020| r2020_8(TernaryNonPodObj) = Load[#temp2020:9] : &:r2020_7, ~m? -# 2020| mu2020_9(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_3, r2020_8 -# 2020| r2020_10(glval) = Convert : r2020_3 -# 2020| r2020_11(TernaryNonPodObj &) = CopyValue : r2020_10 -# 2020| r2020_12(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_11 -# 2020| mu2020_13(unknown) = ^CallSideEffect : ~m? -# 2020| v2020_14(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, ~m? -# 2020| v2020_15(void) = ^BufferReadSideEffect[0] : &:r2020_11, ~m? -# 2020| mu2020_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1 -# 2020| r2020_17(glval) = CopyValue : r2020_12 -# 2021| r2021_1(glval) = VariableAddress[z] : -# 2021| r2021_2(glval) = FunctionAddress[operator=] : -# 2021| r2021_3(glval) = VariableAddress[a] : -# 2021| r2021_4(bool) = Load[a] : &:r2021_3, ~m? -# 2021| v2021_5(void) = ConditionalBranch : r2021_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 #-----| False -> Block 12 #-----| True -> Block 11 -# 2020| Block 8 -# 2020| r2020_18(glval) = VariableAddress[#temp2020:13] : -# 2020| mu2020_19(TernaryNonPodObj) = Uninitialized[#temp2020:13] : &:r2020_18 -# 2020| r2020_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2020| v2020_21(void) = Call[TernaryNonPodObj] : func:r2020_20, this:r2020_18 -# 2020| mu2020_22(unknown) = ^CallSideEffect : ~m? -# 2020| mu2020_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_18 -# 2020| r2020_24(TernaryNonPodObj) = Load[#temp2020:13] : &:r2020_18, ~m? -# 2020| r2020_25(glval) = VariableAddress[#temp2020:9] : -# 2020| mu2020_26(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_25, r2020_24 +# 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 #-----| Goto -> Block 7 -# 2020| Block 9 -# 2020| r2020_27(glval) = VariableAddress[#temp2020:34] : -# 2020| mu2020_28(TernaryNonPodObj) = Uninitialized[#temp2020:34] : &:r2020_27 -# 2020| r2020_29(glval) = FunctionAddress[TernaryNonPodObj] : -# 2020| v2020_30(void) = Call[TernaryNonPodObj] : func:r2020_29, this:r2020_27 -# 2020| mu2020_31(unknown) = ^CallSideEffect : ~m? -# 2020| mu2020_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_27 -# 2020| r2020_33(TernaryNonPodObj) = Load[#temp2020:34] : &:r2020_27, ~m? -# 2020| r2020_34(glval) = VariableAddress[#temp2020:9] : -# 2020| mu2020_35(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_34, r2020_33 +# 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 #-----| Goto -> Block 7 -# 2021| Block 10 -# 2021| r2021_6(glval) = VariableAddress[#temp2021:10] : -# 2021| r2021_7(glval) = Load[#temp2021:10] : &:r2021_6, ~m? -# 2021| r2021_8(glval) = Convert : r2021_7 -# 2021| r2021_9(TernaryNonPodObj &) = CopyValue : r2021_8 -# 2021| r2021_10(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_9 -# 2021| mu2021_11(unknown) = ^CallSideEffect : ~m? -# 2021| v2021_12(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, ~m? -# 2021| v2021_13(void) = ^BufferReadSideEffect[0] : &:r2021_9, ~m? -# 2021| mu2021_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1 -# 2021| r2021_15(glval) = CopyValue : r2021_10 -# 2021| r2021_16(glval) = FunctionAddress[operator=] : -# 2021| r2021_17(glval) = VariableAddress[#temp2021:23] : -# 2021| mu2021_18(TernaryNonPodObj) = Uninitialized[#temp2021:23] : &:r2021_17 -# 2021| r2021_19(glval) = FunctionAddress[TernaryNonPodObj] : -# 2021| v2021_20(void) = Call[TernaryNonPodObj] : func:r2021_19, this:r2021_17 -# 2021| mu2021_21(unknown) = ^CallSideEffect : ~m? -# 2021| mu2021_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_17 -# 2021| r2021_23(glval) = Convert : r2021_17 -# 2021| r2021_24(TernaryNonPodObj &) = CopyValue : r2021_23 -# 2021| r2021_25(TernaryNonPodObj &) = Call[operator=] : func:r2021_16, this:r2021_15, 0:r2021_24 -# 2021| mu2021_26(unknown) = ^CallSideEffect : ~m? -# 2021| v2021_27(void) = ^IndirectReadSideEffect[-1] : &:r2021_15, ~m? -# 2021| v2021_28(void) = ^BufferReadSideEffect[0] : &:r2021_24, ~m? -# 2021| mu2021_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_15 -# 2021| r2021_30(glval) = CopyValue : r2021_25 -# 2022| v2022_1(void) = NoOp : -# 2017| v2017_12(void) = ReturnVoid : -# 2017| v2017_13(void) = AliasedUse : ~m? -# 2017| v2017_14(void) = ExitFunction : - -# 2021| Block 11 -# 2021| r2021_31(glval) = VariableAddress[x] : -# 2021| r2021_32(glval) = VariableAddress[#temp2021:10] : -# 2021| mu2021_33(glval) = Store[#temp2021:10] : &:r2021_32, r2021_31 +# 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 : + +# 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 #-----| Goto -> Block 10 -# 2021| Block 12 -# 2021| r2021_34(glval) = VariableAddress[y] : -# 2021| r2021_35(glval) = VariableAddress[#temp2021:10] : -# 2021| mu2021_36(glval) = Store[#temp2021:10] : &:r2021_35, r2021_34 +# 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 #-----| Goto -> Block 10 -# 2026| unsigned int CommaTest(unsigned int) -# 2026| Block 0 -# 2026| v2026_1(void) = EnterFunction : -# 2026| mu2026_2(unknown) = AliasedDefinition : -# 2026| mu2026_3(unknown) = InitializeNonLocal : -# 2026| r2026_4(glval) = VariableAddress[x] : -# 2026| mu2026_5(unsigned int) = InitializeParameter[x] : &:r2026_4 -# 2027| r2027_1(glval) = VariableAddress[y] : -# 2027| mu2027_2(unsigned int) = Uninitialized[y] : &:r2027_1 -# 2028| r2028_1(glval) = VariableAddress[x] : -# 2028| r2028_2(unsigned int) = Load[x] : &:r2028_1, ~m? -# 2028| r2028_3(unsigned int) = Constant[100] : -# 2028| r2028_4(bool) = CompareLT : r2028_2, r2028_3 -# 2028| v2028_5(void) = ConditionalBranch : r2028_4 +# 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 #-----| False -> Block 3 #-----| True -> Block 2 -# 2028| Block 1 -# 2028| r2028_6(glval) = VariableAddress[#temp2028:7] : -# 2028| r2028_7(unsigned int) = Load[#temp2028:7] : &:r2028_6, ~m? -# 2028| r2028_8(glval) = VariableAddress[y] : -# 2028| mu2028_9(unsigned int) = Store[y] : &:r2028_8, r2028_7 -# 2031| r2031_1(glval) = VariableAddress[#return] : -# 2031| mu2031_2(unsigned int) = Uninitialized[#return] : &:r2031_1 -# 2026| r2026_6(glval) = VariableAddress[#return] : -# 2026| v2026_7(void) = ReturnValue : &:r2026_6, ~m? -# 2026| v2026_8(void) = AliasedUse : ~m? -# 2026| v2026_9(void) = ExitFunction : - -# 2029| Block 2 -# 2029| r2029_1(glval) = FunctionAddress[CommaTestHelper] : -# 2029| r2029_2(glval) = VariableAddress[x] : -# 2029| r2029_3(unsigned int) = Load[x] : &:r2029_2, ~m? -# 2029| v2029_4(void) = Call[CommaTestHelper] : func:r2029_1, 0:r2029_3 -# 2029| mu2029_5(unknown) = ^CallSideEffect : ~m? -# 2029| r2029_6(glval) = VariableAddress[x] : -# 2029| r2029_7(unsigned int) = Load[x] : &:r2029_6, ~m? -# 2029| r2029_8(unsigned int) = CopyValue : r2029_7 -# 2028| r2028_10(glval) = VariableAddress[#temp2028:7] : -# 2028| mu2028_11(unsigned int) = Store[#temp2028:7] : &:r2028_10, r2029_8 +# 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 : + +# 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 #-----| Goto -> Block 1 -# 2030| Block 3 -# 2030| r2030_1(glval) = FunctionAddress[CommaTestHelper] : -# 2030| r2030_2(glval) = VariableAddress[x] : -# 2030| r2030_3(unsigned int) = Load[x] : &:r2030_2, ~m? -# 2030| v2030_4(void) = Call[CommaTestHelper] : func:r2030_1, 0:r2030_3 -# 2030| mu2030_5(unknown) = ^CallSideEffect : ~m? -# 2030| r2030_6(int) = Constant[10] : -# 2030| r2030_7(int) = CopyValue : r2030_6 -# 2030| r2030_8(unsigned int) = Convert : r2030_7 -# 2028| r2028_12(glval) = VariableAddress[#temp2028:7] : -# 2028| mu2028_13(unsigned int) = Store[#temp2028:7] : &:r2028_12, r2030_8 +# 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 #-----| Goto -> Block 1 -# 2033| void NewDeleteMem() -# 2033| Block 0 -# 2033| v2033_1(void) = EnterFunction : -# 2033| mu2033_2(unknown) = AliasedDefinition : -# 2033| mu2033_3(unknown) = InitializeNonLocal : -# 2034| r2034_1(glval) = VariableAddress[x] : -# 2034| r2034_2(glval) = FunctionAddress[operator new] : -# 2034| r2034_3(unsigned long) = Constant[4] : -# 2034| r2034_4(void *) = Call[operator new] : func:r2034_2, 0:r2034_3 -# 2034| mu2034_5(unknown) = ^CallSideEffect : ~m? -# 2034| mu2034_6(unknown) = ^InitializeDynamicAllocation : &:r2034_4 -# 2034| r2034_7(int *) = Convert : r2034_4 -# 2034| mu2034_8(int *) = Store[x] : &:r2034_1, r2034_7 -# 2035| r2035_1(int) = Constant[6] : -# 2035| r2035_2(glval) = VariableAddress[x] : -# 2035| r2035_3(int *) = Load[x] : &:r2035_2, ~m? -# 2035| r2035_4(glval) = CopyValue : r2035_3 -# 2035| mu2035_5(int) = Store[?] : &:r2035_4, r2035_1 -# 2036| r2036_1(glval) = FunctionAddress[operator delete] : -# 2036| r2036_2(glval) = VariableAddress[x] : -# 2036| r2036_3(int *) = Load[x] : &:r2036_2, ~m? -# 2036| v2036_4(void) = Call[operator delete] : func:r2036_1, 0:r2036_3 +# 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? -# 2037| v2037_1(void) = NoOp : -# 2033| v2033_4(void) = ReturnVoid : -# 2033| v2033_5(void) = AliasedUse : ~m? -# 2033| v2033_6(void) = ExitFunction : - -# 2039| void Base2::Base2() -# 2039| Block 0 -# 2039| v2039_1(void) = EnterFunction : -# 2039| mu2039_2(unknown) = AliasedDefinition : -# 2039| mu2039_3(unknown) = InitializeNonLocal : -# 2039| r2039_4(glval) = VariableAddress[#this] : -# 2039| mu2039_5(glval) = InitializeParameter[#this] : &:r2039_4 -# 2039| r2039_6(glval) = Load[#this] : &:r2039_4, ~m? -# 2039| mu2039_7(Base2) = InitializeIndirection[#this] : &:r2039_6 -# 2039| v2039_8(void) = NoOp : -# 2039| v2039_9(void) = ReturnIndirection[#this] : &:r2039_6, ~m? -# 2039| v2039_10(void) = ReturnVoid : -# 2039| v2039_11(void) = AliasedUse : ~m? -# 2039| v2039_12(void) = ExitFunction : - -# 2041| void Base2::operator delete(void*) +# 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 : + +# 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[p] : -# 2041| mu2041_5(void *) = InitializeParameter[p] : &:r2041_4 -# 2041| r2041_6(void *) = Load[p] : &:r2041_4, ~m? -# 2041| mu2041_7(unknown) = InitializeIndirection[p] : &:r2041_6 -# 2042| v2042_1(void) = NoOp : -# 2041| v2041_8(void) = ReturnIndirection[p] : &:r2041_6, ~m? -# 2041| v2041_9(void) = ReturnVoid : -# 2041| v2041_10(void) = AliasedUse : ~m? -# 2041| v2041_11(void) = ExitFunction : - -# 2043| void Base2::~Base2() +# 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 : + +# 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[#this] : -# 2043| mu2043_5(glval) = InitializeParameter[#this] : &:r2043_4 -# 2043| r2043_6(glval) = Load[#this] : &:r2043_4, ~m? -# 2043| mu2043_7(Base2) = InitializeIndirection[#this] : &:r2043_6 -# 2043| v2043_8(void) = NoOp : -# 2043| v2043_9(void) = ReturnIndirection[#this] : &:r2043_6, ~m? -# 2043| v2043_10(void) = ReturnVoid : -# 2043| v2043_11(void) = AliasedUse : ~m? -# 2043| v2043_12(void) = ExitFunction : - -# 2046| void Derived2::Derived2() -# 2046| Block 0 -# 2046| v2046_1(void) = EnterFunction : -# 2046| mu2046_2(unknown) = AliasedDefinition : -# 2046| mu2046_3(unknown) = InitializeNonLocal : -# 2046| r2046_4(glval) = VariableAddress[#this] : -# 2046| mu2046_5(glval) = InitializeParameter[#this] : &:r2046_4 -# 2046| r2046_6(glval) = Load[#this] : &:r2046_4, ~m? -# 2046| mu2046_7(Derived2) = InitializeIndirection[#this] : &:r2046_6 -# 2046| r2046_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2046_5 -# 2046| r2046_9(glval) = FunctionAddress[Base2] : -# 2046| v2046_10(void) = Call[Base2] : func:r2046_9, this:r2046_8 -# 2046| mu2046_11(unknown) = ^CallSideEffect : ~m? -# 2046| mu2046_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2046_8 -# 2046| v2046_13(void) = NoOp : -# 2046| v2046_14(void) = ReturnIndirection[#this] : &:r2046_6, ~m? -# 2046| v2046_15(void) = ReturnVoid : -# 2046| v2046_16(void) = AliasedUse : ~m? -# 2046| v2046_17(void) = ExitFunction : - -# 2049| void Derived2::~Derived2() -# 2049| Block 0 -# 2049| v2049_1(void) = EnterFunction : -# 2049| mu2049_2(unknown) = AliasedDefinition : -# 2049| mu2049_3(unknown) = InitializeNonLocal : -# 2049| r2049_4(glval) = VariableAddress[#this] : -# 2049| mu2049_5(glval) = InitializeParameter[#this] : &:r2049_4 -# 2049| r2049_6(glval) = Load[#this] : &:r2049_4, ~m? -# 2049| mu2049_7(Derived2) = InitializeIndirection[#this] : &:r2049_6 -# 2049| v2049_8(void) = NoOp : -# 2049| r2049_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2049_5 -# 2049| r2049_10(glval) = FunctionAddress[~Base2] : -# 2049| v2049_11(void) = Call[~Base2] : func:r2049_10, this:r2049_9 -# 2049| mu2049_12(unknown) = ^CallSideEffect : ~m? -# 2049| v2049_13(void) = ReturnIndirection[#this] : &:r2049_6, ~m? -# 2049| v2049_14(void) = ReturnVoid : -# 2049| v2049_15(void) = AliasedUse : ~m? -# 2049| v2049_16(void) = ExitFunction : - -# 2051| void Derived2::operator delete(void*) +# 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 : + +# 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[p] : -# 2051| mu2051_5(void *) = InitializeParameter[p] : &:r2051_4 -# 2051| r2051_6(void *) = Load[p] : &:r2051_4, ~m? -# 2051| mu2051_7(unknown) = InitializeIndirection[p] : &:r2051_6 -# 2052| v2052_1(void) = NoOp : -# 2051| v2051_8(void) = ReturnIndirection[p] : &:r2051_6, ~m? -# 2051| v2051_9(void) = ReturnVoid : -# 2051| v2051_10(void) = AliasedUse : ~m? -# 2051| v2051_11(void) = ExitFunction : - -# 2056| int virtual_delete() -# 2056| Block 0 -# 2056| v2056_1(void) = EnterFunction : -# 2056| mu2056_2(unknown) = AliasedDefinition : -# 2056| mu2056_3(unknown) = InitializeNonLocal : -# 2058| r2058_1(glval) = VariableAddress[b1] : -# 2058| r2058_2(glval) = FunctionAddress[operator new] : -# 2058| r2058_3(unsigned long) = Constant[8] : -# 2058| r2058_4(void *) = Call[operator new] : func:r2058_2, 0:r2058_3 -# 2058| mu2058_5(unknown) = ^CallSideEffect : ~m? -# 2058| mu2058_6(unknown) = ^InitializeDynamicAllocation : &:r2058_4 -# 2058| r2058_7(Base2 *) = Convert : r2058_4 -# 2058| r2058_8(glval) = FunctionAddress[Base2] : -# 2058| v2058_9(void) = Call[Base2] : func:r2058_8, this:r2058_7 -# 2058| mu2058_10(unknown) = ^CallSideEffect : ~m? -# 2058| mu2058_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2058_7 -# 2058| mu2058_12(Base2 *) = Store[b1] : &:r2058_1, r2058_7 -# 2059| r2059_1(glval) = VirtualDeleteFunctionAddress : -# 2059| r2059_2(glval) = VariableAddress[b1] : -# 2059| r2059_3(Base2 *) = Load[b1] : &:r2059_2, ~m? -# 2059| v2059_4(void) = Call[?] : func:r2059_1, 0:r2059_3 -# 2059| mu2059_5(unknown) = ^CallSideEffect : ~m? -# 2061| r2061_1(glval) = VariableAddress[b2] : -# 2061| r2061_2(glval) = FunctionAddress[operator new] : -# 2061| r2061_3(unsigned long) = Constant[16] : -# 2061| r2061_4(void *) = Call[operator new] : func:r2061_2, 0:r2061_3 +# 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? -# 2061| mu2061_6(unknown) = ^InitializeDynamicAllocation : &:r2061_4 -# 2061| r2061_7(Derived2 *) = Convert : r2061_4 -# 2061| r2061_8(glval) = FunctionAddress[Derived2] : -# 2061| v2061_9(void) = Call[Derived2] : func:r2061_8, this:r2061_7 -# 2061| mu2061_10(unknown) = ^CallSideEffect : ~m? -# 2061| mu2061_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2061_7 -# 2061| r2061_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2061_7 -# 2061| mu2061_13(Base2 *) = Store[b2] : &:r2061_1, r2061_12 -# 2062| r2062_1(glval) = VirtualDeleteFunctionAddress : -# 2062| r2062_2(glval) = VariableAddress[b2] : -# 2062| r2062_3(Base2 *) = Load[b2] : &:r2062_2, ~m? -# 2062| v2062_4(void) = Call[?] : func:r2062_1, 0:r2062_3 -# 2062| mu2062_5(unknown) = ^CallSideEffect : ~m? -# 2064| r2064_1(glval) = VariableAddress[d] : -# 2064| r2064_2(glval) = FunctionAddress[operator new] : -# 2064| r2064_3(unsigned long) = Constant[16] : -# 2064| r2064_4(void *) = Call[operator new] : func:r2064_2, 0:r2064_3 +# 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? -# 2064| mu2064_6(unknown) = ^InitializeDynamicAllocation : &:r2064_4 -# 2064| r2064_7(Derived2 *) = Convert : r2064_4 -# 2064| r2064_8(glval) = FunctionAddress[Derived2] : -# 2064| v2064_9(void) = Call[Derived2] : func:r2064_8, this:r2064_7 -# 2064| mu2064_10(unknown) = ^CallSideEffect : ~m? -# 2064| mu2064_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2064_7 -# 2064| mu2064_12(Derived2 *) = Store[d] : &:r2064_1, r2064_7 -# 2065| r2065_1(glval) = VirtualDeleteFunctionAddress : -# 2065| r2065_2(glval) = VariableAddress[d] : -# 2065| r2065_3(Derived2 *) = Load[d] : &:r2065_2, ~m? -# 2065| v2065_4(void) = Call[?] : func:r2065_1, 0:r2065_3 -# 2065| mu2065_5(unknown) = ^CallSideEffect : ~m? -# 2066| r2066_1(glval) = VariableAddress[#return] : -# 2066| mu2066_2(int) = Uninitialized[#return] : &:r2066_1 -# 2056| r2056_4(glval) = VariableAddress[#return] : -# 2056| v2056_5(void) = ReturnValue : &:r2056_4, ~m? -# 2056| v2056_6(void) = AliasedUse : ~m? -# 2056| v2056_7(void) = ExitFunction : - -# 2070| void test_constant_folding() -# 2070| Block 0 -# 2070| v2070_1(void) = EnterFunction : -# 2070| mu2070_2(unknown) = AliasedDefinition : -# 2070| mu2070_3(unknown) = InitializeNonLocal : -# 2071| r2071_1(glval) = VariableAddress[x] : -# 2071| r2071_2(int) = Constant[116] : -# 2071| mu2071_3(int) = Store[x] : &:r2071_1, r2071_2 -# 2072| r2072_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2072| r2072_2(int) = Constant[116] : -# 2072| v2072_3(void) = Call[test_constant_folding_use] : func:r2072_1, 0:r2072_2 -# 2072| mu2072_4(unknown) = ^CallSideEffect : ~m? -# 2073| v2073_1(void) = NoOp : -# 2070| v2070_4(void) = ReturnVoid : -# 2070| v2070_5(void) = AliasedUse : ~m? -# 2070| v2070_6(void) = ExitFunction : - -# 2077| int NonExit() -# 2077| Block 0 -# 2077| v2077_1(void) = EnterFunction : -# 2077| mu2077_2(unknown) = AliasedDefinition : -# 2077| mu2077_3(unknown) = InitializeNonLocal : -# 2078| r2078_1(glval) = VariableAddress[x] : -# 2078| r2078_2(glval) = FunctionAddress[Add] : -# 2078| r2078_3(int) = Constant[3] : -# 2078| r2078_4(int) = Constant[4] : -# 2078| r2078_5(int) = Call[Add] : func:r2078_2, 0:r2078_3, 1:r2078_4 -# 2078| mu2078_6(unknown) = ^CallSideEffect : ~m? -# 2078| mu2078_7(int) = Store[x] : &:r2078_1, r2078_5 -# 2079| r2079_1(glval) = VariableAddress[x] : -# 2079| r2079_2(int) = Load[x] : &:r2079_1, ~m? -# 2079| r2079_3(int) = Constant[7] : -# 2079| r2079_4(bool) = CompareEQ : r2079_2, r2079_3 -# 2079| v2079_5(void) = ConditionalBranch : r2079_4 +# 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 -# 2080| Block 1 -# 2080| r2080_1(glval) = FunctionAddress[exit] : -# 2080| r2080_2(int) = Constant[3] : -# 2080| v2080_3(void) = Call[exit] : func:r2080_1, 0:r2080_2 -# 2080| mu2080_4(unknown) = ^CallSideEffect : ~m? -# 2077| v2077_4(void) = Unreached : - -# 2081| Block 2 -# 2081| r2081_1(glval) = FunctionAddress[VoidFunc] : -# 2081| v2081_2(void) = Call[VoidFunc] : func:r2081_1 -# 2081| mu2081_3(unknown) = ^CallSideEffect : ~m? -# 2082| r2082_1(glval) = VariableAddress[#return] : -# 2082| r2082_2(glval) = VariableAddress[x] : -# 2082| r2082_3(int) = Load[x] : &:r2082_2, ~m? -# 2082| mu2082_4(int) = Store[#return] : &:r2082_1, r2082_3 -# 2077| r2077_5(glval) = VariableAddress[#return] : -# 2077| v2077_6(void) = ReturnValue : &:r2077_5, ~m? -# 2077| v2077_7(void) = AliasedUse : ~m? -# 2077| v2077_8(void) = ExitFunction : - -# 2085| void CallsNonExit() -# 2085| Block 0 -# 2085| v2085_1(void) = EnterFunction : -# 2085| mu2085_2(unknown) = AliasedDefinition : -# 2085| mu2085_3(unknown) = InitializeNonLocal : -# 2086| r2086_1(glval) = FunctionAddress[VoidFunc] : -# 2086| v2086_2(void) = Call[VoidFunc] : func:r2086_1 -# 2086| mu2086_3(unknown) = ^CallSideEffect : ~m? -# 2087| r2087_1(glval) = FunctionAddress[exit] : -# 2087| r2087_2(int) = Constant[3] : -# 2087| v2087_3(void) = Call[exit] : func:r2087_1, 0:r2087_2 -# 2087| mu2087_4(unknown) = ^CallSideEffect : ~m? -# 2085| v2085_4(void) = Unreached : - -# 2088| Block 1 -# 2088| v2088_1(void) = NoOp : -# 2085| v2085_5(void) = ReturnVoid : -# 2085| v2085_6(void) = AliasedUse : ~m? -# 2085| v2085_7(void) = ExitFunction : - -# 2090| int TransNonExit() -# 2090| Block 0 -# 2090| v2090_1(void) = EnterFunction : -# 2090| mu2090_2(unknown) = AliasedDefinition : -# 2090| mu2090_3(unknown) = InitializeNonLocal : -# 2091| r2091_1(glval) = VariableAddress[x] : -# 2091| r2091_2(glval) = FunctionAddress[Add] : -# 2091| r2091_3(int) = Constant[3] : -# 2091| r2091_4(int) = Constant[4] : -# 2091| r2091_5(int) = Call[Add] : func:r2091_2, 0:r2091_3, 1:r2091_4 -# 2091| mu2091_6(unknown) = ^CallSideEffect : ~m? -# 2091| mu2091_7(int) = Store[x] : &:r2091_1, r2091_5 -# 2092| r2092_1(glval) = VariableAddress[x] : -# 2092| r2092_2(int) = Load[x] : &:r2092_1, ~m? -# 2092| r2092_3(int) = Constant[7] : -# 2092| r2092_4(bool) = CompareEQ : r2092_2, r2092_3 -# 2092| v2092_5(void) = ConditionalBranch : r2092_4 +# 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| 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 -# 2093| Block 1 -# 2093| r2093_1(glval) = FunctionAddress[CallsNonExit] : -# 2093| v2093_2(void) = Call[CallsNonExit] : func:r2093_1 -# 2093| mu2093_3(unknown) = ^CallSideEffect : ~m? +# 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 -# 2094| Block 2 -# 2094| r2094_1(glval) = FunctionAddress[VoidFunc] : -# 2094| v2094_2(void) = Call[VoidFunc] : func:r2094_1 -# 2094| mu2094_3(unknown) = ^CallSideEffect : ~m? -# 2095| r2095_1(glval) = VariableAddress[#return] : -# 2095| r2095_2(glval) = VariableAddress[x] : -# 2095| r2095_3(int) = Load[x] : &:r2095_2, ~m? -# 2095| mu2095_4(int) = Store[#return] : &:r2095_1, r2095_3 -# 2090| r2090_4(glval) = VariableAddress[#return] : -# 2090| v2090_5(void) = ReturnValue : &:r2090_4, ~m? -# 2090| v2090_6(void) = AliasedUse : ~m? -# 2090| v2090_7(void) = ExitFunction : - -# 2098| void newArrayCorrectType(size_t) -# 2098| Block 0 -# 2098| v2098_1(void) = EnterFunction : -# 2098| mu2098_2(unknown) = AliasedDefinition : -# 2098| mu2098_3(unknown) = InitializeNonLocal : -# 2098| r2098_4(glval) = VariableAddress[n] : -# 2098| mu2098_5(unsigned long) = InitializeParameter[n] : &:r2098_4 -# 2099| r2099_1(glval) = FunctionAddress[operator new[]] : -# 2099| r2099_2(glval) = VariableAddress[n] : -# 2099| r2099_3(unsigned long) = Load[n] : &:r2099_2, ~m? -# 2099| r2099_4(unsigned long) = Constant[4] : -# 2099| r2099_5(unsigned long) = Mul : r2099_3, r2099_4 -# 2099| r2099_6(void *) = Call[operator new[]] : func:r2099_1, 0:r2099_5 -# 2099| mu2099_7(unknown) = ^CallSideEffect : ~m? -# 2099| mu2099_8(unknown) = ^InitializeDynamicAllocation : &:r2099_6 -# 2099| r2099_9(int *) = Convert : r2099_6 -# 2100| r2100_1(glval) = FunctionAddress[operator new[]] : -# 2100| r2100_2(glval) = VariableAddress[n] : -# 2100| r2100_3(unsigned long) = Load[n] : &:r2100_2, ~m? -# 2100| r2100_4(unsigned long) = Constant[4] : -# 2100| r2100_5(unsigned long) = Mul : r2100_3, r2100_4 -# 2100| r2100_6(float) = Constant[1.0] : -# 2100| r2100_7(void *) = Call[operator new[]] : func:r2100_1, 0:r2100_5, 1:r2100_6 -# 2100| mu2100_8(unknown) = ^CallSideEffect : ~m? -# 2100| mu2100_9(unknown) = ^InitializeDynamicAllocation : &:r2100_7 -# 2100| r2100_10(int *) = Convert : r2100_7 +# 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 : + +# 2100| void newArrayCorrectType(size_t) +# 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[8] : +# 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(String *) = Convert : 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[256] : +# 2102| r2102_4(unsigned long) = Constant[4] : # 2102| r2102_5(unsigned long) = Mul : r2102_3, r2102_4 -# 2102| r2102_6(align_val_t) = Constant[128] : +# 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(Overaligned *) = Convert : 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[1] : +# 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(DefaultCtorWithDefaultParam *) = Convert : 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[4] : +# 2104| r2104_4(unsigned long) = Constant[256] : # 2104| r2104_5(unsigned long) = Mul : r2104_3, r2104_4 -# 2104| r2104_6(void *) = Call[operator new[]] : func:r2104_1, 0:r2104_5 -# 2104| mu2104_7(unknown) = ^CallSideEffect : ~m? -# 2104| mu2104_8(unknown) = ^InitializeDynamicAllocation : &:r2104_6 -# 2104| r2104_9(int *) = Convert : r2104_6 -# 2105| v2105_1(void) = NoOp : -# 2098| v2098_6(void) = ReturnVoid : -# 2098| v2098_7(void) = AliasedUse : ~m? -# 2098| v2098_8(void) = ExitFunction : - -# 2109| char* test_strtod(char*) -# 2109| Block 0 -# 2109| v2109_1(void) = EnterFunction : -# 2109| mu2109_2(unknown) = AliasedDefinition : -# 2109| mu2109_3(unknown) = InitializeNonLocal : -# 2109| r2109_4(glval) = VariableAddress[s] : -# 2109| mu2109_5(char *) = InitializeParameter[s] : &:r2109_4 -# 2109| r2109_6(char *) = Load[s] : &:r2109_4, ~m? -# 2109| mu2109_7(unknown) = InitializeIndirection[s] : &:r2109_6 -# 2110| r2110_1(glval) = VariableAddress[end] : -# 2110| mu2110_2(char *) = Uninitialized[end] : &:r2110_1 -# 2111| r2111_1(glval) = VariableAddress[d] : -# 2111| r2111_2(glval) = FunctionAddress[strtod] : -# 2111| r2111_3(glval) = VariableAddress[s] : -# 2111| r2111_4(char *) = Load[s] : &:r2111_3, ~m? -# 2111| r2111_5(char *) = Convert : r2111_4 -# 2111| r2111_6(glval) = VariableAddress[end] : -# 2111| r2111_7(char **) = CopyValue : r2111_6 -# 2111| r2111_8(double) = Call[strtod] : func:r2111_2, 0:r2111_5, 1:r2111_7 -# 2111| v2111_9(void) = ^BufferReadSideEffect[0] : &:r2111_5, ~m? -# 2111| mu2111_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2111_7 -# 2111| mu2111_11(double) = Store[d] : &:r2111_1, r2111_8 -# 2112| r2112_1(glval) = VariableAddress[#return] : -# 2112| r2112_2(glval) = VariableAddress[end] : -# 2112| r2112_3(char *) = Load[end] : &:r2112_2, ~m? -# 2112| mu2112_4(char *) = Store[#return] : &:r2112_1, r2112_3 -# 2109| v2109_8(void) = ReturnIndirection[s] : &:r2109_6, ~m? -# 2109| r2109_9(glval) = VariableAddress[#return] : -# 2109| v2109_10(void) = ReturnValue : &:r2109_9, ~m? -# 2109| v2109_11(void) = AliasedUse : ~m? -# 2109| v2109_12(void) = ExitFunction : - -# 2119| void call_as_child_of_ConditionDeclExpr() -# 2119| Block 0 -# 2119| v2119_1(void) = EnterFunction : -# 2119| mu2119_2(unknown) = AliasedDefinition : -# 2119| mu2119_3(unknown) = InitializeNonLocal : -# 2120| r2120_1(glval) = VariableAddress[b] : -# 2120| r2120_2(HasOperatorBool) = Constant[0] : -# 2120| mu2120_3(HasOperatorBool) = Store[b] : &:r2120_1, r2120_2 -# 2120| r2120_4(glval) = VariableAddress[b] : -# 2120| r2120_5(glval) = FunctionAddress[operator bool] : -# 2120| r2120_6(bool) = Call[operator bool] : func:r2120_5, this:r2120_4 -# 2120| mu2120_7(unknown) = ^CallSideEffect : ~m? -# 2120| v2120_8(void) = ^IndirectReadSideEffect[-1] : &:r2120_4, ~m? -# 2120| mu2120_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2120_4 -# 2120| r2120_10(bool) = CopyValue : r2120_6 -# 2120| v2120_11(void) = ConditionalBranch : r2120_10 +# 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 : + +# 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 : + +# 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 #-----| False -> Block 2 #-----| True -> Block 1 -# 2120| Block 1 -# 2120| v2120_12(void) = NoOp : +# 2122| Block 1 +# 2122| v2122_12(void) = NoOp : #-----| Goto -> Block 2 -# 2121| Block 2 -# 2121| v2121_1(void) = NoOp : -# 2119| v2119_4(void) = ReturnVoid : -# 2119| v2119_5(void) = AliasedUse : ~m? -# 2119| v2119_6(void) = ExitFunction : +# 2123| Block 2 +# 2123| v2123_1(void) = NoOp : +# 2121| v2121_4(void) = ReturnVoid : +# 2121| v2121_5(void) = AliasedUse : ~m? +# 2121| v2121_6(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 +#-----| 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? +#-----| 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 : + +# 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 : + +# 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 : + +# 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 : + +# 2134| bool initialization_with_destructor_bool +# 2134| Block 0 +# 2134| v2134_1(void) = EnterFunction : +# 2134| mu2134_2(unknown) = AliasedDefinition : +# 2134| r2134_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2134| r2134_4(bool) = Constant[1] : +# 2134| mu2134_5(bool) = Store[initialization_with_destructor_bool] : &:r2134_3, r2134_4 +# 2134| v2134_6(void) = ReturnVoid : +# 2134| v2134_7(void) = AliasedUse : ~m? +# 2134| v2134_8(void) = ExitFunction : + +# 2136| void initialization_with_destructor(bool, char) +# 2136| Block 0 +# 2136| v2136_1(void) = EnterFunction : +# 2136| mu2136_2(unknown) = AliasedDefinition : +# 2136| mu2136_3(unknown) = InitializeNonLocal : +# 2136| r2136_4(glval) = VariableAddress[b] : +# 2136| mu2136_5(bool) = InitializeParameter[b] : &:r2136_4 +# 2136| r2136_6(glval) = VariableAddress[c] : +# 2136| mu2136_7(char) = InitializeParameter[c] : &:r2136_6 +# 2137| r2137_1(glval) = VariableAddress[x] : +# 2137| mu2137_2(ClassWithDestructor) = Uninitialized[x] : &:r2137_1 +# 2137| r2137_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2137| v2137_4(void) = Call[ClassWithDestructor] : func:r2137_3, this:r2137_1 +# 2137| mu2137_5(unknown) = ^CallSideEffect : ~m? +# 2137| mu2137_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2137_1 +# 2137| r2137_7(glval) = VariableAddress[b] : +# 2137| r2137_8(bool) = Load[b] : &:r2137_7, ~m? +# 2137| v2137_9(void) = ConditionalBranch : r2137_8 +#-----| True -> Block 4 + +# 2140| Block 1 +# 2140| r2140_1(bool) = Constant[1] : + +# 2140| Block 2 +# 2140| r2140_2(glval) = VariableAddress[x] : +# 2140| mu2140_3(ClassWithDestructor) = Uninitialized[x] : &:r2140_2 +# 2140| r2140_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2140| v2140_5(void) = Call[ClassWithDestructor] : func:r2140_4, this:r2140_2 +# 2140| mu2140_6(unknown) = ^CallSideEffect : ~m? +# 2140| mu2140_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2140_2 + +# 2141| Block 3 +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(glval) = FunctionAddress[set_x] : +# 2141| r2141_3(char) = Constant[97] : +# 2141| v2141_4(void) = Call[set_x] : func:r2141_2, this:r2141_1, 0:r2141_3 +# 2141| mu2141_5(unknown) = ^CallSideEffect : ~m? +# 2141| v2141_6(void) = ^IndirectReadSideEffect[-1] : &:r2141_1, ~m? +# 2141| mu2141_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2141_1 + +# 2138| Block 4 +# 2138| r2138_1(glval) = VariableAddress[x] : +# 2138| r2138_2(glval) = FunctionAddress[set_x] : +# 2138| r2138_3(char) = Constant[97] : +# 2138| v2138_4(void) = Call[set_x] : func:r2138_2, this:r2138_1, 0:r2138_3 +# 2138| mu2138_5(unknown) = ^CallSideEffect : ~m? +# 2138| v2138_6(void) = ^IndirectReadSideEffect[-1] : &:r2138_1, ~m? +# 2138| mu2138_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2138_1 + +# 2143| Block 5 +# 2143| r2143_1(glval) = VariableAddress[x] : +# 2143| mu2143_2(ClassWithDestructor) = Uninitialized[x] : &:r2143_1 +# 2143| r2143_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2143| v2143_4(void) = Call[ClassWithDestructor] : func:r2143_3, this:r2143_1 +# 2143| mu2143_5(unknown) = ^CallSideEffect : ~m? +# 2143| mu2143_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2143_1 +# 2143| r2143_7(glval) = VariableAddress[c] : +# 2143| r2143_8(char) = Load[c] : &:r2143_7, ~m? +# 2143| r2143_9(int) = Convert : r2143_8 +# 2143| v2143_10(void) = Switch : r2143_9 +#-----| Case[97] -> Block 6 +#-----| Default -> Block 7 + +# 2144| Block 6 +# 2144| v2144_1(void) = NoOp : +# 2145| r2145_1(glval) = VariableAddress[x] : +# 2145| r2145_2(glval) = FunctionAddress[set_x] : +# 2145| r2145_3(char) = Constant[97] : +# 2145| v2145_4(void) = Call[set_x] : func:r2145_2, this:r2145_1, 0:r2145_3 +# 2145| mu2145_5(unknown) = ^CallSideEffect : ~m? +# 2145| v2145_6(void) = ^IndirectReadSideEffect[-1] : &:r2145_1, ~m? +# 2145| mu2145_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2145_1 +# 2146| v2146_1(void) = NoOp : +#-----| Goto -> Block 8 + +# 2147| Block 7 +# 2147| v2147_1(void) = NoOp : +# 2148| r2148_1(glval) = VariableAddress[x] : +# 2148| r2148_2(glval) = FunctionAddress[set_x] : +# 2148| r2148_3(char) = Constant[98] : +# 2148| v2148_4(void) = Call[set_x] : func:r2148_2, this:r2148_1, 0:r2148_3 +# 2148| mu2148_5(unknown) = ^CallSideEffect : ~m? +# 2148| v2148_6(void) = ^IndirectReadSideEffect[-1] : &:r2148_1, ~m? +# 2148| mu2148_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2148_1 +# 2149| v2149_1(void) = NoOp : +#-----| Goto -> Block 8 + +# 2150| Block 8 +# 2150| v2150_1(void) = NoOp : +# 2152| r2152_1(glval) = VariableAddress[x] : +# 2152| mu2152_2(ClassWithDestructor) = Uninitialized[x] : &:r2152_1 +# 2152| r2152_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2152| v2152_4(void) = Call[ClassWithDestructor] : func:r2152_3, this:r2152_1 +# 2152| mu2152_5(unknown) = ^CallSideEffect : ~m? +# 2152| mu2152_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2152_1 +# 2153| r2153_1(glval &>) = VariableAddress[(__range)] : +# 2153| r2153_2(glval>) = VariableAddress : +# 2153| r2153_3(vector &) = CopyValue : r2153_2 +# 2153| mu2153_4(vector &) = Store[(__range)] : &:r2153_1, r2153_3 +# 2153| r2153_5(glval) = VariableAddress[(__begin)] : +# 2153| r2153_6(glval &>) = VariableAddress[(__range)] : +# 2153| r2153_7(vector &) = Load[(__range)] : &:r2153_6, ~m? +#-----| r0_1(glval>) = CopyValue : r2153_7 +#-----| r0_2(glval>) = Convert : r0_1 +# 2153| r2153_8(glval) = FunctionAddress[begin] : +# 2153| r2153_9(iterator) = Call[begin] : func:r2153_8, this:r0_2 +# 2153| mu2153_10(unknown) = ^CallSideEffect : ~m? +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? +# 2153| mu2153_11(iterator) = Store[(__begin)] : &:r2153_5, r2153_9 +# 2153| r2153_12(glval) = VariableAddress[(__end)] : +# 2153| r2153_13(glval &>) = VariableAddress[(__range)] : +# 2153| r2153_14(vector &) = Load[(__range)] : &:r2153_13, ~m? +#-----| r0_4(glval>) = CopyValue : r2153_14 +#-----| r0_5(glval>) = Convert : r0_4 +# 2153| r2153_15(glval) = FunctionAddress[end] : +# 2153| r2153_16(iterator) = Call[end] : func:r2153_15, this:r0_5 +# 2153| mu2153_17(unknown) = ^CallSideEffect : ~m? +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? +# 2153| mu2153_18(iterator) = Store[(__end)] : &:r2153_12, r2153_16 +#-----| Goto -> Block 9 + +# 2153| Block 9 +# 2153| r2153_19(glval) = VariableAddress[(__begin)] : +#-----| r0_7(glval) = Convert : r2153_19 +# 2153| r2153_20(glval) = FunctionAddress[operator!=] : +# 2153| r2153_21(glval) = VariableAddress[(__end)] : +# 2153| r2153_22(iterator) = Load[(__end)] : &:r2153_21, ~m? +# 2153| r2153_23(bool) = Call[operator!=] : func:r2153_20, this:r0_7, 0:r2153_22 +# 2153| mu2153_24(unknown) = ^CallSideEffect : ~m? +#-----| v0_8(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? +# 2153| v2153_25(void) = ConditionalBranch : r2153_23 +#-----| False -> Block 11 +#-----| True -> Block 10 + +# 2153| Block 10 +# 2153| r2153_26(glval) = VariableAddress[y] : +# 2153| r2153_27(glval) = VariableAddress[(__begin)] : +#-----| r0_9(glval) = Convert : r2153_27 +# 2153| r2153_28(glval) = FunctionAddress[operator*] : +# 2153| r2153_29(ClassWithDestructor &) = Call[operator*] : func:r2153_28, this:r0_9 +# 2153| mu2153_30(unknown) = ^CallSideEffect : ~m? +#-----| v0_10(void) = ^IndirectReadSideEffect[-1] : &:r0_9, ~m? +# 2153| r2153_31(ClassWithDestructor) = Load[?] : &:r2153_29, ~m? +# 2153| mu2153_32(ClassWithDestructor) = Store[y] : &:r2153_26, r2153_31 +# 2154| r2154_1(glval) = VariableAddress[y] : +# 2154| r2154_2(glval) = FunctionAddress[set_x] : +# 2154| r2154_3(char) = Constant[97] : +# 2154| v2154_4(void) = Call[set_x] : func:r2154_2, this:r2154_1, 0:r2154_3 +# 2154| mu2154_5(unknown) = ^CallSideEffect : ~m? +# 2154| v2154_6(void) = ^IndirectReadSideEffect[-1] : &:r2154_1, ~m? +# 2154| mu2154_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2154_1 +# 2153| r2153_33(glval) = VariableAddress[(__begin)] : +# 2153| r2153_34(glval) = FunctionAddress[operator++] : +# 2153| r2153_35(iterator &) = Call[operator++] : func:r2153_34, this:r2153_33 +# 2153| mu2153_36(unknown) = ^CallSideEffect : ~m? +# 2153| v2153_37(void) = ^IndirectReadSideEffect[-1] : &:r2153_33, ~m? +# 2153| mu2153_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2153_33 +# 2153| r2153_39(glval) = CopyValue : r2153_35 +#-----| Goto (back edge) -> Block 9 + +# 2155| Block 11 +# 2155| v2155_1(void) = NoOp : +# 2136| v2136_8(void) = ReturnVoid : +# 2136| v2136_9(void) = AliasedUse : ~m? +# 2136| v2136_10(void) = ExitFunction : perf-regression.cpp: # 6| void Big::Big() diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected index b93c7d2649f8..bdc0ef3463e8 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected @@ -6,6 +6,7 @@ missingOperandType duplicateChiOperand sideEffectWithoutPrimary instructionWithoutSuccessor +| ir.cpp:2138:9:2138:9 | IndirectMayWriteSideEffect: x | Instruction 'IndirectMayWriteSideEffect: x' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | ambiguousSuccessors unexplainedLoop unnecessaryPhiInstruction diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected index b93c7d2649f8..bdc0ef3463e8 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected @@ -6,6 +6,7 @@ missingOperandType duplicateChiOperand sideEffectWithoutPrimary instructionWithoutSuccessor +| ir.cpp:2138:9:2138:9 | IndirectMayWriteSideEffect: x | Instruction 'IndirectMayWriteSideEffect: x' has no successors in function '$@'. | ir.cpp:2136:6:2136:35 | void initialization_with_destructor(bool, char) | void initialization_with_destructor(bool, char) | ambiguousSuccessors unexplainedLoop unnecessaryPhiInstruction