diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index ea9f82fbf400..5f2aebd390fc 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -15617,773 +15617,821 @@ ir.cpp: # 1934| Type = [ClassTemplateInstantiation,Struct] Bar2 # 1934| ValueCategory = lvalue # 1935| getStmt(2): [ReturnStmt] return ... -# 1938| [GlobalVariable,VariableTemplateInstantiation] char global_template -# 1938| getInitializer(): [Initializer] initializer for global_template -# 1938| getExpr(): [Literal] 42 -# 1938| Type = [IntType] int -# 1938| Value = [Literal] 42 -# 1938| ValueCategory = prvalue -# 1938| getExpr().getFullyConverted(): [CStyleCast] (char)... -# 1938| Conversion = [IntegralConversion] integral conversion -# 1938| Type = [PlainCharType] char -# 1938| Value = [CStyleCast] 42 -# 1938| ValueCategory = prvalue -# 1938| [GlobalVariable,VariableTemplateInstantiation] int global_template -# 1938| getInitializer(): [Initializer] initializer for global_template -# 1938| getExpr(): [Literal] 42 -# 1938| Type = [IntType] int -# 1938| Value = [Literal] 42 -# 1938| ValueCategory = prvalue -# 1940| [TopLevelFunction] int test_global_template_int() -# 1940| : -# 1940| getEntryPoint(): [BlockStmt] { ... } -# 1941| getStmt(0): [DeclStmt] declaration -# 1941| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int +# 1937| [CopyAssignmentOperator] missing_declaration_entries::Bar3& missing_declaration_entries::Bar3::operator=(missing_declaration_entries::Bar3 const&) +# 1937| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const Bar3 & +# 1937| [MoveAssignmentOperator] missing_declaration_entries::Bar3& missing_declaration_entries::Bar3::operator=(missing_declaration_entries::Bar3&&) +# 1937| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] Bar3 && +# 1939| [MemberFunction] int missing_declaration_entries::Bar3::two_more_missing_variable_declaration_entries() +# 1939| : +# 1939| getEntryPoint(): [BlockStmt] { ... } +# 1940| getStmt(0): [DeclStmt] declaration +# 1940| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of g +# 1940| Type = [IntType] int +# 1941| getStmt(1): [DeclStmt] declaration +# 1941| getDeclarationEntry(0): [FunctionDeclarationEntry] declaration of z # 1941| Type = [IntType] int -# 1941| getVariable().getInitializer(): [Initializer] initializer for local_int -# 1941| getExpr(): [VariableAccess] global_template -# 1941| Type = [IntType] int -# 1941| ValueCategory = prvalue(load) -# 1942| getStmt(1): [DeclStmt] declaration -# 1942| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char -# 1942| Type = [PlainCharType] char -# 1942| getVariable().getInitializer(): [Initializer] initializer for local_char -# 1942| getExpr(): [VariableAccess] global_template -# 1942| Type = [PlainCharType] char -# 1942| ValueCategory = prvalue(load) -# 1943| getStmt(2): [ReturnStmt] return ... -# 1943| getExpr(): [AddExpr] ... + ... -# 1943| Type = [IntType] int -# 1943| ValueCategory = prvalue -# 1943| getLeftOperand(): [VariableAccess] local_int -# 1943| Type = [IntType] int -# 1943| ValueCategory = prvalue(load) -# 1943| getRightOperand(): [VariableAccess] local_char -# 1943| Type = [PlainCharType] char -# 1943| ValueCategory = prvalue(load) -# 1943| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 1943| Conversion = [IntegralConversion] integral conversion -# 1943| Type = [IntType] int -# 1943| ValueCategory = prvalue -# 1946| [TopLevelFunction] void noreturnFunc() +# 1942| getStmt(2): [ReturnStmt] return ... +# 1942| getExpr(): [VariableAccess] g +# 1942| Type = [IntType] int +# 1942| ValueCategory = prvalue(load) +# 1939| [MemberFunction] int missing_declaration_entries::Bar3::two_more_missing_variable_declaration_entries() +# 1939| : +# 1939| getEntryPoint(): [BlockStmt] { ... } +# 1940| getStmt(0): [DeclStmt] declaration +# 1941| getStmt(1): [DeclStmt] declaration +# 1942| getStmt(2): [ReturnStmt] return ... +# 1942| getExpr(): [VariableAccess] g +# 1942| Type = [IntType] int +# 1942| ValueCategory = prvalue(load) +# 1941| [TopLevelFunction] int missing_declaration_entries::z(float) +# 1941| : +# 1941| getParameter(0): [Parameter] (unnamed parameter 0) +# 1941| Type = [FloatType] float +# 1946| [TopLevelFunction] void missing_declaration_entries::test3() # 1946| : -# 1948| [TopLevelFunction] int noreturnTest(int) -# 1948| : -# 1948| getParameter(0): [Parameter] x -# 1948| Type = [IntType] int -# 1948| getEntryPoint(): [BlockStmt] { ... } -# 1949| getStmt(0): [IfStmt] if (...) ... -# 1949| getCondition(): [LTExpr] ... < ... -# 1949| Type = [BoolType] bool -# 1949| ValueCategory = prvalue -# 1949| getLesserOperand(): [VariableAccess] x -# 1949| Type = [IntType] int -# 1949| ValueCategory = prvalue(load) -# 1949| getGreaterOperand(): [Literal] 10 -# 1949| Type = [IntType] int -# 1949| Value = [Literal] 10 -# 1949| ValueCategory = prvalue -# 1949| getThen(): [BlockStmt] { ... } -# 1950| getStmt(0): [ReturnStmt] return ... -# 1950| getExpr(): [VariableAccess] x -# 1950| Type = [IntType] int -# 1950| ValueCategory = prvalue(load) -# 1951| getElse(): [BlockStmt] { ... } -# 1952| getStmt(0): [ExprStmt] ExprStmt -# 1952| getExpr(): [FunctionCall] call to noreturnFunc -# 1952| Type = [VoidType] void -# 1952| ValueCategory = prvalue -# 1954| getStmt(1): [ReturnStmt] return ... -# 1956| [TopLevelFunction] int noreturnTest2(int) -# 1956| : -# 1956| getParameter(0): [Parameter] x -# 1956| Type = [IntType] int -# 1956| getEntryPoint(): [BlockStmt] { ... } -# 1957| getStmt(0): [IfStmt] if (...) ... -# 1957| getCondition(): [LTExpr] ... < ... -# 1957| Type = [BoolType] bool +# 1946| getEntryPoint(): [BlockStmt] { ... } +# 1947| getStmt(0): [DeclStmt] declaration +# 1947| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 1947| Type = [ClassTemplateInstantiation,Struct] Bar3 +# 1948| getStmt(1): [ExprStmt] ExprStmt +# 1948| getExpr(): [FunctionCall] call to two_more_missing_variable_declaration_entries +# 1948| Type = [IntType] int +# 1948| ValueCategory = prvalue +# 1948| getQualifier(): [VariableAccess] b +# 1948| Type = [ClassTemplateInstantiation,Struct] Bar3 +# 1948| ValueCategory = lvalue +# 1949| getStmt(2): [ReturnStmt] return ... +# 1952| [GlobalVariable,VariableTemplateInstantiation] char global_template +# 1952| getInitializer(): [Initializer] initializer for global_template +# 1952| getExpr(): [Literal] 42 +# 1952| Type = [IntType] int +# 1952| Value = [Literal] 42 +# 1952| ValueCategory = prvalue +# 1952| getExpr().getFullyConverted(): [CStyleCast] (char)... +# 1952| Conversion = [IntegralConversion] integral conversion +# 1952| Type = [PlainCharType] char +# 1952| Value = [CStyleCast] 42 +# 1952| ValueCategory = prvalue +# 1952| [GlobalVariable,VariableTemplateInstantiation] int global_template +# 1952| getInitializer(): [Initializer] initializer for global_template +# 1952| getExpr(): [Literal] 42 +# 1952| Type = [IntType] int +# 1952| Value = [Literal] 42 +# 1952| ValueCategory = prvalue +# 1954| [TopLevelFunction] int test_global_template_int() +# 1954| : +# 1954| getEntryPoint(): [BlockStmt] { ... } +# 1955| getStmt(0): [DeclStmt] declaration +# 1955| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_int +# 1955| Type = [IntType] int +# 1955| getVariable().getInitializer(): [Initializer] initializer for local_int +# 1955| getExpr(): [VariableAccess] global_template +# 1955| Type = [IntType] int +# 1955| ValueCategory = prvalue(load) +# 1956| getStmt(1): [DeclStmt] declaration +# 1956| getDeclarationEntry(0): [VariableDeclarationEntry] definition of local_char +# 1956| Type = [PlainCharType] char +# 1956| getVariable().getInitializer(): [Initializer] initializer for local_char +# 1956| getExpr(): [VariableAccess] global_template +# 1956| Type = [PlainCharType] char +# 1956| ValueCategory = prvalue(load) +# 1957| getStmt(2): [ReturnStmt] return ... +# 1957| getExpr(): [AddExpr] ... + ... +# 1957| Type = [IntType] int # 1957| ValueCategory = prvalue -# 1957| getLesserOperand(): [VariableAccess] x +# 1957| getLeftOperand(): [VariableAccess] local_int # 1957| Type = [IntType] int # 1957| ValueCategory = prvalue(load) -# 1957| getGreaterOperand(): [Literal] 10 +# 1957| getRightOperand(): [VariableAccess] local_char +# 1957| Type = [PlainCharType] char +# 1957| ValueCategory = prvalue(load) +# 1957| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 1957| Conversion = [IntegralConversion] integral conversion # 1957| Type = [IntType] int -# 1957| Value = [Literal] 10 # 1957| ValueCategory = prvalue -# 1957| getThen(): [BlockStmt] { ... } -# 1958| getStmt(0): [ExprStmt] ExprStmt -# 1958| getExpr(): [FunctionCall] call to noreturnFunc -# 1958| Type = [VoidType] void -# 1958| ValueCategory = prvalue -# 1960| getStmt(1): [ReturnStmt] return ... -# 1960| getExpr(): [VariableAccess] x -# 1960| Type = [IntType] int -# 1960| ValueCategory = prvalue(load) -# 1963| [TopLevelFunction] int static_function(int) -# 1963| : -# 1963| getParameter(0): [Parameter] x -# 1963| Type = [IntType] int -# 1963| getEntryPoint(): [BlockStmt] { ... } -# 1964| getStmt(0): [ReturnStmt] return ... -# 1964| getExpr(): [VariableAccess] x -# 1964| Type = [IntType] int -# 1964| ValueCategory = prvalue(load) -# 1967| [TopLevelFunction] void test_static_functions_with_assignments() -# 1967| : -# 1967| getEntryPoint(): [BlockStmt] { ... } -# 1968| getStmt(0): [DeclStmt] declaration -# 1968| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 1968| Type = [Class] C -# 1968| getVariable().getInitializer(): [Initializer] initializer for c -# 1968| getExpr(): [ConstructorCall] call to C -# 1968| Type = [VoidType] void -# 1968| ValueCategory = prvalue -# 1969| getStmt(1): [DeclStmt] declaration -# 1969| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 1969| Type = [IntType] int -# 1970| getStmt(2): [ExprStmt] ExprStmt -# 1970| getExpr(): [AssignExpr] ... = ... -# 1970| Type = [IntType] int -# 1970| ValueCategory = lvalue -# 1970| getLValue(): [VariableAccess] x -# 1970| Type = [IntType] int -# 1970| ValueCategory = lvalue -# 1970| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1970| Type = [IntType] int -# 1970| ValueCategory = prvalue -# 1970| getQualifier(): [VariableAccess] c -# 1970| Type = [Class] C -# 1970| ValueCategory = lvalue -# 1970| getArgument(0): [Literal] 10 -# 1970| Type = [IntType] int -# 1970| Value = [Literal] 10 -# 1970| ValueCategory = prvalue -# 1971| getStmt(3): [DeclStmt] declaration -# 1971| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 1971| Type = [IntType] int -# 1972| getStmt(4): [ExprStmt] ExprStmt -# 1972| getExpr(): [AssignExpr] ... = ... -# 1972| Type = [IntType] int -# 1972| ValueCategory = lvalue -# 1972| getLValue(): [VariableAccess] y -# 1972| Type = [IntType] int -# 1972| ValueCategory = lvalue -# 1972| getRValue(): [FunctionCall] call to StaticMemberFunction -# 1972| Type = [IntType] int -# 1972| ValueCategory = prvalue -# 1972| getArgument(0): [Literal] 10 -# 1972| Type = [IntType] int -# 1972| Value = [Literal] 10 +# 1960| [TopLevelFunction] void noreturnFunc() +# 1960| : +# 1962| [TopLevelFunction] int noreturnTest(int) +# 1962| : +# 1962| getParameter(0): [Parameter] x +# 1962| Type = [IntType] int +# 1962| getEntryPoint(): [BlockStmt] { ... } +# 1963| getStmt(0): [IfStmt] if (...) ... +# 1963| getCondition(): [LTExpr] ... < ... +# 1963| Type = [BoolType] bool +# 1963| ValueCategory = prvalue +# 1963| getLesserOperand(): [VariableAccess] x +# 1963| Type = [IntType] int +# 1963| ValueCategory = prvalue(load) +# 1963| getGreaterOperand(): [Literal] 10 +# 1963| Type = [IntType] int +# 1963| Value = [Literal] 10 +# 1963| ValueCategory = prvalue +# 1963| getThen(): [BlockStmt] { ... } +# 1964| getStmt(0): [ReturnStmt] return ... +# 1964| getExpr(): [VariableAccess] x +# 1964| Type = [IntType] int +# 1964| ValueCategory = prvalue(load) +# 1965| getElse(): [BlockStmt] { ... } +# 1966| getStmt(0): [ExprStmt] ExprStmt +# 1966| getExpr(): [FunctionCall] call to noreturnFunc +# 1966| Type = [VoidType] void +# 1966| ValueCategory = prvalue +# 1968| getStmt(1): [ReturnStmt] return ... +# 1970| [TopLevelFunction] int noreturnTest2(int) +# 1970| : +# 1970| getParameter(0): [Parameter] x +# 1970| Type = [IntType] int +# 1970| getEntryPoint(): [BlockStmt] { ... } +# 1971| getStmt(0): [IfStmt] if (...) ... +# 1971| getCondition(): [LTExpr] ... < ... +# 1971| Type = [BoolType] bool +# 1971| ValueCategory = prvalue +# 1971| getLesserOperand(): [VariableAccess] x +# 1971| Type = [IntType] int +# 1971| ValueCategory = prvalue(load) +# 1971| getGreaterOperand(): [Literal] 10 +# 1971| Type = [IntType] int +# 1971| Value = [Literal] 10 +# 1971| ValueCategory = prvalue +# 1971| getThen(): [BlockStmt] { ... } +# 1972| getStmt(0): [ExprStmt] ExprStmt +# 1972| getExpr(): [FunctionCall] call to noreturnFunc +# 1972| Type = [VoidType] void # 1972| ValueCategory = prvalue -# 1973| getStmt(5): [DeclStmt] declaration -# 1973| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z -# 1973| Type = [IntType] int -# 1974| getStmt(6): [ExprStmt] ExprStmt -# 1974| getExpr(): [AssignExpr] ... = ... +# 1974| getStmt(1): [ReturnStmt] return ... +# 1974| getExpr(): [VariableAccess] x # 1974| Type = [IntType] int -# 1974| ValueCategory = lvalue -# 1974| getLValue(): [VariableAccess] z -# 1974| Type = [IntType] int -# 1974| ValueCategory = lvalue -# 1974| getRValue(): [FunctionCall] call to static_function -# 1974| Type = [IntType] int -# 1974| ValueCategory = prvalue -# 1974| getArgument(0): [Literal] 10 -# 1974| Type = [IntType] int -# 1974| Value = [Literal] 10 -# 1974| ValueCategory = prvalue -# 1975| getStmt(7): [ReturnStmt] return ... -# 1975| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 1975| Type = [VoidType] void -# 1975| ValueCategory = prvalue -# 1975| getQualifier(): [VariableAccess] c -# 1975| Type = [Class] C -# 1975| ValueCategory = lvalue -# 1977| [TopLevelFunction] void test_double_assign() +# 1974| ValueCategory = prvalue(load) +# 1977| [TopLevelFunction] int static_function(int) # 1977| : +# 1977| getParameter(0): [Parameter] x +# 1977| Type = [IntType] int # 1977| getEntryPoint(): [BlockStmt] { ... } -# 1978| getStmt(0): [DeclStmt] declaration -# 1978| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 1978| Type = [IntType] int -# 1978| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1978| getStmt(0): [ReturnStmt] return ... +# 1978| getExpr(): [VariableAccess] x # 1978| Type = [IntType] int -# 1979| getStmt(1): [ExprStmt] ExprStmt -# 1979| getExpr(): [AssignExpr] ... = ... -# 1979| Type = [IntType] int -# 1979| ValueCategory = lvalue -# 1979| getLValue(): [VariableAccess] i -# 1979| Type = [IntType] int -# 1979| ValueCategory = lvalue -# 1979| getRValue(): [AssignExpr] ... = ... -# 1979| Type = [IntType] int -# 1979| ValueCategory = prvalue(load) -# 1979| getLValue(): [VariableAccess] j -# 1979| Type = [IntType] int -# 1979| ValueCategory = lvalue -# 1979| getRValue(): [Literal] 40 -# 1979| Type = [IntType] int -# 1979| Value = [Literal] 40 -# 1979| ValueCategory = prvalue -# 1980| getStmt(2): [ReturnStmt] return ... -# 1982| [TopLevelFunction] void test_assign_with_assign_operation() -# 1982| : -# 1982| getEntryPoint(): [BlockStmt] { ... } -# 1983| getStmt(0): [DeclStmt] declaration -# 1983| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1978| ValueCategory = prvalue(load) +# 1981| [TopLevelFunction] void test_static_functions_with_assignments() +# 1981| : +# 1981| getEntryPoint(): [BlockStmt] { ... } +# 1982| getStmt(0): [DeclStmt] declaration +# 1982| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 1982| Type = [Class] C +# 1982| getVariable().getInitializer(): [Initializer] initializer for c +# 1982| getExpr(): [ConstructorCall] call to C +# 1982| Type = [VoidType] void +# 1982| ValueCategory = prvalue +# 1983| getStmt(1): [DeclStmt] declaration +# 1983| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x # 1983| Type = [IntType] int -# 1983| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j -# 1983| Type = [IntType] int -# 1983| getVariable().getInitializer(): [Initializer] initializer for j -# 1983| getExpr(): [Literal] 0 -# 1983| Type = [IntType] int -# 1983| Value = [Literal] 0 -# 1983| ValueCategory = prvalue -# 1984| getStmt(1): [ExprStmt] ExprStmt +# 1984| getStmt(2): [ExprStmt] ExprStmt # 1984| getExpr(): [AssignExpr] ... = ... # 1984| Type = [IntType] int # 1984| ValueCategory = lvalue -# 1984| getLValue(): [VariableAccess] i +# 1984| getLValue(): [VariableAccess] x # 1984| Type = [IntType] int # 1984| ValueCategory = lvalue -# 1984| getRValue(): [AssignAddExpr] ... += ... +# 1984| getRValue(): [FunctionCall] call to StaticMemberFunction # 1984| Type = [IntType] int -# 1984| ValueCategory = prvalue(load) -# 1984| getLValue(): [VariableAccess] j -# 1984| Type = [IntType] int +# 1984| ValueCategory = prvalue +# 1984| getQualifier(): [VariableAccess] c +# 1984| Type = [Class] C # 1984| ValueCategory = lvalue -# 1984| getRValue(): [Literal] 40 +# 1984| getArgument(0): [Literal] 10 # 1984| Type = [IntType] int -# 1984| Value = [Literal] 40 +# 1984| Value = [Literal] 10 # 1984| ValueCategory = prvalue -# 1984| getRValue().getFullyConverted(): [ParenthesisExpr] (...) -# 1984| Type = [IntType] int -# 1984| ValueCategory = prvalue(load) -# 1985| getStmt(2): [ReturnStmt] return ... -# 1987| [CopyAssignmentOperator] D& D::operator=(D const&) -# 1987| : +# 1985| getStmt(3): [DeclStmt] declaration +# 1985| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 1985| Type = [IntType] int +# 1986| getStmt(4): [ExprStmt] ExprStmt +# 1986| getExpr(): [AssignExpr] ... = ... +# 1986| Type = [IntType] int +# 1986| ValueCategory = lvalue +# 1986| getLValue(): [VariableAccess] y +# 1986| Type = [IntType] int +# 1986| ValueCategory = lvalue +# 1986| getRValue(): [FunctionCall] call to StaticMemberFunction +# 1986| Type = [IntType] int +# 1986| ValueCategory = prvalue +# 1986| getArgument(0): [Literal] 10 +# 1986| Type = [IntType] int +# 1986| Value = [Literal] 10 +# 1986| ValueCategory = prvalue +# 1987| getStmt(5): [DeclStmt] declaration +# 1987| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z +# 1987| Type = [IntType] int +# 1988| getStmt(6): [ExprStmt] ExprStmt +# 1988| getExpr(): [AssignExpr] ... = ... +# 1988| Type = [IntType] int +# 1988| ValueCategory = lvalue +# 1988| getLValue(): [VariableAccess] z +# 1988| Type = [IntType] int +# 1988| ValueCategory = lvalue +# 1988| getRValue(): [FunctionCall] call to static_function +# 1988| Type = [IntType] int +# 1988| ValueCategory = prvalue +# 1988| getArgument(0): [Literal] 10 +# 1988| Type = [IntType] int +# 1988| Value = [Literal] 10 +# 1988| ValueCategory = prvalue +# 1989| getStmt(7): [ReturnStmt] return ... +# 1989| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 1989| Type = [VoidType] void +# 1989| ValueCategory = prvalue +# 1989| getQualifier(): [VariableAccess] c +# 1989| Type = [Class] C +# 1989| ValueCategory = lvalue +# 1991| [TopLevelFunction] void test_double_assign() +# 1991| : +# 1991| getEntryPoint(): [BlockStmt] { ... } +# 1992| getStmt(0): [DeclStmt] declaration +# 1992| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1992| Type = [IntType] int +# 1992| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1992| Type = [IntType] int +# 1993| getStmt(1): [ExprStmt] ExprStmt +# 1993| getExpr(): [AssignExpr] ... = ... +# 1993| Type = [IntType] int +# 1993| ValueCategory = lvalue +# 1993| getLValue(): [VariableAccess] i +# 1993| Type = [IntType] int +# 1993| ValueCategory = lvalue +# 1993| getRValue(): [AssignExpr] ... = ... +# 1993| Type = [IntType] int +# 1993| ValueCategory = prvalue(load) +# 1993| getLValue(): [VariableAccess] j +# 1993| Type = [IntType] int +# 1993| ValueCategory = lvalue +# 1993| getRValue(): [Literal] 40 +# 1993| Type = [IntType] int +# 1993| Value = [Literal] 40 +# 1993| ValueCategory = prvalue +# 1994| getStmt(2): [ReturnStmt] return ... +# 1996| [TopLevelFunction] void test_assign_with_assign_operation() +# 1996| : +# 1996| getEntryPoint(): [BlockStmt] { ... } +# 1997| getStmt(0): [DeclStmt] declaration +# 1997| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 1997| Type = [IntType] int +# 1997| getDeclarationEntry(1): [VariableDeclarationEntry] definition of j +# 1997| Type = [IntType] int +# 1997| getVariable().getInitializer(): [Initializer] initializer for j +# 1997| getExpr(): [Literal] 0 +# 1997| Type = [IntType] int +# 1997| Value = [Literal] 0 +# 1997| ValueCategory = prvalue +# 1998| getStmt(1): [ExprStmt] ExprStmt +# 1998| getExpr(): [AssignExpr] ... = ... +# 1998| Type = [IntType] int +# 1998| ValueCategory = lvalue +# 1998| getLValue(): [VariableAccess] i +# 1998| Type = [IntType] int +# 1998| ValueCategory = lvalue +# 1998| getRValue(): [AssignAddExpr] ... += ... +# 1998| Type = [IntType] int +# 1998| ValueCategory = prvalue(load) +# 1998| getLValue(): [VariableAccess] j +# 1998| Type = [IntType] int +# 1998| ValueCategory = lvalue +# 1998| getRValue(): [Literal] 40 +# 1998| Type = [IntType] int +# 1998| Value = [Literal] 40 +# 1998| ValueCategory = prvalue +# 1998| getRValue().getFullyConverted(): [ParenthesisExpr] (...) +# 1998| Type = [IntType] int +# 1998| ValueCategory = prvalue(load) +# 1999| getStmt(2): [ReturnStmt] return ... +# 2001| [CopyAssignmentOperator] D& D::operator=(D const&) +# 2001| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const D & -# 1987| [MoveAssignmentOperator] D& D::operator=(D&&) -# 1987| : +# 2001| [MoveAssignmentOperator] D& D::operator=(D&&) +# 2001| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] D && -# 1991| [MemberFunction] D& D::ReferenceStaticMemberFunction() -# 1991| : -# 1991| getEntryPoint(): [BlockStmt] { ... } -# 1992| getStmt(0): [ReturnStmt] return ... -# 1992| getExpr(): [VariableAccess] x -# 1992| Type = [Class] D -# 1992| ValueCategory = lvalue -# 1992| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 1992| Type = [LValueReferenceType] D & -# 1992| ValueCategory = prvalue -# 1994| [MemberFunction] D D::ObjectStaticMemberFunction() -# 1994| : -# 1994| getEntryPoint(): [BlockStmt] { ... } -# 1995| getStmt(0): [ReturnStmt] return ... -# 1995| getExpr(): [VariableAccess] x -# 1995| Type = [Class] D -# 1995| ValueCategory = prvalue(load) -# 1999| [TopLevelFunction] void test_static_member_functions_with_reference_return() -# 1999| : -# 1999| getEntryPoint(): [BlockStmt] { ... } -# 2000| getStmt(0): [DeclStmt] declaration -# 2000| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2000| Type = [Class] D -# 2002| getStmt(1): [ExprStmt] ExprStmt -# 2002| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 2002| Type = [LValueReferenceType] D & -# 2002| ValueCategory = prvalue -# 2002| getQualifier(): [VariableAccess] d -# 2002| Type = [Class] D -# 2002| ValueCategory = lvalue -# 2002| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2002| Type = [Class] D -# 2002| ValueCategory = lvalue -# 2003| getStmt(2): [ExprStmt] ExprStmt -# 2003| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction -# 2003| Type = [LValueReferenceType] D & -# 2003| ValueCategory = prvalue -# 2003| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2003| Type = [Class] D -# 2003| ValueCategory = lvalue -# 2004| getStmt(3): [ExprStmt] ExprStmt -# 2004| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 2004| Type = [Class] D -# 2004| ValueCategory = prvalue -# 2004| getQualifier(): [VariableAccess] d -# 2004| Type = [Class] D -# 2004| ValueCategory = lvalue -# 2005| getStmt(4): [ExprStmt] ExprStmt -# 2005| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction -# 2005| Type = [Class] D -# 2005| ValueCategory = prvalue -# 2007| getStmt(5): [DeclStmt] declaration -# 2007| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2007| Type = [Class] D -# 2008| getStmt(6): [ExprStmt] ExprStmt -# 2008| getExpr(): [AssignExpr] ... = ... -# 2008| Type = [Class] D -# 2008| ValueCategory = lvalue -# 2008| getLValue(): [VariableAccess] x -# 2008| Type = [Class] D -# 2008| ValueCategory = lvalue -# 2008| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 2008| Type = [LValueReferenceType] D & -# 2008| ValueCategory = prvalue -# 2008| getQualifier(): [VariableAccess] d -# 2008| Type = [Class] D -# 2008| ValueCategory = lvalue -# 2008| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2008| Type = [Class] D -# 2008| ValueCategory = prvalue(load) -# 2009| getStmt(7): [DeclStmt] declaration -# 2009| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2005| [MemberFunction] D& D::ReferenceStaticMemberFunction() +# 2005| : +# 2005| getEntryPoint(): [BlockStmt] { ... } +# 2006| getStmt(0): [ReturnStmt] return ... +# 2006| getExpr(): [VariableAccess] x +# 2006| Type = [Class] D +# 2006| ValueCategory = lvalue +# 2006| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2006| Type = [LValueReferenceType] D & +# 2006| ValueCategory = prvalue +# 2008| [MemberFunction] D D::ObjectStaticMemberFunction() +# 2008| : +# 2008| getEntryPoint(): [BlockStmt] { ... } +# 2009| getStmt(0): [ReturnStmt] return ... +# 2009| getExpr(): [VariableAccess] x # 2009| Type = [Class] D -# 2010| getStmt(8): [ExprStmt] ExprStmt -# 2010| getExpr(): [AssignExpr] ... = ... -# 2010| Type = [Class] D -# 2010| ValueCategory = lvalue -# 2010| getLValue(): [VariableAccess] y -# 2010| Type = [Class] D -# 2010| ValueCategory = lvalue -# 2010| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction -# 2010| Type = [LValueReferenceType] D & -# 2010| ValueCategory = prvalue -# 2010| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2010| Type = [Class] D -# 2010| ValueCategory = prvalue(load) -# 2011| getStmt(9): [DeclStmt] declaration -# 2011| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j -# 2011| Type = [Class] D -# 2012| getStmt(10): [ExprStmt] ExprStmt -# 2012| getExpr(): [AssignExpr] ... = ... -# 2012| Type = [Class] D -# 2012| ValueCategory = lvalue -# 2012| getLValue(): [VariableAccess] j -# 2012| Type = [Class] D -# 2012| ValueCategory = lvalue -# 2012| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 2012| Type = [Class] D -# 2012| ValueCategory = prvalue -# 2012| getQualifier(): [VariableAccess] d -# 2012| Type = [Class] D -# 2012| ValueCategory = lvalue -# 2013| getStmt(11): [DeclStmt] declaration -# 2013| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k -# 2013| Type = [Class] D -# 2014| getStmt(12): [ExprStmt] ExprStmt -# 2014| getExpr(): [AssignExpr] ... = ... +# 2009| ValueCategory = prvalue(load) +# 2013| [TopLevelFunction] void test_static_member_functions_with_reference_return() +# 2013| : +# 2013| getEntryPoint(): [BlockStmt] { ... } +# 2014| getStmt(0): [DeclStmt] declaration +# 2014| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d # 2014| Type = [Class] D -# 2014| ValueCategory = lvalue -# 2014| getLValue(): [VariableAccess] k -# 2014| Type = [Class] D -# 2014| ValueCategory = lvalue -# 2014| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction -# 2014| Type = [Class] D -# 2014| ValueCategory = prvalue -# 2015| getStmt(13): [ReturnStmt] return ... -# 2017| [TopLevelFunction] void test_volatile() -# 2017| : -# 2017| getEntryPoint(): [BlockStmt] { ... } -# 2018| getStmt(0): [DeclStmt] declaration -# 2018| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2018| Type = [SpecifiedType] volatile int -# 2019| getStmt(1): [ExprStmt] ExprStmt -# 2019| getExpr(): [VariableAccess] x -# 2019| Type = [IntType] int -# 2019| ValueCategory = prvalue(load) -# 2020| getStmt(2): [ReturnStmt] return ... -# 2022| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) -# 2022| : +# 2016| getStmt(1): [ExprStmt] ExprStmt +# 2016| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2016| Type = [LValueReferenceType] D & +# 2016| ValueCategory = prvalue +# 2016| getQualifier(): [VariableAccess] d +# 2016| Type = [Class] D +# 2016| ValueCategory = lvalue +# 2016| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2016| Type = [Class] D +# 2016| ValueCategory = lvalue +# 2017| getStmt(2): [ExprStmt] ExprStmt +# 2017| getExpr(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2017| Type = [LValueReferenceType] D & +# 2017| ValueCategory = prvalue +# 2017| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2017| Type = [Class] D +# 2017| ValueCategory = lvalue +# 2018| getStmt(3): [ExprStmt] ExprStmt +# 2018| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction +# 2018| Type = [Class] D +# 2018| ValueCategory = prvalue +# 2018| getQualifier(): [VariableAccess] d +# 2018| Type = [Class] D +# 2018| ValueCategory = lvalue +# 2019| getStmt(4): [ExprStmt] ExprStmt +# 2019| getExpr(): [FunctionCall] call to ObjectStaticMemberFunction +# 2019| Type = [Class] D +# 2019| ValueCategory = prvalue +# 2021| getStmt(5): [DeclStmt] declaration +# 2021| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2021| Type = [Class] D +# 2022| getStmt(6): [ExprStmt] ExprStmt +# 2022| getExpr(): [AssignExpr] ... = ... +# 2022| Type = [Class] D +# 2022| ValueCategory = lvalue +# 2022| getLValue(): [VariableAccess] x +# 2022| Type = [Class] D +# 2022| ValueCategory = lvalue +# 2022| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2022| Type = [LValueReferenceType] D & +# 2022| ValueCategory = prvalue +# 2022| getQualifier(): [VariableAccess] d +# 2022| Type = [Class] D +# 2022| ValueCategory = lvalue +# 2022| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2022| Type = [Class] D +# 2022| ValueCategory = prvalue(load) +# 2023| getStmt(7): [DeclStmt] declaration +# 2023| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2023| Type = [Class] D +# 2024| getStmt(8): [ExprStmt] ExprStmt +# 2024| getExpr(): [AssignExpr] ... = ... +# 2024| Type = [Class] D +# 2024| ValueCategory = lvalue +# 2024| getLValue(): [VariableAccess] y +# 2024| Type = [Class] D +# 2024| ValueCategory = lvalue +# 2024| getRValue(): [FunctionCall] call to ReferenceStaticMemberFunction +# 2024| Type = [LValueReferenceType] D & +# 2024| ValueCategory = prvalue +# 2024| getRValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2024| Type = [Class] D +# 2024| ValueCategory = prvalue(load) +# 2025| getStmt(9): [DeclStmt] declaration +# 2025| getDeclarationEntry(0): [VariableDeclarationEntry] definition of j +# 2025| Type = [Class] D +# 2026| getStmt(10): [ExprStmt] ExprStmt +# 2026| getExpr(): [AssignExpr] ... = ... +# 2026| Type = [Class] D +# 2026| ValueCategory = lvalue +# 2026| getLValue(): [VariableAccess] j +# 2026| Type = [Class] D +# 2026| ValueCategory = lvalue +# 2026| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction +# 2026| Type = [Class] D +# 2026| ValueCategory = prvalue +# 2026| getQualifier(): [VariableAccess] d +# 2026| Type = [Class] D +# 2026| ValueCategory = lvalue +# 2027| getStmt(11): [DeclStmt] declaration +# 2027| getDeclarationEntry(0): [VariableDeclarationEntry] definition of k +# 2027| Type = [Class] D +# 2028| getStmt(12): [ExprStmt] ExprStmt +# 2028| getExpr(): [AssignExpr] ... = ... +# 2028| Type = [Class] D +# 2028| ValueCategory = lvalue +# 2028| getLValue(): [VariableAccess] k +# 2028| Type = [Class] D +# 2028| ValueCategory = lvalue +# 2028| getRValue(): [FunctionCall] call to ObjectStaticMemberFunction +# 2028| Type = [Class] D +# 2028| ValueCategory = prvalue +# 2029| getStmt(13): [ReturnStmt] return ... +# 2031| [TopLevelFunction] void test_volatile() +# 2031| : +# 2031| getEntryPoint(): [BlockStmt] { ... } +# 2032| getStmt(0): [DeclStmt] declaration +# 2032| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2032| Type = [SpecifiedType] volatile int +# 2033| getStmt(1): [ExprStmt] ExprStmt +# 2033| getExpr(): [VariableAccess] x +# 2033| Type = [IntType] int +# 2033| ValueCategory = prvalue(load) +# 2034| getStmt(2): [ReturnStmt] return ... +# 2036| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&) +# 2036| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const ValCat & -# 2022| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) -# 2022| : +# 2036| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&) +# 2036| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] ValCat && -# 2023| [MemberFunction] ValCat& ValCat::lvalue() -# 2023| : -# 2024| [MemberFunction] ValCat&& ValCat::xvalue() -# 2024| : -# 2025| [MemberFunction] ValCat ValCat::prvalue() -# 2025| : -# 2028| [TopLevelFunction] void value_category_test() -# 2028| : -# 2028| getEntryPoint(): [BlockStmt] { ... } -# 2029| getStmt(0): [DeclStmt] declaration -# 2029| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2029| Type = [Struct] ValCat -# 2031| getStmt(1): [ExprStmt] ExprStmt -# 2031| getExpr(): [AssignExpr] ... = ... -# 2031| Type = [Struct] ValCat -# 2031| ValueCategory = lvalue -# 2031| getLValue(): [FunctionCall] call to lvalue -# 2031| Type = [LValueReferenceType] ValCat & -# 2031| ValueCategory = prvalue -# 2031| getQualifier(): [VariableAccess] c -# 2031| Type = [Struct] ValCat -# 2031| ValueCategory = lvalue -# 2031| getRValue(): [ClassAggregateLiteral] {...} -# 2031| Type = [Struct] ValCat -# 2031| ValueCategory = prvalue -# 2031| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2031| Type = [Struct] ValCat -# 2031| ValueCategory = lvalue +# 2037| [MemberFunction] ValCat& ValCat::lvalue() +# 2037| : +# 2038| [MemberFunction] ValCat&& ValCat::xvalue() +# 2038| : +# 2039| [MemberFunction] ValCat ValCat::prvalue() +# 2039| : +# 2042| [TopLevelFunction] void value_category_test() +# 2042| : +# 2042| getEntryPoint(): [BlockStmt] { ... } +# 2043| getStmt(0): [DeclStmt] declaration +# 2043| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2043| Type = [Struct] ValCat +# 2045| getStmt(1): [ExprStmt] ExprStmt +# 2045| getExpr(): [AssignExpr] ... = ... +# 2045| Type = [Struct] ValCat +# 2045| ValueCategory = lvalue +# 2045| getLValue(): [FunctionCall] call to lvalue +# 2045| Type = [LValueReferenceType] ValCat & +# 2045| ValueCategory = prvalue +# 2045| getQualifier(): [VariableAccess] c +# 2045| Type = [Struct] ValCat +# 2045| ValueCategory = lvalue +# 2045| getRValue(): [ClassAggregateLiteral] {...} +# 2045| Type = [Struct] ValCat +# 2045| ValueCategory = prvalue +# 2045| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2045| Type = [Struct] ValCat +# 2045| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 2032| getStmt(2): [ExprStmt] ExprStmt -# 2032| getExpr(): [AssignExpr] ... = ... -# 2032| Type = [Struct] ValCat -# 2032| ValueCategory = lvalue -# 2032| getLValue(): [FunctionCall] call to xvalue -# 2032| Type = [RValueReferenceType] ValCat && -# 2032| ValueCategory = prvalue -# 2032| getQualifier(): [VariableAccess] c -# 2032| Type = [Struct] ValCat -# 2032| ValueCategory = lvalue -# 2032| getRValue(): [ClassAggregateLiteral] {...} -# 2032| Type = [Struct] ValCat -# 2032| ValueCategory = prvalue -# 2032| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2032| Type = [Struct] ValCat -# 2032| ValueCategory = lvalue +# 2046| getStmt(2): [ExprStmt] ExprStmt +# 2046| getExpr(): [AssignExpr] ... = ... +# 2046| Type = [Struct] ValCat +# 2046| ValueCategory = lvalue +# 2046| getLValue(): [FunctionCall] call to xvalue +# 2046| Type = [RValueReferenceType] ValCat && +# 2046| ValueCategory = prvalue +# 2046| getQualifier(): [VariableAccess] c +# 2046| Type = [Struct] ValCat +# 2046| ValueCategory = lvalue +# 2046| getRValue(): [ClassAggregateLiteral] {...} +# 2046| Type = [Struct] ValCat +# 2046| ValueCategory = prvalue +# 2046| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2046| Type = [Struct] ValCat +# 2046| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 2033| getStmt(3): [ExprStmt] ExprStmt -# 2033| getExpr(): [AssignExpr] ... = ... -# 2033| Type = [Struct] ValCat -# 2033| ValueCategory = lvalue -# 2033| getLValue(): [FunctionCall] call to prvalue -# 2033| Type = [Struct] ValCat -# 2033| ValueCategory = prvalue -# 2033| getQualifier(): [VariableAccess] c -# 2033| Type = [Struct] ValCat -# 2033| ValueCategory = lvalue -# 2033| getRValue(): [ClassAggregateLiteral] {...} -# 2033| Type = [Struct] ValCat -# 2033| ValueCategory = prvalue -# 2033| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2033| Type = [Struct] ValCat -# 2033| ValueCategory = lvalue +# 2047| getStmt(3): [ExprStmt] ExprStmt +# 2047| getExpr(): [AssignExpr] ... = ... +# 2047| Type = [Struct] ValCat +# 2047| ValueCategory = lvalue +# 2047| getLValue(): [FunctionCall] call to prvalue +# 2047| Type = [Struct] ValCat +# 2047| ValueCategory = prvalue +# 2047| getQualifier(): [VariableAccess] c +# 2047| Type = [Struct] ValCat +# 2047| ValueCategory = lvalue +# 2047| getRValue(): [ClassAggregateLiteral] {...} +# 2047| Type = [Struct] ValCat +# 2047| ValueCategory = prvalue +# 2047| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2047| Type = [Struct] ValCat +# 2047| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 2034| getStmt(4): [ExprStmt] ExprStmt -# 2034| getExpr(): [AssignExpr] ... = ... -# 2034| Type = [Struct] ValCat -# 2034| ValueCategory = lvalue -# 2034| getLValue(): [FunctionCall] call to lvalue -# 2034| Type = [LValueReferenceType] ValCat & -# 2034| ValueCategory = prvalue -# 2034| getRValue(): [ClassAggregateLiteral] {...} -# 2034| Type = [Struct] ValCat -# 2034| ValueCategory = prvalue -# 2034| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2034| Type = [Struct] ValCat -# 2034| ValueCategory = lvalue +# 2048| getStmt(4): [ExprStmt] ExprStmt +# 2048| getExpr(): [AssignExpr] ... = ... +# 2048| Type = [Struct] ValCat +# 2048| ValueCategory = lvalue +# 2048| getLValue(): [FunctionCall] call to lvalue +# 2048| Type = [LValueReferenceType] ValCat & +# 2048| ValueCategory = prvalue +# 2048| getRValue(): [ClassAggregateLiteral] {...} +# 2048| Type = [Struct] ValCat +# 2048| ValueCategory = prvalue +# 2048| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2048| Type = [Struct] ValCat +# 2048| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 2035| getStmt(5): [ExprStmt] ExprStmt -# 2035| getExpr(): [AssignExpr] ... = ... -# 2035| Type = [Struct] ValCat -# 2035| ValueCategory = lvalue -# 2035| getLValue(): [FunctionCall] call to xvalue -# 2035| Type = [RValueReferenceType] ValCat && -# 2035| ValueCategory = prvalue -# 2035| getRValue(): [ClassAggregateLiteral] {...} -# 2035| Type = [Struct] ValCat -# 2035| ValueCategory = prvalue -# 2035| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2035| Type = [Struct] ValCat -# 2035| ValueCategory = lvalue +# 2049| getStmt(5): [ExprStmt] ExprStmt +# 2049| getExpr(): [AssignExpr] ... = ... +# 2049| Type = [Struct] ValCat +# 2049| ValueCategory = lvalue +# 2049| getLValue(): [FunctionCall] call to xvalue +# 2049| Type = [RValueReferenceType] ValCat && +# 2049| ValueCategory = prvalue +# 2049| getRValue(): [ClassAggregateLiteral] {...} +# 2049| Type = [Struct] ValCat +# 2049| ValueCategory = prvalue +# 2049| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2049| Type = [Struct] ValCat +# 2049| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 2036| getStmt(6): [ExprStmt] ExprStmt -# 2036| getExpr(): [AssignExpr] ... = ... -# 2036| Type = [Struct] ValCat -# 2036| ValueCategory = lvalue -# 2036| getLValue(): [FunctionCall] call to prvalue -# 2036| Type = [Struct] ValCat -# 2036| ValueCategory = prvalue -# 2036| getRValue(): [ClassAggregateLiteral] {...} -# 2036| Type = [Struct] ValCat -# 2036| ValueCategory = prvalue -# 2036| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2036| Type = [Struct] ValCat -# 2036| ValueCategory = lvalue +# 2050| getStmt(6): [ExprStmt] ExprStmt +# 2050| getExpr(): [AssignExpr] ... = ... +# 2050| Type = [Struct] ValCat +# 2050| ValueCategory = lvalue +# 2050| getLValue(): [FunctionCall] call to prvalue +# 2050| Type = [Struct] ValCat +# 2050| ValueCategory = prvalue +# 2050| getRValue(): [ClassAggregateLiteral] {...} +# 2050| Type = [Struct] ValCat +# 2050| ValueCategory = prvalue +# 2050| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2050| Type = [Struct] ValCat +# 2050| ValueCategory = lvalue #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [Struct] ValCat #-----| ValueCategory = prvalue(load) -# 2037| getStmt(7): [ReturnStmt] return ... -# 2039| [TopLevelFunction] void SetStaticFuncPtr() -# 2039| : -# 2039| getEntryPoint(): [BlockStmt] { ... } -# 2040| getStmt(0): [DeclStmt] declaration -# 2040| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2040| Type = [Class] C -# 2040| getVariable().getInitializer(): [Initializer] initializer for c -# 2040| getExpr(): [ConstructorCall] call to C -# 2040| Type = [VoidType] void -# 2040| ValueCategory = prvalue -# 2041| getStmt(1): [DeclStmt] declaration -# 2041| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn -# 2041| Type = [FunctionPointerType] ..(*)(..) -# 2041| getVariable().getInitializer(): [Initializer] initializer for pfn -# 2041| getExpr(): [FunctionAccess] StaticMemberFunction -# 2041| Type = [FunctionPointerType] ..(*)(..) -# 2041| ValueCategory = prvalue(load) -# 2042| getStmt(2): [ExprStmt] ExprStmt -# 2042| getExpr(): [AssignExpr] ... = ... -# 2042| Type = [FunctionPointerType] ..(*)(..) -# 2042| ValueCategory = lvalue -# 2042| getLValue(): [VariableAccess] pfn -# 2042| Type = [FunctionPointerType] ..(*)(..) -# 2042| ValueCategory = lvalue -# 2042| getRValue(): [FunctionAccess] StaticMemberFunction -# 2042| Type = [FunctionPointerType] ..(*)(..) -# 2042| ValueCategory = prvalue(load) -# 2042| getQualifier(): [VariableAccess] c -# 2042| Type = [Class] C -# 2042| ValueCategory = lvalue -# 2043| getStmt(3): [ReturnStmt] return ... -# 2043| getImplicitDestructorCall(0): [DestructorCall] call to ~C -# 2043| Type = [VoidType] void -# 2043| ValueCategory = prvalue -# 2043| getQualifier(): [VariableAccess] c -# 2043| Type = [Class] C -# 2043| ValueCategory = lvalue -# 2045| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) -# 2045| : -# 2045| getParameter(0): [Parameter] a -# 2045| Type = [BoolType] bool -# 2045| getParameter(1): [Parameter] x -# 2045| Type = [IntType] int -# 2045| getParameter(2): [Parameter] y -# 2045| Type = [IntType] int -# 2045| getParameter(3): [Parameter] z -# 2045| Type = [IntType] int -# 2045| getEntryPoint(): [BlockStmt] { ... } -# 2046| getStmt(0): [ExprStmt] ExprStmt -# 2046| getExpr(): [AssignExpr] ... = ... -# 2046| Type = [IntType] int -# 2046| ValueCategory = lvalue -# 2046| getLValue(): [VariableAccess] z -# 2046| Type = [IntType] int -# 2046| ValueCategory = lvalue -# 2046| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2046| Type = [IntType] int -# 2046| ValueCategory = prvalue(load) -# 2046| getCondition(): [VariableAccess] a -# 2046| Type = [BoolType] bool -# 2046| ValueCategory = prvalue(load) -# 2046| getThen(): [VariableAccess] x -# 2046| Type = [IntType] int -# 2046| ValueCategory = prvalue(load) -# 2046| getElse(): [VariableAccess] y -# 2046| Type = [IntType] int -# 2046| ValueCategory = prvalue(load) -# 2047| getStmt(1): [ExprStmt] ExprStmt -# 2047| getExpr(): [AssignExpr] ... = ... -# 2047| Type = [IntType] int -# 2047| ValueCategory = lvalue -# 2047| getLValue(): [VariableAccess] z -# 2047| Type = [IntType] int -# 2047| ValueCategory = lvalue -# 2047| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2047| Type = [IntType] int -# 2047| ValueCategory = prvalue(load) -# 2047| getCondition(): [VariableAccess] a -# 2047| Type = [BoolType] bool -# 2047| ValueCategory = prvalue(load) -# 2047| getThen(): [VariableAccess] x -# 2047| Type = [IntType] int -# 2047| ValueCategory = prvalue(load) -# 2047| getElse(): [Literal] 5 -# 2047| Type = [IntType] int -# 2047| Value = [Literal] 5 -# 2047| ValueCategory = prvalue -# 2048| getStmt(2): [ExprStmt] ExprStmt -# 2048| getExpr(): [AssignExpr] ... = ... -# 2048| Type = [IntType] int -# 2048| ValueCategory = lvalue -# 2048| getLValue(): [VariableAccess] z -# 2048| Type = [IntType] int -# 2048| ValueCategory = lvalue -# 2048| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2048| Type = [IntType] int -# 2048| ValueCategory = prvalue -# 2048| getCondition(): [VariableAccess] a -# 2048| Type = [BoolType] bool -# 2048| ValueCategory = prvalue(load) -# 2048| getThen(): [Literal] 3 -# 2048| Type = [IntType] int -# 2048| Value = [Literal] 3 -# 2048| ValueCategory = prvalue -# 2048| getElse(): [Literal] 5 -# 2048| Type = [IntType] int -# 2048| Value = [Literal] 5 -# 2048| ValueCategory = prvalue -# 2049| getStmt(3): [ExprStmt] ExprStmt -# 2049| getExpr(): [AssignExpr] ... = ... -# 2049| Type = [IntType] int -# 2049| ValueCategory = lvalue -# 2049| getLValue(): [ConditionalExpr] ... ? ... : ... -# 2049| Type = [IntType] int -# 2049| ValueCategory = lvalue -# 2049| getCondition(): [VariableAccess] a -# 2049| Type = [BoolType] bool -# 2049| ValueCategory = prvalue(load) -# 2049| getThen(): [VariableAccess] x -# 2049| Type = [IntType] int -# 2049| ValueCategory = lvalue -# 2049| getElse(): [VariableAccess] y -# 2049| Type = [IntType] int -# 2049| ValueCategory = lvalue -# 2049| getRValue(): [Literal] 7 -# 2049| Type = [IntType] int -# 2049| Value = [Literal] 7 -# 2049| ValueCategory = prvalue -# 2049| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2049| Type = [IntType] int -# 2049| ValueCategory = lvalue -# 2050| getStmt(4): [ReturnStmt] return ... -# 2052| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) -# 2052| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [LValueReferenceType] const TernaryPodObj & -# 2052| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) -# 2052| : -#-----| getParameter(0): [Parameter] (unnamed parameter 0) -#-----| Type = [RValueReferenceType] TernaryPodObj && -# 2055| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2055| : -# 2055| getParameter(0): [Parameter] a -# 2055| Type = [BoolType] bool -# 2055| getParameter(1): [Parameter] x -# 2055| Type = [Struct] TernaryPodObj -# 2055| getParameter(2): [Parameter] y -# 2055| Type = [Struct] TernaryPodObj -# 2055| getParameter(3): [Parameter] z -# 2055| Type = [Struct] TernaryPodObj -# 2055| getEntryPoint(): [BlockStmt] { ... } -# 2056| getStmt(0): [ExprStmt] ExprStmt +# 2051| getStmt(7): [ReturnStmt] return ... +# 2053| [TopLevelFunction] void SetStaticFuncPtr() +# 2053| : +# 2053| getEntryPoint(): [BlockStmt] { ... } +# 2054| getStmt(0): [DeclStmt] declaration +# 2054| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2054| Type = [Class] C +# 2054| getVariable().getInitializer(): [Initializer] initializer for c +# 2054| getExpr(): [ConstructorCall] call to C +# 2054| Type = [VoidType] void +# 2054| ValueCategory = prvalue +# 2055| getStmt(1): [DeclStmt] declaration +# 2055| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn +# 2055| Type = [FunctionPointerType] ..(*)(..) +# 2055| getVariable().getInitializer(): [Initializer] initializer for pfn +# 2055| getExpr(): [FunctionAccess] StaticMemberFunction +# 2055| Type = [FunctionPointerType] ..(*)(..) +# 2055| ValueCategory = prvalue(load) +# 2056| getStmt(2): [ExprStmt] ExprStmt # 2056| getExpr(): [AssignExpr] ... = ... -# 2056| Type = [Struct] TernaryPodObj +# 2056| Type = [FunctionPointerType] ..(*)(..) # 2056| ValueCategory = lvalue -# 2056| getLValue(): [VariableAccess] z -# 2056| Type = [Struct] TernaryPodObj +# 2056| getLValue(): [VariableAccess] pfn +# 2056| Type = [FunctionPointerType] ..(*)(..) # 2056| ValueCategory = lvalue -# 2056| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2056| Type = [Struct] TernaryPodObj +# 2056| getRValue(): [FunctionAccess] StaticMemberFunction +# 2056| Type = [FunctionPointerType] ..(*)(..) # 2056| ValueCategory = prvalue(load) -# 2056| getCondition(): [VariableAccess] a -# 2056| Type = [BoolType] bool -# 2056| ValueCategory = prvalue(load) -# 2056| getThen(): [VariableAccess] x -# 2056| Type = [Struct] TernaryPodObj -# 2056| ValueCategory = prvalue(load) -# 2056| getElse(): [VariableAccess] y -# 2056| Type = [Struct] TernaryPodObj -# 2056| ValueCategory = prvalue(load) -# 2057| getStmt(1): [ExprStmt] ExprStmt -# 2057| getExpr(): [AssignExpr] ... = ... -# 2057| Type = [Struct] TernaryPodObj -# 2057| ValueCategory = lvalue -# 2057| getLValue(): [VariableAccess] z -# 2057| Type = [Struct] TernaryPodObj +# 2056| getQualifier(): [VariableAccess] c +# 2056| Type = [Class] C +# 2056| ValueCategory = lvalue +# 2057| getStmt(3): [ReturnStmt] return ... +# 2057| getImplicitDestructorCall(0): [DestructorCall] call to ~C +# 2057| Type = [VoidType] void +# 2057| ValueCategory = prvalue +# 2057| getQualifier(): [VariableAccess] c +# 2057| Type = [Class] C # 2057| ValueCategory = lvalue -# 2057| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2057| Type = [Struct] TernaryPodObj -# 2057| ValueCategory = prvalue -# 2057| getCondition(): [VariableAccess] a -# 2057| Type = [BoolType] bool -# 2057| ValueCategory = prvalue(load) -# 2057| getThen(): [VariableAccess] x -# 2057| Type = [Struct] TernaryPodObj -# 2057| ValueCategory = prvalue(load) -# 2057| getElse(): [Literal] 0 -# 2057| Type = [Struct] TernaryPodObj -# 2057| Value = [Literal] 0 -# 2057| ValueCategory = prvalue -# 2057| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2057| Type = [Struct] TernaryPodObj -# 2057| ValueCategory = prvalue(load) -# 2057| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2057| Type = [Struct] TernaryPodObj -# 2057| ValueCategory = prvalue(load) -# 2057| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2057| Type = [Struct] TernaryPodObj -# 2057| ValueCategory = prvalue(load) -# 2058| getStmt(2): [ExprStmt] ExprStmt -# 2058| getExpr(): [AssignExpr] ... = ... -# 2058| Type = [Struct] TernaryPodObj -# 2058| ValueCategory = lvalue -# 2058| getLValue(): [VariableAccess] z -# 2058| Type = [Struct] TernaryPodObj -# 2058| ValueCategory = lvalue -# 2058| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2058| Type = [Struct] TernaryPodObj -# 2058| ValueCategory = prvalue -# 2058| getCondition(): [VariableAccess] a -# 2058| Type = [BoolType] bool -# 2058| ValueCategory = prvalue(load) -# 2058| getThen(): [Literal] 0 -# 2058| Type = [Struct] TernaryPodObj -# 2058| Value = [Literal] 0 -# 2058| ValueCategory = prvalue -# 2058| getElse(): [Literal] 0 -# 2058| Type = [Struct] TernaryPodObj -# 2058| Value = [Literal] 0 -# 2058| ValueCategory = prvalue -# 2058| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2058| Type = [Struct] TernaryPodObj -# 2058| ValueCategory = prvalue(load) -# 2058| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2058| Type = [Struct] TernaryPodObj -# 2058| ValueCategory = prvalue(load) -# 2058| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2058| Type = [Struct] TernaryPodObj -# 2058| ValueCategory = prvalue(load) -# 2059| getStmt(3): [ExprStmt] ExprStmt -# 2059| getExpr(): [AssignExpr] ... = ... -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = lvalue -# 2059| getLValue(): [AssignExpr] ... = ... -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = lvalue -# 2059| getLValue(): [VariableAccess] z -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = lvalue -# 2059| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = prvalue(load) -# 2059| getCondition(): [VariableAccess] a -# 2059| Type = [BoolType] bool -# 2059| ValueCategory = prvalue(load) -# 2059| getThen(): [VariableAccess] x -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = prvalue(load) -# 2059| getElse(): [VariableAccess] y -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = prvalue(load) -# 2059| getRValue(): [Literal] 0 -# 2059| Type = [Struct] TernaryPodObj -# 2059| Value = [Literal] 0 -# 2059| ValueCategory = prvalue -# 2059| getLValue().getFullyConverted(): [ParenthesisExpr] (...) -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = lvalue -# 2059| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2059| Type = [Struct] TernaryPodObj -# 2059| ValueCategory = prvalue(load) -# 2060| getStmt(4): [ReturnStmt] return ... -# 2062| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2062| : +# 2059| [TopLevelFunction] void TernaryTestInt(bool, int, int, int) +# 2059| : +# 2059| getParameter(0): [Parameter] a +# 2059| Type = [BoolType] bool +# 2059| getParameter(1): [Parameter] x +# 2059| Type = [IntType] int +# 2059| getParameter(2): [Parameter] y +# 2059| Type = [IntType] int +# 2059| getParameter(3): [Parameter] z +# 2059| Type = [IntType] int +# 2059| getEntryPoint(): [BlockStmt] { ... } +# 2060| getStmt(0): [ExprStmt] ExprStmt +# 2060| getExpr(): [AssignExpr] ... = ... +# 2060| Type = [IntType] int +# 2060| ValueCategory = lvalue +# 2060| getLValue(): [VariableAccess] z +# 2060| Type = [IntType] int +# 2060| ValueCategory = lvalue +# 2060| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2060| Type = [IntType] int +# 2060| ValueCategory = prvalue(load) +# 2060| getCondition(): [VariableAccess] a +# 2060| Type = [BoolType] bool +# 2060| ValueCategory = prvalue(load) +# 2060| getThen(): [VariableAccess] x +# 2060| Type = [IntType] int +# 2060| ValueCategory = prvalue(load) +# 2060| getElse(): [VariableAccess] y +# 2060| Type = [IntType] int +# 2060| ValueCategory = prvalue(load) +# 2061| getStmt(1): [ExprStmt] ExprStmt +# 2061| getExpr(): [AssignExpr] ... = ... +# 2061| Type = [IntType] int +# 2061| ValueCategory = lvalue +# 2061| getLValue(): [VariableAccess] z +# 2061| Type = [IntType] int +# 2061| ValueCategory = lvalue +# 2061| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2061| Type = [IntType] int +# 2061| ValueCategory = prvalue(load) +# 2061| getCondition(): [VariableAccess] a +# 2061| Type = [BoolType] bool +# 2061| ValueCategory = prvalue(load) +# 2061| getThen(): [VariableAccess] x +# 2061| Type = [IntType] int +# 2061| ValueCategory = prvalue(load) +# 2061| getElse(): [Literal] 5 +# 2061| Type = [IntType] int +# 2061| Value = [Literal] 5 +# 2061| ValueCategory = prvalue +# 2062| getStmt(2): [ExprStmt] ExprStmt +# 2062| getExpr(): [AssignExpr] ... = ... +# 2062| Type = [IntType] int +# 2062| ValueCategory = lvalue +# 2062| getLValue(): [VariableAccess] z +# 2062| Type = [IntType] int +# 2062| ValueCategory = lvalue +# 2062| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2062| Type = [IntType] int +# 2062| ValueCategory = prvalue +# 2062| getCondition(): [VariableAccess] a +# 2062| Type = [BoolType] bool +# 2062| ValueCategory = prvalue(load) +# 2062| getThen(): [Literal] 3 +# 2062| Type = [IntType] int +# 2062| Value = [Literal] 3 +# 2062| ValueCategory = prvalue +# 2062| getElse(): [Literal] 5 +# 2062| Type = [IntType] int +# 2062| Value = [Literal] 5 +# 2062| ValueCategory = prvalue +# 2063| getStmt(3): [ExprStmt] ExprStmt +# 2063| getExpr(): [AssignExpr] ... = ... +# 2063| Type = [IntType] int +# 2063| ValueCategory = lvalue +# 2063| getLValue(): [ConditionalExpr] ... ? ... : ... +# 2063| Type = [IntType] int +# 2063| ValueCategory = lvalue +# 2063| getCondition(): [VariableAccess] a +# 2063| Type = [BoolType] bool +# 2063| ValueCategory = prvalue(load) +# 2063| getThen(): [VariableAccess] x +# 2063| Type = [IntType] int +# 2063| ValueCategory = lvalue +# 2063| getElse(): [VariableAccess] y +# 2063| Type = [IntType] int +# 2063| ValueCategory = lvalue +# 2063| getRValue(): [Literal] 7 +# 2063| Type = [IntType] int +# 2063| Value = [Literal] 7 +# 2063| ValueCategory = prvalue +# 2063| getLValue().getFullyConverted(): [ParenthesisExpr] (...) +# 2063| Type = [IntType] int +# 2063| ValueCategory = lvalue +# 2064| getStmt(4): [ReturnStmt] return ... +# 2066| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&) +# 2066| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [LValueReferenceType] const TernaryPodObj & +# 2066| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&) +# 2066| : +#-----| getParameter(0): [Parameter] (unnamed parameter 0) +#-----| Type = [RValueReferenceType] TernaryPodObj && +# 2069| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2069| : +# 2069| getParameter(0): [Parameter] a +# 2069| Type = [BoolType] bool +# 2069| getParameter(1): [Parameter] x +# 2069| Type = [Struct] TernaryPodObj +# 2069| getParameter(2): [Parameter] y +# 2069| Type = [Struct] TernaryPodObj +# 2069| getParameter(3): [Parameter] z +# 2069| Type = [Struct] TernaryPodObj +# 2069| getEntryPoint(): [BlockStmt] { ... } +# 2070| getStmt(0): [ExprStmt] ExprStmt +# 2070| getExpr(): [AssignExpr] ... = ... +# 2070| Type = [Struct] TernaryPodObj +# 2070| ValueCategory = lvalue +# 2070| getLValue(): [VariableAccess] z +# 2070| Type = [Struct] TernaryPodObj +# 2070| ValueCategory = lvalue +# 2070| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2070| Type = [Struct] TernaryPodObj +# 2070| ValueCategory = prvalue(load) +# 2070| getCondition(): [VariableAccess] a +# 2070| Type = [BoolType] bool +# 2070| ValueCategory = prvalue(load) +# 2070| getThen(): [VariableAccess] x +# 2070| Type = [Struct] TernaryPodObj +# 2070| ValueCategory = prvalue(load) +# 2070| getElse(): [VariableAccess] y +# 2070| Type = [Struct] TernaryPodObj +# 2070| ValueCategory = prvalue(load) +# 2071| getStmt(1): [ExprStmt] ExprStmt +# 2071| getExpr(): [AssignExpr] ... = ... +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = lvalue +# 2071| getLValue(): [VariableAccess] z +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = lvalue +# 2071| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = prvalue +# 2071| getCondition(): [VariableAccess] a +# 2071| Type = [BoolType] bool +# 2071| ValueCategory = prvalue(load) +# 2071| getThen(): [VariableAccess] x +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = prvalue(load) +# 2071| getElse(): [Literal] 0 +# 2071| Type = [Struct] TernaryPodObj +# 2071| Value = [Literal] 0 +# 2071| ValueCategory = prvalue +# 2071| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = prvalue(load) +# 2071| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = prvalue(load) +# 2071| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2071| Type = [Struct] TernaryPodObj +# 2071| ValueCategory = prvalue(load) +# 2072| getStmt(2): [ExprStmt] ExprStmt +# 2072| getExpr(): [AssignExpr] ... = ... +# 2072| Type = [Struct] TernaryPodObj +# 2072| ValueCategory = lvalue +# 2072| getLValue(): [VariableAccess] z +# 2072| Type = [Struct] TernaryPodObj +# 2072| ValueCategory = lvalue +# 2072| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2072| Type = [Struct] TernaryPodObj +# 2072| ValueCategory = prvalue +# 2072| getCondition(): [VariableAccess] a +# 2072| Type = [BoolType] bool +# 2072| ValueCategory = prvalue(load) +# 2072| getThen(): [Literal] 0 +# 2072| Type = [Struct] TernaryPodObj +# 2072| Value = [Literal] 0 +# 2072| ValueCategory = prvalue +# 2072| getElse(): [Literal] 0 +# 2072| Type = [Struct] TernaryPodObj +# 2072| Value = [Literal] 0 +# 2072| ValueCategory = prvalue +# 2072| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2072| Type = [Struct] TernaryPodObj +# 2072| ValueCategory = prvalue(load) +# 2072| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2072| Type = [Struct] TernaryPodObj +# 2072| ValueCategory = prvalue(load) +# 2072| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2072| Type = [Struct] TernaryPodObj +# 2072| ValueCategory = prvalue(load) +# 2073| getStmt(3): [ExprStmt] ExprStmt +# 2073| getExpr(): [AssignExpr] ... = ... +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = lvalue +# 2073| getLValue(): [AssignExpr] ... = ... +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = lvalue +# 2073| getLValue(): [VariableAccess] z +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = lvalue +# 2073| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = prvalue(load) +# 2073| getCondition(): [VariableAccess] a +# 2073| Type = [BoolType] bool +# 2073| ValueCategory = prvalue(load) +# 2073| getThen(): [VariableAccess] x +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = prvalue(load) +# 2073| getElse(): [VariableAccess] y +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = prvalue(load) +# 2073| getRValue(): [Literal] 0 +# 2073| Type = [Struct] TernaryPodObj +# 2073| Value = [Literal] 0 +# 2073| ValueCategory = prvalue +# 2073| getLValue().getFullyConverted(): [ParenthesisExpr] (...) +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = lvalue +# 2073| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2073| Type = [Struct] TernaryPodObj +# 2073| ValueCategory = prvalue(load) +# 2074| getStmt(4): [ReturnStmt] return ... +# 2076| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2076| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & #-----| getEntryPoint(): [BlockStmt] { ... } @@ -16397,1016 +16445,1016 @@ ir.cpp: #-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] TernaryNonPodObj & #-----| ValueCategory = prvalue -# 2062| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() -# 2062| : -# 2062| : -# 2062| getEntryPoint(): [BlockStmt] { ... } -# 2062| getStmt(0): [ReturnStmt] return ... -# 2062| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2062| : +# 2076| [Constructor] void TernaryNonPodObj::TernaryNonPodObj() +# 2076| : +# 2076| : +# 2076| getEntryPoint(): [BlockStmt] { ... } +# 2076| getStmt(0): [ReturnStmt] return ... +# 2076| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2076| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2062| : -# 2062| getEntryPoint(): [BlockStmt] { ... } -# 2062| getStmt(0): [ReturnStmt] return ... -# 2063| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() -# 2063| : -# 2063| getEntryPoint(): [BlockStmt] { ... } -# 2063| getStmt(0): [ReturnStmt] return ... -# 2063| : -# 2066| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2066| : -# 2066| getParameter(0): [Parameter] a -# 2066| Type = [BoolType] bool -# 2066| getParameter(1): [Parameter] x -# 2066| Type = [Struct] TernaryNonPodObj -# 2066| getParameter(2): [Parameter] y -# 2066| Type = [Struct] TernaryNonPodObj -# 2066| getParameter(3): [Parameter] z -# 2066| Type = [Struct] TernaryNonPodObj -# 2066| getEntryPoint(): [BlockStmt] { ... } -# 2067| getStmt(0): [ExprStmt] ExprStmt -# 2067| getExpr(): [FunctionCall] call to operator= -# 2067| Type = [LValueReferenceType] TernaryNonPodObj & -# 2067| ValueCategory = prvalue -# 2067| getQualifier(): [VariableAccess] z -# 2067| Type = [Struct] TernaryNonPodObj -# 2067| ValueCategory = lvalue -# 2067| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2067| Type = [Struct] TernaryNonPodObj -# 2067| ValueCategory = lvalue -# 2067| getCondition(): [VariableAccess] a -# 2067| Type = [BoolType] bool -# 2067| ValueCategory = prvalue(load) -# 2067| getThen(): [VariableAccess] x -# 2067| Type = [Struct] TernaryNonPodObj -# 2067| ValueCategory = lvalue -# 2067| getElse(): [VariableAccess] y -# 2067| Type = [Struct] TernaryNonPodObj -# 2067| ValueCategory = lvalue -# 2067| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2067| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2067| ValueCategory = prvalue -# 2067| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2067| Conversion = [GlvalueConversion] glvalue conversion -# 2067| Type = [SpecifiedType] const TernaryNonPodObj -# 2067| ValueCategory = lvalue -# 2067| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2067| Type = [Struct] TernaryNonPodObj -# 2067| ValueCategory = lvalue -# 2068| getStmt(1): [ExprStmt] ExprStmt -# 2068| getExpr(): [FunctionCall] call to operator= -# 2068| Type = [LValueReferenceType] TernaryNonPodObj & -# 2068| ValueCategory = prvalue -# 2068| getQualifier(): [VariableAccess] z -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = lvalue -# 2068| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = prvalue -# 2068| getCondition(): [VariableAccess] a -# 2068| Type = [BoolType] bool -# 2068| ValueCategory = prvalue(load) -# 2068| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2068| Type = [VoidType] void -# 2068| ValueCategory = prvalue -# 2068| getArgument(0): [VariableAccess] x -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = lvalue -# 2068| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2068| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2068| ValueCategory = prvalue -# 2068| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2068| Conversion = [GlvalueConversion] glvalue conversion -# 2068| Type = [SpecifiedType] const TernaryNonPodObj -# 2068| ValueCategory = lvalue -# 2068| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2068| Type = [VoidType] void -# 2068| ValueCategory = prvalue -# 2068| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = prvalue(load) -# 2068| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = prvalue(load) -# 2068| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj -# 2068| Type = [VoidType] void -# 2068| ValueCategory = prvalue -# 2068| getQualifier(): [ReuseExpr] reuse of temporary object -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = xvalue -# 2068| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2068| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2068| ValueCategory = prvalue -# 2068| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2068| Conversion = [GlvalueConversion] glvalue conversion -# 2068| Type = [SpecifiedType] const TernaryNonPodObj -# 2068| ValueCategory = lvalue -# 2068| getExpr(): [TemporaryObjectExpr] temporary object -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = lvalue -# 2068| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2068| Type = [Struct] TernaryNonPodObj -# 2068| ValueCategory = lvalue -# 2069| getStmt(2): [ExprStmt] ExprStmt -# 2069| getExpr(): [FunctionCall] call to operator= -# 2069| Type = [LValueReferenceType] TernaryNonPodObj & -# 2069| ValueCategory = prvalue -# 2069| getQualifier(): [VariableAccess] z -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = lvalue -# 2069| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = prvalue -# 2069| getCondition(): [VariableAccess] a -# 2069| Type = [BoolType] bool -# 2069| ValueCategory = prvalue(load) -# 2069| getThen(): [ConstructorCall] call to TernaryNonPodObj -# 2069| Type = [VoidType] void -# 2069| ValueCategory = prvalue -# 2069| getElse(): [ConstructorCall] call to TernaryNonPodObj -# 2069| Type = [VoidType] void -# 2069| ValueCategory = prvalue -# 2069| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = prvalue(load) -# 2069| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = prvalue(load) -# 2069| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj -# 2069| Type = [VoidType] void -# 2069| ValueCategory = prvalue -# 2069| getQualifier(): [ReuseExpr] reuse of temporary object -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = xvalue -# 2069| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2069| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2069| ValueCategory = prvalue -# 2069| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2069| Conversion = [GlvalueConversion] glvalue conversion -# 2069| Type = [SpecifiedType] const TernaryNonPodObj -# 2069| ValueCategory = lvalue -# 2069| getExpr(): [TemporaryObjectExpr] temporary object -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = lvalue -# 2069| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2069| Type = [Struct] TernaryNonPodObj -# 2069| ValueCategory = lvalue -# 2070| getStmt(3): [ExprStmt] ExprStmt -# 2070| getExpr(): [FunctionCall] call to operator= -# 2070| Type = [LValueReferenceType] TernaryNonPodObj & -# 2070| ValueCategory = prvalue -# 2070| getQualifier(): [FunctionCall] call to operator= -# 2070| Type = [LValueReferenceType] TernaryNonPodObj & -# 2070| ValueCategory = prvalue -# 2070| getQualifier(): [VariableAccess] z -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getArgument(0): [ConditionalExpr] ... ? ... : ... -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getCondition(): [VariableAccess] a -# 2070| Type = [BoolType] bool -# 2070| ValueCategory = prvalue(load) -# 2070| getThen(): [VariableAccess] x -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getElse(): [VariableAccess] y -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2070| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2070| ValueCategory = prvalue -# 2070| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2070| Conversion = [GlvalueConversion] glvalue conversion -# 2070| Type = [SpecifiedType] const TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getArgument(0): [ConstructorCall] call to TernaryNonPodObj -# 2070| Type = [VoidType] void -# 2070| ValueCategory = prvalue -# 2070| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj -# 2070| Type = [VoidType] void -# 2070| ValueCategory = prvalue -# 2070| getQualifier(): [ReuseExpr] reuse of temporary object -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = xvalue -# 2070| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2070| Type = [LValueReferenceType] const TernaryNonPodObj & -# 2070| ValueCategory = prvalue -# 2070| getExpr(): [CStyleCast] (const TernaryNonPodObj)... -# 2070| Conversion = [GlvalueConversion] glvalue conversion -# 2070| Type = [SpecifiedType] const TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getExpr(): [TemporaryObjectExpr] temporary object -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2070| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2070| Type = [Struct] TernaryNonPodObj -# 2070| ValueCategory = lvalue -# 2071| getStmt(4): [ReturnStmt] return ... -# 2073| [TopLevelFunction] void CommaTestHelper(unsigned int) -# 2073| : -# 2073| getParameter(0): [Parameter] (unnamed parameter 0) -# 2073| Type = [IntType] unsigned int -# 2075| [TopLevelFunction] unsigned int CommaTest(unsigned int) -# 2075| : -# 2075| getParameter(0): [Parameter] x -# 2075| Type = [IntType] unsigned int -# 2075| getEntryPoint(): [BlockStmt] { ... } -# 2076| getStmt(0): [DeclStmt] declaration -# 2076| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2076| Type = [IntType] unsigned int -# 2077| getStmt(1): [ExprStmt] ExprStmt -# 2077| getExpr(): [AssignExpr] ... = ... -# 2077| Type = [IntType] unsigned int -# 2077| ValueCategory = lvalue -# 2077| getLValue(): [VariableAccess] y -# 2077| Type = [IntType] unsigned int -# 2077| ValueCategory = lvalue -# 2077| getRValue(): [ConditionalExpr] ... ? ... : ... -# 2077| Type = [IntType] unsigned int -# 2077| ValueCategory = prvalue(load) -# 2077| getCondition(): [LTExpr] ... < ... -# 2077| Type = [BoolType] bool -# 2077| ValueCategory = prvalue -# 2077| getLesserOperand(): [VariableAccess] x -# 2077| Type = [IntType] unsigned int -# 2077| ValueCategory = prvalue(load) -# 2077| getGreaterOperand(): [Literal] 100 -# 2077| Type = [IntType] int -# 2077| Value = [Literal] 100 -# 2077| ValueCategory = prvalue -# 2077| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2077| Conversion = [IntegralConversion] integral conversion -# 2077| Type = [IntType] unsigned int -# 2077| Value = [CStyleCast] 100 -# 2077| ValueCategory = prvalue -# 2078| getThen(): [CommaExpr] ... , ... -# 2078| Type = [IntType] unsigned int -# 2078| ValueCategory = prvalue(load) -# 2078| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2078| Type = [VoidType] void -# 2078| ValueCategory = prvalue -# 2078| getArgument(0): [VariableAccess] x -# 2078| Type = [IntType] unsigned int -# 2078| ValueCategory = prvalue(load) -# 2078| getRightOperand(): [VariableAccess] x -# 2078| Type = [IntType] unsigned int -# 2078| ValueCategory = prvalue(load) -# 2079| getElse(): [CommaExpr] ... , ... -# 2079| Type = [IntType] int -# 2079| ValueCategory = prvalue -# 2079| getLeftOperand(): [FunctionCall] call to CommaTestHelper -# 2079| Type = [VoidType] void -# 2079| ValueCategory = prvalue -# 2079| getArgument(0): [VariableAccess] x -# 2079| Type = [IntType] unsigned int -# 2079| ValueCategory = prvalue(load) -# 2079| getRightOperand(): [Literal] 10 -# 2079| Type = [IntType] int -# 2079| Value = [Literal] 10 -# 2079| ValueCategory = prvalue -# 2078| getThen().getFullyConverted(): [ParenthesisExpr] (...) -# 2078| Type = [IntType] unsigned int -# 2078| ValueCategory = prvalue(load) -# 2079| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... -# 2079| Conversion = [IntegralConversion] integral conversion -# 2079| Type = [IntType] unsigned int -# 2079| ValueCategory = prvalue -# 2079| getExpr(): [ParenthesisExpr] (...) -# 2079| Type = [IntType] int -# 2079| ValueCategory = prvalue -# 2080| getStmt(2): [ReturnStmt] return ... -# 2082| [TopLevelFunction] void NewDeleteMem() -# 2082| : -# 2082| getEntryPoint(): [BlockStmt] { ... } -# 2083| getStmt(0): [DeclStmt] declaration -# 2083| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2083| Type = [IntPointerType] int * -# 2083| getVariable().getInitializer(): [Initializer] initializer for x -# 2083| getExpr(): [NewExpr] new -# 2083| Type = [IntPointerType] int * +# 2076| : +# 2076| getEntryPoint(): [BlockStmt] { ... } +# 2076| getStmt(0): [ReturnStmt] return ... +# 2077| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj() +# 2077| : +# 2077| getEntryPoint(): [BlockStmt] { ... } +# 2077| getStmt(0): [ReturnStmt] return ... +# 2077| : +# 2080| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2080| : +# 2080| getParameter(0): [Parameter] a +# 2080| Type = [BoolType] bool +# 2080| getParameter(1): [Parameter] x +# 2080| Type = [Struct] TernaryNonPodObj +# 2080| getParameter(2): [Parameter] y +# 2080| Type = [Struct] TernaryNonPodObj +# 2080| getParameter(3): [Parameter] z +# 2080| Type = [Struct] TernaryNonPodObj +# 2080| getEntryPoint(): [BlockStmt] { ... } +# 2081| getStmt(0): [ExprStmt] ExprStmt +# 2081| getExpr(): [FunctionCall] call to operator= +# 2081| Type = [LValueReferenceType] TernaryNonPodObj & +# 2081| ValueCategory = prvalue +# 2081| getQualifier(): [VariableAccess] z +# 2081| Type = [Struct] TernaryNonPodObj +# 2081| ValueCategory = lvalue +# 2081| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2081| Type = [Struct] TernaryNonPodObj +# 2081| ValueCategory = lvalue +# 2081| getCondition(): [VariableAccess] a +# 2081| Type = [BoolType] bool +# 2081| ValueCategory = prvalue(load) +# 2081| getThen(): [VariableAccess] x +# 2081| Type = [Struct] TernaryNonPodObj +# 2081| ValueCategory = lvalue +# 2081| getElse(): [VariableAccess] y +# 2081| Type = [Struct] TernaryNonPodObj +# 2081| ValueCategory = lvalue +# 2081| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2081| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2081| ValueCategory = prvalue +# 2081| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2081| Conversion = [GlvalueConversion] glvalue conversion +# 2081| Type = [SpecifiedType] const TernaryNonPodObj +# 2081| ValueCategory = lvalue +# 2081| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2081| Type = [Struct] TernaryNonPodObj +# 2081| ValueCategory = lvalue +# 2082| getStmt(1): [ExprStmt] ExprStmt +# 2082| getExpr(): [FunctionCall] call to operator= +# 2082| Type = [LValueReferenceType] TernaryNonPodObj & +# 2082| ValueCategory = prvalue +# 2082| getQualifier(): [VariableAccess] z +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = lvalue +# 2082| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = prvalue +# 2082| getCondition(): [VariableAccess] a +# 2082| Type = [BoolType] bool +# 2082| ValueCategory = prvalue(load) +# 2082| getThen(): [ConstructorCall] call to TernaryNonPodObj +# 2082| Type = [VoidType] void +# 2082| ValueCategory = prvalue +# 2082| getArgument(0): [VariableAccess] x +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = lvalue +# 2082| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2082| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2082| ValueCategory = prvalue +# 2082| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2082| Conversion = [GlvalueConversion] glvalue conversion +# 2082| Type = [SpecifiedType] const TernaryNonPodObj +# 2082| ValueCategory = lvalue +# 2082| getElse(): [ConstructorCall] call to TernaryNonPodObj +# 2082| Type = [VoidType] void +# 2082| ValueCategory = prvalue +# 2082| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = prvalue(load) +# 2082| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = prvalue(load) +# 2082| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj +# 2082| Type = [VoidType] void +# 2082| ValueCategory = prvalue +# 2082| getQualifier(): [ReuseExpr] reuse of temporary object +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = xvalue +# 2082| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2082| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2082| ValueCategory = prvalue +# 2082| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2082| Conversion = [GlvalueConversion] glvalue conversion +# 2082| Type = [SpecifiedType] const TernaryNonPodObj +# 2082| ValueCategory = lvalue +# 2082| getExpr(): [TemporaryObjectExpr] temporary object +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = lvalue +# 2082| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2082| Type = [Struct] TernaryNonPodObj +# 2082| ValueCategory = lvalue +# 2083| getStmt(2): [ExprStmt] ExprStmt +# 2083| getExpr(): [FunctionCall] call to operator= +# 2083| Type = [LValueReferenceType] TernaryNonPodObj & +# 2083| ValueCategory = prvalue +# 2083| getQualifier(): [VariableAccess] z +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = lvalue +# 2083| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = prvalue +# 2083| getCondition(): [VariableAccess] a +# 2083| Type = [BoolType] bool +# 2083| ValueCategory = prvalue(load) +# 2083| getThen(): [ConstructorCall] call to TernaryNonPodObj +# 2083| Type = [VoidType] void # 2083| ValueCategory = prvalue -# 2084| getStmt(1): [ExprStmt] ExprStmt -# 2084| getExpr(): [AssignExpr] ... = ... -# 2084| Type = [IntType] int -# 2084| ValueCategory = lvalue -# 2084| getLValue(): [PointerDereferenceExpr] * ... -# 2084| Type = [IntType] int +# 2083| getElse(): [ConstructorCall] call to TernaryNonPodObj +# 2083| Type = [VoidType] void +# 2083| ValueCategory = prvalue +# 2083| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = prvalue(load) +# 2083| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = prvalue(load) +# 2083| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj +# 2083| Type = [VoidType] void +# 2083| ValueCategory = prvalue +# 2083| getQualifier(): [ReuseExpr] reuse of temporary object +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = xvalue +# 2083| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2083| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2083| ValueCategory = prvalue +# 2083| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2083| Conversion = [GlvalueConversion] glvalue conversion +# 2083| Type = [SpecifiedType] const TernaryNonPodObj +# 2083| ValueCategory = lvalue +# 2083| getExpr(): [TemporaryObjectExpr] temporary object +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = lvalue +# 2083| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2083| Type = [Struct] TernaryNonPodObj +# 2083| ValueCategory = lvalue +# 2084| getStmt(3): [ExprStmt] ExprStmt +# 2084| getExpr(): [FunctionCall] call to operator= +# 2084| Type = [LValueReferenceType] TernaryNonPodObj & +# 2084| ValueCategory = prvalue +# 2084| getQualifier(): [FunctionCall] call to operator= +# 2084| Type = [LValueReferenceType] TernaryNonPodObj & +# 2084| ValueCategory = prvalue +# 2084| getQualifier(): [VariableAccess] z +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getArgument(0): [ConditionalExpr] ... ? ... : ... +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getCondition(): [VariableAccess] a +# 2084| Type = [BoolType] bool +# 2084| ValueCategory = prvalue(load) +# 2084| getThen(): [VariableAccess] x +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getElse(): [VariableAccess] y +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2084| Type = [LValueReferenceType] const TernaryNonPodObj & +# 2084| ValueCategory = prvalue +# 2084| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2084| Conversion = [GlvalueConversion] glvalue conversion +# 2084| Type = [SpecifiedType] const TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getArgument(0): [ConstructorCall] call to TernaryNonPodObj +# 2084| Type = [VoidType] void +# 2084| ValueCategory = prvalue +# 2084| getImplicitDestructorCall(0): [DestructorCall] call to ~TernaryNonPodObj +# 2084| Type = [VoidType] void +# 2084| ValueCategory = prvalue +# 2084| getQualifier(): [ReuseExpr] reuse of temporary object +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = xvalue +# 2084| getQualifier().getFullyConverted(): [ParenthesisExpr] (...) +# 2084| Type = [Struct] TernaryNonPodObj # 2084| ValueCategory = lvalue -# 2084| getOperand(): [VariableAccess] x -# 2084| Type = [IntPointerType] int * -# 2084| ValueCategory = prvalue(load) -# 2084| getRValue(): [Literal] 6 -# 2084| Type = [IntType] int -# 2084| Value = [Literal] 6 +# 2084| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2084| Type = [LValueReferenceType] const TernaryNonPodObj & # 2084| ValueCategory = prvalue -# 2085| getStmt(2): [ExprStmt] ExprStmt -# 2085| getExpr(): [DeleteExpr] delete -# 2085| Type = [VoidType] void -# 2085| ValueCategory = prvalue -# 2085| getExprWithReuse(): [VariableAccess] x -# 2085| Type = [IntPointerType] int * -# 2085| ValueCategory = prvalue(load) -# 2086| getStmt(3): [ReturnStmt] return ... -# 2088| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) -# 2088| : +# 2084| getExpr(): [CStyleCast] (const TernaryNonPodObj)... +# 2084| Conversion = [GlvalueConversion] glvalue conversion +# 2084| Type = [SpecifiedType] const TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getExpr(): [TemporaryObjectExpr] temporary object +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2084| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2084| Type = [Struct] TernaryNonPodObj +# 2084| ValueCategory = lvalue +# 2085| getStmt(4): [ReturnStmt] return ... +# 2087| [TopLevelFunction] void CommaTestHelper(unsigned int) +# 2087| : +# 2087| getParameter(0): [Parameter] (unnamed parameter 0) +# 2087| Type = [IntType] unsigned int +# 2089| [TopLevelFunction] unsigned int CommaTest(unsigned int) +# 2089| : +# 2089| getParameter(0): [Parameter] x +# 2089| Type = [IntType] unsigned int +# 2089| getEntryPoint(): [BlockStmt] { ... } +# 2090| getStmt(0): [DeclStmt] declaration +# 2090| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2090| Type = [IntType] unsigned int +# 2091| getStmt(1): [ExprStmt] ExprStmt +# 2091| getExpr(): [AssignExpr] ... = ... +# 2091| Type = [IntType] unsigned int +# 2091| ValueCategory = lvalue +# 2091| getLValue(): [VariableAccess] y +# 2091| Type = [IntType] unsigned int +# 2091| ValueCategory = lvalue +# 2091| getRValue(): [ConditionalExpr] ... ? ... : ... +# 2091| Type = [IntType] unsigned int +# 2091| ValueCategory = prvalue(load) +# 2091| getCondition(): [LTExpr] ... < ... +# 2091| Type = [BoolType] bool +# 2091| ValueCategory = prvalue +# 2091| getLesserOperand(): [VariableAccess] x +# 2091| Type = [IntType] unsigned int +# 2091| ValueCategory = prvalue(load) +# 2091| getGreaterOperand(): [Literal] 100 +# 2091| Type = [IntType] int +# 2091| Value = [Literal] 100 +# 2091| ValueCategory = prvalue +# 2091| getGreaterOperand().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2091| Conversion = [IntegralConversion] integral conversion +# 2091| Type = [IntType] unsigned int +# 2091| Value = [CStyleCast] 100 +# 2091| ValueCategory = prvalue +# 2092| getThen(): [CommaExpr] ... , ... +# 2092| Type = [IntType] unsigned int +# 2092| ValueCategory = prvalue(load) +# 2092| getLeftOperand(): [FunctionCall] call to CommaTestHelper +# 2092| Type = [VoidType] void +# 2092| ValueCategory = prvalue +# 2092| getArgument(0): [VariableAccess] x +# 2092| Type = [IntType] unsigned int +# 2092| ValueCategory = prvalue(load) +# 2092| getRightOperand(): [VariableAccess] x +# 2092| Type = [IntType] unsigned int +# 2092| ValueCategory = prvalue(load) +# 2093| getElse(): [CommaExpr] ... , ... +# 2093| Type = [IntType] int +# 2093| ValueCategory = prvalue +# 2093| getLeftOperand(): [FunctionCall] call to CommaTestHelper +# 2093| Type = [VoidType] void +# 2093| ValueCategory = prvalue +# 2093| getArgument(0): [VariableAccess] x +# 2093| Type = [IntType] unsigned int +# 2093| ValueCategory = prvalue(load) +# 2093| getRightOperand(): [Literal] 10 +# 2093| Type = [IntType] int +# 2093| Value = [Literal] 10 +# 2093| ValueCategory = prvalue +# 2092| getThen().getFullyConverted(): [ParenthesisExpr] (...) +# 2092| Type = [IntType] unsigned int +# 2092| ValueCategory = prvalue(load) +# 2093| getElse().getFullyConverted(): [CStyleCast] (unsigned int)... +# 2093| Conversion = [IntegralConversion] integral conversion +# 2093| Type = [IntType] unsigned int +# 2093| ValueCategory = prvalue +# 2093| getExpr(): [ParenthesisExpr] (...) +# 2093| Type = [IntType] int +# 2093| ValueCategory = prvalue +# 2094| getStmt(2): [ReturnStmt] return ... +# 2096| [TopLevelFunction] void NewDeleteMem() +# 2096| : +# 2096| getEntryPoint(): [BlockStmt] { ... } +# 2097| getStmt(0): [DeclStmt] declaration +# 2097| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2097| Type = [IntPointerType] int * +# 2097| getVariable().getInitializer(): [Initializer] initializer for x +# 2097| getExpr(): [NewExpr] new +# 2097| Type = [IntPointerType] int * +# 2097| ValueCategory = prvalue +# 2098| getStmt(1): [ExprStmt] ExprStmt +# 2098| getExpr(): [AssignExpr] ... = ... +# 2098| Type = [IntType] int +# 2098| ValueCategory = lvalue +# 2098| getLValue(): [PointerDereferenceExpr] * ... +# 2098| Type = [IntType] int +# 2098| ValueCategory = lvalue +# 2098| getOperand(): [VariableAccess] x +# 2098| Type = [IntPointerType] int * +# 2098| ValueCategory = prvalue(load) +# 2098| getRValue(): [Literal] 6 +# 2098| Type = [IntType] int +# 2098| Value = [Literal] 6 +# 2098| ValueCategory = prvalue +# 2099| getStmt(2): [ExprStmt] ExprStmt +# 2099| getExpr(): [DeleteExpr] delete +# 2099| Type = [VoidType] void +# 2099| ValueCategory = prvalue +# 2099| getExprWithReuse(): [VariableAccess] x +# 2099| Type = [IntPointerType] int * +# 2099| ValueCategory = prvalue(load) +# 2100| getStmt(3): [ReturnStmt] return ... +# 2102| [CopyAssignmentOperator] Base2& Base2::operator=(Base2 const&) +# 2102| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Base2 & -# 2088| [Constructor] void Base2::Base2() -# 2088| : -# 2088| : -# 2088| getEntryPoint(): [BlockStmt] { ... } -# 2088| getStmt(0): [ReturnStmt] return ... -# 2088| [CopyConstructor] void Base2::Base2(Base2 const&) -# 2088| : +# 2102| [Constructor] void Base2::Base2() +# 2102| : +# 2102| : +# 2102| getEntryPoint(): [BlockStmt] { ... } +# 2102| getStmt(0): [ReturnStmt] return ... +# 2102| [CopyConstructor] void Base2::Base2(Base2 const&) +# 2102| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Base2 & -# 2090| [MemberFunction] void Base2::operator delete(void*) -# 2090| : -# 2090| getParameter(0): [Parameter] p -# 2090| Type = [VoidPointerType] void * -# 2090| getEntryPoint(): [BlockStmt] { ... } -# 2091| getStmt(0): [ReturnStmt] return ... -# 2092| [Destructor,VirtualFunction] void Base2::~Base2() -# 2092| : -# 2092| getEntryPoint(): [BlockStmt] { ... } -# 2092| getStmt(0): [ReturnStmt] return ... -# 2092| : -# 2095| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) -# 2095| : +# 2104| [MemberFunction] void Base2::operator delete(void*) +# 2104| : +# 2104| getParameter(0): [Parameter] p +# 2104| Type = [VoidPointerType] void * +# 2104| getEntryPoint(): [BlockStmt] { ... } +# 2105| getStmt(0): [ReturnStmt] return ... +# 2106| [Destructor,VirtualFunction] void Base2::~Base2() +# 2106| : +# 2106| getEntryPoint(): [BlockStmt] { ... } +# 2106| getStmt(0): [ReturnStmt] return ... +# 2106| : +# 2109| [CopyAssignmentOperator] Derived2& Derived2::operator=(Derived2 const&) +# 2109| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Derived2 & -# 2095| [Constructor] void Derived2::Derived2() -# 2095| : -# 2095| : -# 2095| getInitializer(0): [ConstructorDirectInit] call to Base2 -# 2095| Type = [VoidType] void -# 2095| ValueCategory = prvalue -# 2095| getEntryPoint(): [BlockStmt] { ... } -# 2095| getStmt(0): [ReturnStmt] return ... -# 2095| [CopyConstructor] void Derived2::Derived2(Derived2 const&) -# 2095| : +# 2109| [Constructor] void Derived2::Derived2() +# 2109| : +# 2109| : +# 2109| getInitializer(0): [ConstructorDirectInit] call to Base2 +# 2109| Type = [VoidType] void +# 2109| ValueCategory = prvalue +# 2109| getEntryPoint(): [BlockStmt] { ... } +# 2109| getStmt(0): [ReturnStmt] return ... +# 2109| [CopyConstructor] void Derived2::Derived2(Derived2 const&) +# 2109| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Derived2 & -# 2098| [Destructor,VirtualFunction] void Derived2::~Derived2() -# 2098| : -# 2098| getEntryPoint(): [BlockStmt] { ... } -# 2098| getStmt(0): [ReturnStmt] return ... -# 2098| : -# 2098| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 -# 2098| Type = [VoidType] void -# 2098| ValueCategory = prvalue -# 2100| [MemberFunction] void Derived2::operator delete(void*) -# 2100| : -# 2100| getParameter(0): [Parameter] p -# 2100| Type = [VoidPointerType] void * -# 2100| getEntryPoint(): [BlockStmt] { ... } -# 2101| getStmt(0): [ReturnStmt] return ... -# 2105| [TopLevelFunction] int virtual_delete() -# 2105| : -# 2106| getEntryPoint(): [BlockStmt] { ... } -# 2107| getStmt(0): [DeclStmt] declaration -# 2107| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 -# 2107| Type = [PointerType] Base2 * -# 2107| getVariable().getInitializer(): [Initializer] initializer for b1 -# 2107| getExpr(): [NewExpr] new -# 2107| Type = [PointerType] Base2 * -# 2107| ValueCategory = prvalue -# 2107| getInitializer(): [ConstructorCall] call to Base2 -# 2107| Type = [VoidType] void -# 2107| ValueCategory = prvalue -# 2108| getStmt(1): [ExprStmt] ExprStmt -# 2108| getExpr(): [DeleteExpr] delete -# 2108| Type = [VoidType] void -# 2108| ValueCategory = prvalue -# 2108| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2108| Type = [VoidType] void -# 2108| ValueCategory = prvalue -# 2108| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2108| Type = [VoidType] void -# 2108| ValueCategory = prvalue -# 2108| getQualifier(): [VariableAccess] b1 -# 2108| Type = [PointerType] Base2 * -# 2108| ValueCategory = prvalue(load) -# 2108| getExprWithReuse(): [ReuseExpr] reuse of b1 -# 2108| Type = [PointerType] Base2 * -# 2108| ValueCategory = prvalue -# 2110| getStmt(2): [DeclStmt] declaration -# 2110| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 -# 2110| Type = [PointerType] Base2 * -# 2110| getVariable().getInitializer(): [Initializer] initializer for b2 -# 2110| getExpr(): [NewExpr] new -# 2110| Type = [PointerType] Derived2 * -# 2110| ValueCategory = prvalue -# 2110| getInitializer(): [ConstructorCall] call to Derived2 -# 2110| Type = [VoidType] void -# 2110| ValueCategory = prvalue -# 2110| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... -# 2110| Conversion = [BaseClassConversion] base class conversion -# 2110| Type = [PointerType] Base2 * -# 2110| ValueCategory = prvalue -# 2111| getStmt(3): [ExprStmt] ExprStmt -# 2111| getExpr(): [DeleteExpr] delete -# 2111| Type = [VoidType] void -# 2111| ValueCategory = prvalue -# 2111| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2111| Type = [VoidType] void -# 2111| ValueCategory = prvalue -# 2111| getDestructorCall(): [DestructorCall] call to ~Base2 -# 2111| Type = [VoidType] void -# 2111| ValueCategory = prvalue -# 2111| getQualifier(): [VariableAccess] b2 -# 2111| Type = [PointerType] Base2 * -# 2111| ValueCategory = prvalue(load) -# 2111| getExprWithReuse(): [ReuseExpr] reuse of b2 -# 2111| Type = [PointerType] Base2 * -# 2111| ValueCategory = prvalue -# 2113| getStmt(4): [DeclStmt] declaration -# 2113| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2113| Type = [PointerType] Derived2 * -# 2113| getVariable().getInitializer(): [Initializer] initializer for d -# 2113| getExpr(): [NewExpr] new -# 2113| Type = [PointerType] Derived2 * -# 2113| ValueCategory = prvalue -# 2113| getInitializer(): [ConstructorCall] call to Derived2 -# 2113| Type = [VoidType] void -# 2113| ValueCategory = prvalue -# 2114| getStmt(5): [ExprStmt] ExprStmt -# 2114| getExpr(): [DeleteExpr] delete -# 2114| Type = [VoidType] void -# 2114| ValueCategory = prvalue -# 2114| getDeallocatorCall(): [FunctionCall] call to operator delete -# 2114| Type = [VoidType] void -# 2114| ValueCategory = prvalue -# 2114| getDestructorCall(): [DestructorCall] call to ~Derived2 -# 2114| Type = [VoidType] void -# 2114| ValueCategory = prvalue -# 2114| getQualifier(): [VariableAccess] d -# 2114| Type = [PointerType] Derived2 * -# 2114| ValueCategory = prvalue(load) -# 2114| getExprWithReuse(): [ReuseExpr] reuse of d -# 2114| Type = [PointerType] Derived2 * -# 2114| ValueCategory = prvalue -# 2115| getStmt(6): [ReturnStmt] return ... -# 2117| [TopLevelFunction] void test_constant_folding_use(int) -# 2117| : -# 2117| getParameter(0): [Parameter] (unnamed parameter 0) -# 2117| Type = [IntType] int -# 2119| [TopLevelFunction] void test_constant_folding() +# 2112| [Destructor,VirtualFunction] void Derived2::~Derived2() +# 2112| : +# 2112| getEntryPoint(): [BlockStmt] { ... } +# 2112| getStmt(0): [ReturnStmt] return ... +# 2112| : +# 2112| getDestruction(0): [DestructorDirectDestruction] call to ~Base2 +# 2112| Type = [VoidType] void +# 2112| ValueCategory = prvalue +# 2114| [MemberFunction] void Derived2::operator delete(void*) +# 2114| : +# 2114| getParameter(0): [Parameter] p +# 2114| Type = [VoidPointerType] void * +# 2114| getEntryPoint(): [BlockStmt] { ... } +# 2115| getStmt(0): [ReturnStmt] return ... +# 2119| [TopLevelFunction] int virtual_delete() # 2119| : -# 2119| getEntryPoint(): [BlockStmt] { ... } -# 2120| getStmt(0): [DeclStmt] declaration -# 2120| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2120| Type = [SpecifiedType] const int -# 2120| getVariable().getInitializer(): [Initializer] initializer for x -# 2120| getExpr(): [Literal] 116 -# 2120| Type = [IntType] int -# 2120| Value = [Literal] 116 -# 2120| ValueCategory = prvalue -# 2121| getStmt(1): [ExprStmt] ExprStmt -# 2121| getExpr(): [FunctionCall] call to test_constant_folding_use -# 2121| Type = [VoidType] void -# 2121| ValueCategory = prvalue -# 2121| getArgument(0): [VariableAccess] x -# 2121| Type = [IntType] int -# 2121| Value = [VariableAccess] 116 -# 2121| ValueCategory = prvalue(load) -# 2122| getStmt(2): [ReturnStmt] return ... -# 2124| [TopLevelFunction] void exit(int) -# 2124| : -# 2124| getParameter(0): [Parameter] code -# 2124| Type = [IntType] int -# 2126| [TopLevelFunction] int NonExit() -# 2126| : -# 2126| getEntryPoint(): [BlockStmt] { ... } -# 2127| getStmt(0): [DeclStmt] declaration -# 2127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2127| Type = [IntType] int -# 2127| getVariable().getInitializer(): [Initializer] initializer for x -# 2127| getExpr(): [FunctionCall] call to Add -# 2127| Type = [IntType] int +# 2120| getEntryPoint(): [BlockStmt] { ... } +# 2121| getStmt(0): [DeclStmt] declaration +# 2121| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b1 +# 2121| Type = [PointerType] Base2 * +# 2121| getVariable().getInitializer(): [Initializer] initializer for b1 +# 2121| getExpr(): [NewExpr] new +# 2121| Type = [PointerType] Base2 * +# 2121| ValueCategory = prvalue +# 2121| getInitializer(): [ConstructorCall] call to Base2 +# 2121| Type = [VoidType] void +# 2121| ValueCategory = prvalue +# 2122| getStmt(1): [ExprStmt] ExprStmt +# 2122| getExpr(): [DeleteExpr] delete +# 2122| Type = [VoidType] void +# 2122| ValueCategory = prvalue +# 2122| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2122| Type = [VoidType] void +# 2122| ValueCategory = prvalue +# 2122| getDestructorCall(): [DestructorCall] call to ~Base2 +# 2122| Type = [VoidType] void +# 2122| ValueCategory = prvalue +# 2122| getQualifier(): [VariableAccess] b1 +# 2122| Type = [PointerType] Base2 * +# 2122| ValueCategory = prvalue(load) +# 2122| getExprWithReuse(): [ReuseExpr] reuse of b1 +# 2122| Type = [PointerType] Base2 * +# 2122| ValueCategory = prvalue +# 2124| getStmt(2): [DeclStmt] declaration +# 2124| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b2 +# 2124| Type = [PointerType] Base2 * +# 2124| getVariable().getInitializer(): [Initializer] initializer for b2 +# 2124| getExpr(): [NewExpr] new +# 2124| Type = [PointerType] Derived2 * +# 2124| ValueCategory = prvalue +# 2124| getInitializer(): [ConstructorCall] call to Derived2 +# 2124| Type = [VoidType] void +# 2124| ValueCategory = prvalue +# 2124| getExpr().getFullyConverted(): [CStyleCast] (Base2 *)... +# 2124| Conversion = [BaseClassConversion] base class conversion +# 2124| Type = [PointerType] Base2 * +# 2124| ValueCategory = prvalue +# 2125| getStmt(3): [ExprStmt] ExprStmt +# 2125| getExpr(): [DeleteExpr] delete +# 2125| Type = [VoidType] void +# 2125| ValueCategory = prvalue +# 2125| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2125| Type = [VoidType] void +# 2125| ValueCategory = prvalue +# 2125| getDestructorCall(): [DestructorCall] call to ~Base2 +# 2125| Type = [VoidType] void +# 2125| ValueCategory = prvalue +# 2125| getQualifier(): [VariableAccess] b2 +# 2125| Type = [PointerType] Base2 * +# 2125| ValueCategory = prvalue(load) +# 2125| getExprWithReuse(): [ReuseExpr] reuse of b2 +# 2125| Type = [PointerType] Base2 * +# 2125| ValueCategory = prvalue +# 2127| getStmt(4): [DeclStmt] declaration +# 2127| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2127| Type = [PointerType] Derived2 * +# 2127| getVariable().getInitializer(): [Initializer] initializer for d +# 2127| getExpr(): [NewExpr] new +# 2127| Type = [PointerType] Derived2 * # 2127| ValueCategory = prvalue -# 2127| getArgument(0): [Literal] 3 -# 2127| Type = [IntType] int -# 2127| Value = [Literal] 3 -# 2127| ValueCategory = prvalue -# 2127| getArgument(1): [Literal] 4 -# 2127| Type = [IntType] int -# 2127| Value = [Literal] 4 +# 2127| getInitializer(): [ConstructorCall] call to Derived2 +# 2127| Type = [VoidType] void # 2127| ValueCategory = prvalue -# 2128| getStmt(1): [IfStmt] if (...) ... -# 2128| getCondition(): [EQExpr] ... == ... -# 2128| Type = [BoolType] bool +# 2128| getStmt(5): [ExprStmt] ExprStmt +# 2128| getExpr(): [DeleteExpr] delete +# 2128| Type = [VoidType] void # 2128| ValueCategory = prvalue -# 2128| getLeftOperand(): [VariableAccess] x -# 2128| Type = [IntType] int -# 2128| ValueCategory = prvalue(load) -# 2128| getRightOperand(): [Literal] 7 -# 2128| Type = [IntType] int -# 2128| Value = [Literal] 7 +# 2128| getDeallocatorCall(): [FunctionCall] call to operator delete +# 2128| Type = [VoidType] void # 2128| ValueCategory = prvalue -# 2129| getThen(): [ExprStmt] ExprStmt -# 2129| getExpr(): [FunctionCall] call to exit -# 2129| Type = [VoidType] void -# 2129| ValueCategory = prvalue -# 2129| getArgument(0): [Literal] 3 -# 2129| Type = [IntType] int -# 2129| Value = [Literal] 3 -# 2129| ValueCategory = prvalue -# 2130| getStmt(2): [ExprStmt] ExprStmt -# 2130| getExpr(): [FunctionCall] call to VoidFunc -# 2130| Type = [VoidType] void -# 2130| ValueCategory = prvalue -# 2131| getStmt(3): [ReturnStmt] return ... -# 2131| getExpr(): [VariableAccess] x -# 2131| Type = [IntType] int -# 2131| ValueCategory = prvalue(load) -# 2134| [TopLevelFunction] void CallsNonExit() -# 2134| : -# 2134| getEntryPoint(): [BlockStmt] { ... } -# 2135| getStmt(0): [ExprStmt] ExprStmt -# 2135| getExpr(): [FunctionCall] call to VoidFunc +# 2128| getDestructorCall(): [DestructorCall] call to ~Derived2 +# 2128| Type = [VoidType] void +# 2128| ValueCategory = prvalue +# 2128| getQualifier(): [VariableAccess] d +# 2128| Type = [PointerType] Derived2 * +# 2128| ValueCategory = prvalue(load) +# 2128| getExprWithReuse(): [ReuseExpr] reuse of d +# 2128| Type = [PointerType] Derived2 * +# 2128| ValueCategory = prvalue +# 2129| getStmt(6): [ReturnStmt] return ... +# 2131| [TopLevelFunction] void test_constant_folding_use(int) +# 2131| : +# 2131| getParameter(0): [Parameter] (unnamed parameter 0) +# 2131| Type = [IntType] int +# 2133| [TopLevelFunction] void test_constant_folding() +# 2133| : +# 2133| getEntryPoint(): [BlockStmt] { ... } +# 2134| getStmt(0): [DeclStmt] declaration +# 2134| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2134| Type = [SpecifiedType] const int +# 2134| getVariable().getInitializer(): [Initializer] initializer for x +# 2134| getExpr(): [Literal] 116 +# 2134| Type = [IntType] int +# 2134| Value = [Literal] 116 +# 2134| ValueCategory = prvalue +# 2135| getStmt(1): [ExprStmt] ExprStmt +# 2135| getExpr(): [FunctionCall] call to test_constant_folding_use # 2135| Type = [VoidType] void # 2135| ValueCategory = prvalue -# 2136| getStmt(1): [ExprStmt] ExprStmt -# 2136| getExpr(): [FunctionCall] call to exit -# 2136| Type = [VoidType] void -# 2136| ValueCategory = prvalue -# 2136| getArgument(0): [Literal] 3 -# 2136| Type = [IntType] int -# 2136| Value = [Literal] 3 -# 2136| ValueCategory = prvalue -# 2137| getStmt(2): [ReturnStmt] return ... -# 2139| [TopLevelFunction] int TransNonExit() -# 2139| : -# 2139| getEntryPoint(): [BlockStmt] { ... } -# 2140| getStmt(0): [DeclStmt] declaration -# 2140| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2140| Type = [IntType] int -# 2140| getVariable().getInitializer(): [Initializer] initializer for x -# 2140| getExpr(): [FunctionCall] call to Add -# 2140| Type = [IntType] int -# 2140| ValueCategory = prvalue -# 2140| getArgument(0): [Literal] 3 -# 2140| Type = [IntType] int -# 2140| Value = [Literal] 3 -# 2140| ValueCategory = prvalue -# 2140| getArgument(1): [Literal] 4 -# 2140| Type = [IntType] int -# 2140| Value = [Literal] 4 -# 2140| ValueCategory = prvalue -# 2141| getStmt(1): [IfStmt] if (...) ... -# 2141| getCondition(): [EQExpr] ... == ... -# 2141| Type = [BoolType] bool -# 2141| ValueCategory = prvalue -# 2141| getLeftOperand(): [VariableAccess] x -# 2141| Type = [IntType] int -# 2141| ValueCategory = prvalue(load) -# 2141| getRightOperand(): [Literal] 7 -# 2141| Type = [IntType] int -# 2141| Value = [Literal] 7 -# 2141| ValueCategory = prvalue -# 2142| getThen(): [ExprStmt] ExprStmt -# 2142| getExpr(): [FunctionCall] call to CallsNonExit -# 2142| Type = [VoidType] void +# 2135| getArgument(0): [VariableAccess] x +# 2135| Type = [IntType] int +# 2135| Value = [VariableAccess] 116 +# 2135| ValueCategory = prvalue(load) +# 2136| getStmt(2): [ReturnStmt] return ... +# 2138| [TopLevelFunction] void exit(int) +# 2138| : +# 2138| getParameter(0): [Parameter] code +# 2138| Type = [IntType] int +# 2140| [TopLevelFunction] int NonExit() +# 2140| : +# 2140| getEntryPoint(): [BlockStmt] { ... } +# 2141| getStmt(0): [DeclStmt] declaration +# 2141| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2141| Type = [IntType] int +# 2141| getVariable().getInitializer(): [Initializer] initializer for x +# 2141| getExpr(): [FunctionCall] call to Add +# 2141| Type = [IntType] int +# 2141| ValueCategory = prvalue +# 2141| getArgument(0): [Literal] 3 +# 2141| Type = [IntType] int +# 2141| Value = [Literal] 3 +# 2141| ValueCategory = prvalue +# 2141| getArgument(1): [Literal] 4 +# 2141| Type = [IntType] int +# 2141| Value = [Literal] 4 +# 2141| ValueCategory = prvalue +# 2142| getStmt(1): [IfStmt] if (...) ... +# 2142| getCondition(): [EQExpr] ... == ... +# 2142| Type = [BoolType] bool +# 2142| ValueCategory = prvalue +# 2142| getLeftOperand(): [VariableAccess] x +# 2142| Type = [IntType] int +# 2142| ValueCategory = prvalue(load) +# 2142| getRightOperand(): [Literal] 7 +# 2142| Type = [IntType] int +# 2142| Value = [Literal] 7 # 2142| ValueCategory = prvalue -# 2143| getStmt(2): [ExprStmt] ExprStmt -# 2143| getExpr(): [FunctionCall] call to VoidFunc -# 2143| Type = [VoidType] void -# 2143| ValueCategory = prvalue -# 2144| getStmt(3): [ReturnStmt] return ... -# 2144| getExpr(): [VariableAccess] x -# 2144| Type = [IntType] int -# 2144| ValueCategory = prvalue(load) -# 2147| [TopLevelFunction] void newArrayCorrectType(size_t) -# 2147| : -# 2147| getParameter(0): [Parameter] n -# 2147| Type = [CTypedefType,Size_t] size_t -# 2147| getEntryPoint(): [BlockStmt] { ... } -# 2148| getStmt(0): [ExprStmt] ExprStmt -# 2148| getExpr(): [NewArrayExpr] new[] -# 2148| Type = [IntPointerType] int * -# 2148| ValueCategory = prvalue -# 2148| getExtent(): [VariableAccess] n -# 2148| Type = [CTypedefType,Size_t] size_t -# 2148| ValueCategory = prvalue(load) -# 2149| getStmt(1): [ExprStmt] ExprStmt -# 2149| getExpr(): [NewArrayExpr] new[] -# 2149| Type = [IntPointerType] int * +# 2143| getThen(): [ExprStmt] ExprStmt +# 2143| getExpr(): [FunctionCall] call to exit +# 2143| Type = [VoidType] void +# 2143| ValueCategory = prvalue +# 2143| getArgument(0): [Literal] 3 +# 2143| Type = [IntType] int +# 2143| Value = [Literal] 3 +# 2143| ValueCategory = prvalue +# 2144| getStmt(2): [ExprStmt] ExprStmt +# 2144| getExpr(): [FunctionCall] call to VoidFunc +# 2144| Type = [VoidType] void +# 2144| ValueCategory = prvalue +# 2145| getStmt(3): [ReturnStmt] return ... +# 2145| getExpr(): [VariableAccess] x +# 2145| Type = [IntType] int +# 2145| ValueCategory = prvalue(load) +# 2148| [TopLevelFunction] void CallsNonExit() +# 2148| : +# 2148| getEntryPoint(): [BlockStmt] { ... } +# 2149| getStmt(0): [ExprStmt] ExprStmt +# 2149| getExpr(): [FunctionCall] call to VoidFunc +# 2149| Type = [VoidType] void # 2149| ValueCategory = prvalue -# 2149| getAllocatorCall(): [FunctionCall] call to operator new[] -# 2149| Type = [VoidPointerType] void * -# 2149| ValueCategory = prvalue -# 2149| getArgument(0): [ErrorExpr] -# 2149| Type = [LongType] unsigned long -# 2149| ValueCategory = prvalue -# 2149| getArgument(1): [Literal] 1.0 -# 2149| Type = [FloatType] float -# 2149| Value = [Literal] 1.0 -# 2149| ValueCategory = prvalue -# 2149| getExtent(): [VariableAccess] n -# 2149| Type = [CTypedefType,Size_t] size_t -# 2149| ValueCategory = prvalue(load) -# 2150| getStmt(2): [ExprStmt] ExprStmt -# 2150| getExpr(): [NewArrayExpr] new[] -# 2150| Type = [PointerType] String * +# 2150| getStmt(1): [ExprStmt] ExprStmt +# 2150| getExpr(): [FunctionCall] call to exit +# 2150| Type = [VoidType] void # 2150| ValueCategory = prvalue -# 2150| getInitializer(): [ArrayAggregateLiteral] {...} -# 2150| Type = [ArrayType] String[] +# 2150| getArgument(0): [Literal] 3 +# 2150| Type = [IntType] int +# 2150| Value = [Literal] 3 # 2150| ValueCategory = prvalue -# 2150| getAnElementExpr(0): [ConstructorCall] call to String -# 2150| Type = [VoidType] void -# 2150| ValueCategory = prvalue -# 2150| getExtent(): [VariableAccess] n -# 2150| Type = [CTypedefType,Size_t] size_t -# 2150| ValueCategory = prvalue(load) -# 2151| getStmt(3): [ExprStmt] ExprStmt -# 2151| getExpr(): [NewArrayExpr] new[] -# 2151| Type = [PointerType] Overaligned * -# 2151| ValueCategory = prvalue -# 2151| getExtent(): [VariableAccess] n -# 2151| Type = [CTypedefType,Size_t] size_t -# 2151| ValueCategory = prvalue(load) -# 2151| getAlignmentArgument(): [Literal] 128 -# 2151| Type = [ScopedEnum] align_val_t -# 2151| Value = [Literal] 128 -# 2151| ValueCategory = prvalue -# 2152| getStmt(4): [ExprStmt] ExprStmt -# 2152| getExpr(): [NewArrayExpr] new[] -# 2152| Type = [PointerType] DefaultCtorWithDefaultParam * -# 2152| ValueCategory = prvalue -# 2152| getInitializer(): [ArrayAggregateLiteral] {...} -# 2152| Type = [ArrayType] DefaultCtorWithDefaultParam[] -# 2152| ValueCategory = prvalue -# 2152| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam -# 2152| Type = [VoidType] void -# 2152| ValueCategory = prvalue -# 2152| getExtent(): [VariableAccess] n -# 2152| Type = [CTypedefType,Size_t] size_t -# 2152| ValueCategory = prvalue(load) -# 2153| getStmt(5): [ExprStmt] ExprStmt -# 2153| getExpr(): [NewArrayExpr] new[] -# 2153| Type = [IntPointerType] int * -# 2153| ValueCategory = prvalue -# 2153| getInitializer(): [ArrayAggregateLiteral] {...} -# 2153| Type = [ArrayType] int[3] -# 2153| ValueCategory = prvalue -# 2153| getAnElementExpr(0): [Literal] 0 -# 2153| Type = [IntType] int -# 2153| Value = [Literal] 0 -# 2153| ValueCategory = prvalue -# 2153| getAnElementExpr(1): [Literal] 1 -# 2153| Type = [IntType] int -# 2153| Value = [Literal] 1 -# 2153| ValueCategory = prvalue -# 2153| getAnElementExpr(2): [Literal] 2 -# 2153| Type = [IntType] int -# 2153| Value = [Literal] 2 -# 2153| ValueCategory = prvalue -# 2153| getExtent(): [VariableAccess] n -# 2153| Type = [CTypedefType,Size_t] size_t -# 2153| ValueCategory = prvalue(load) -# 2154| getStmt(6): [ReturnStmt] return ... -# 2156| [TopLevelFunction] double strtod(char const*, char**) -# 2156| : -# 2156| getParameter(0): [Parameter] str -# 2156| Type = [PointerType] const char * -# 2156| getParameter(1): [Parameter] endptr -# 2156| Type = [PointerType] char ** -# 2158| [TopLevelFunction] char* test_strtod(char*) -# 2158| : -# 2158| getParameter(0): [Parameter] s -# 2158| Type = [CharPointerType] char * -# 2158| getEntryPoint(): [BlockStmt] { ... } -# 2159| getStmt(0): [DeclStmt] declaration -# 2159| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end -# 2159| Type = [CharPointerType] char * -# 2160| getStmt(1): [DeclStmt] declaration -# 2160| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d -# 2160| Type = [DoubleType] double -# 2160| getVariable().getInitializer(): [Initializer] initializer for d -# 2160| getExpr(): [FunctionCall] call to strtod -# 2160| Type = [DoubleType] double -# 2160| ValueCategory = prvalue -# 2160| getArgument(0): [VariableAccess] s -# 2160| Type = [CharPointerType] char * -# 2160| ValueCategory = prvalue(load) -# 2160| getArgument(1): [AddressOfExpr] & ... -# 2160| Type = [PointerType] char ** -# 2160| ValueCategory = prvalue -# 2160| getOperand(): [VariableAccess] end -# 2160| Type = [CharPointerType] char * -# 2160| ValueCategory = lvalue -# 2160| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... -# 2160| Conversion = [PointerConversion] pointer conversion -# 2160| Type = [PointerType] const char * -# 2160| ValueCategory = prvalue -# 2161| getStmt(2): [ReturnStmt] return ... -# 2161| getExpr(): [VariableAccess] end -# 2161| Type = [CharPointerType] char * -# 2161| ValueCategory = prvalue(load) -# 2164| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) -# 2164| : +# 2151| getStmt(2): [ReturnStmt] return ... +# 2153| [TopLevelFunction] int TransNonExit() +# 2153| : +# 2153| getEntryPoint(): [BlockStmt] { ... } +# 2154| getStmt(0): [DeclStmt] declaration +# 2154| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2154| Type = [IntType] int +# 2154| getVariable().getInitializer(): [Initializer] initializer for x +# 2154| getExpr(): [FunctionCall] call to Add +# 2154| Type = [IntType] int +# 2154| ValueCategory = prvalue +# 2154| getArgument(0): [Literal] 3 +# 2154| Type = [IntType] int +# 2154| Value = [Literal] 3 +# 2154| ValueCategory = prvalue +# 2154| getArgument(1): [Literal] 4 +# 2154| Type = [IntType] int +# 2154| Value = [Literal] 4 +# 2154| ValueCategory = prvalue +# 2155| getStmt(1): [IfStmt] if (...) ... +# 2155| getCondition(): [EQExpr] ... == ... +# 2155| Type = [BoolType] bool +# 2155| ValueCategory = prvalue +# 2155| getLeftOperand(): [VariableAccess] x +# 2155| Type = [IntType] int +# 2155| ValueCategory = prvalue(load) +# 2155| getRightOperand(): [Literal] 7 +# 2155| Type = [IntType] int +# 2155| Value = [Literal] 7 +# 2155| ValueCategory = prvalue +# 2156| getThen(): [ExprStmt] ExprStmt +# 2156| getExpr(): [FunctionCall] call to CallsNonExit +# 2156| Type = [VoidType] void +# 2156| ValueCategory = prvalue +# 2157| getStmt(2): [ExprStmt] ExprStmt +# 2157| getExpr(): [FunctionCall] call to VoidFunc +# 2157| Type = [VoidType] void +# 2157| ValueCategory = prvalue +# 2158| getStmt(3): [ReturnStmt] return ... +# 2158| getExpr(): [VariableAccess] x +# 2158| Type = [IntType] int +# 2158| ValueCategory = prvalue(load) +# 2161| [TopLevelFunction] void newArrayCorrectType(size_t) +# 2161| : +# 2161| getParameter(0): [Parameter] n +# 2161| Type = [CTypedefType,Size_t] size_t +# 2161| getEntryPoint(): [BlockStmt] { ... } +# 2162| getStmt(0): [ExprStmt] ExprStmt +# 2162| getExpr(): [NewArrayExpr] new[] +# 2162| Type = [IntPointerType] int * +# 2162| ValueCategory = prvalue +# 2162| getExtent(): [VariableAccess] n +# 2162| Type = [CTypedefType,Size_t] size_t +# 2162| ValueCategory = prvalue(load) +# 2163| getStmt(1): [ExprStmt] ExprStmt +# 2163| getExpr(): [NewArrayExpr] new[] +# 2163| Type = [IntPointerType] int * +# 2163| ValueCategory = prvalue +# 2163| getAllocatorCall(): [FunctionCall] call to operator new[] +# 2163| Type = [VoidPointerType] void * +# 2163| ValueCategory = prvalue +# 2163| getArgument(0): [ErrorExpr] +# 2163| Type = [LongType] unsigned long +# 2163| ValueCategory = prvalue +# 2163| getArgument(1): [Literal] 1.0 +# 2163| Type = [FloatType] float +# 2163| Value = [Literal] 1.0 +# 2163| ValueCategory = prvalue +# 2163| getExtent(): [VariableAccess] n +# 2163| Type = [CTypedefType,Size_t] size_t +# 2163| ValueCategory = prvalue(load) +# 2164| getStmt(2): [ExprStmt] ExprStmt +# 2164| getExpr(): [NewArrayExpr] new[] +# 2164| Type = [PointerType] String * +# 2164| ValueCategory = prvalue +# 2164| getInitializer(): [ArrayAggregateLiteral] {...} +# 2164| Type = [ArrayType] String[] +# 2164| ValueCategory = prvalue +# 2164| getAnElementExpr(0): [ConstructorCall] call to String +# 2164| Type = [VoidType] void +# 2164| ValueCategory = prvalue +# 2164| getExtent(): [VariableAccess] n +# 2164| Type = [CTypedefType,Size_t] size_t +# 2164| ValueCategory = prvalue(load) +# 2165| getStmt(3): [ExprStmt] ExprStmt +# 2165| getExpr(): [NewArrayExpr] new[] +# 2165| Type = [PointerType] Overaligned * +# 2165| ValueCategory = prvalue +# 2165| getExtent(): [VariableAccess] n +# 2165| Type = [CTypedefType,Size_t] size_t +# 2165| ValueCategory = prvalue(load) +# 2165| getAlignmentArgument(): [Literal] 128 +# 2165| Type = [ScopedEnum] align_val_t +# 2165| Value = [Literal] 128 +# 2165| ValueCategory = prvalue +# 2166| getStmt(4): [ExprStmt] ExprStmt +# 2166| getExpr(): [NewArrayExpr] new[] +# 2166| Type = [PointerType] DefaultCtorWithDefaultParam * +# 2166| ValueCategory = prvalue +# 2166| getInitializer(): [ArrayAggregateLiteral] {...} +# 2166| Type = [ArrayType] DefaultCtorWithDefaultParam[] +# 2166| ValueCategory = prvalue +# 2166| getAnElementExpr(0): [ConstructorCall] call to DefaultCtorWithDefaultParam +# 2166| Type = [VoidType] void +# 2166| ValueCategory = prvalue +# 2166| getExtent(): [VariableAccess] n +# 2166| Type = [CTypedefType,Size_t] size_t +# 2166| ValueCategory = prvalue(load) +# 2167| getStmt(5): [ExprStmt] ExprStmt +# 2167| getExpr(): [NewArrayExpr] new[] +# 2167| Type = [IntPointerType] int * +# 2167| ValueCategory = prvalue +# 2167| getInitializer(): [ArrayAggregateLiteral] {...} +# 2167| Type = [ArrayType] int[3] +# 2167| ValueCategory = prvalue +# 2167| getAnElementExpr(0): [Literal] 0 +# 2167| Type = [IntType] int +# 2167| Value = [Literal] 0 +# 2167| ValueCategory = prvalue +# 2167| getAnElementExpr(1): [Literal] 1 +# 2167| Type = [IntType] int +# 2167| Value = [Literal] 1 +# 2167| ValueCategory = prvalue +# 2167| getAnElementExpr(2): [Literal] 2 +# 2167| Type = [IntType] int +# 2167| Value = [Literal] 2 +# 2167| ValueCategory = prvalue +# 2167| getExtent(): [VariableAccess] n +# 2167| Type = [CTypedefType,Size_t] size_t +# 2167| ValueCategory = prvalue(load) +# 2168| getStmt(6): [ReturnStmt] return ... +# 2170| [TopLevelFunction] double strtod(char const*, char**) +# 2170| : +# 2170| getParameter(0): [Parameter] str +# 2170| Type = [PointerType] const char * +# 2170| getParameter(1): [Parameter] endptr +# 2170| Type = [PointerType] char ** +# 2172| [TopLevelFunction] char* test_strtod(char*) +# 2172| : +# 2172| getParameter(0): [Parameter] s +# 2172| Type = [CharPointerType] char * +# 2172| getEntryPoint(): [BlockStmt] { ... } +# 2173| getStmt(0): [DeclStmt] declaration +# 2173| getDeclarationEntry(0): [VariableDeclarationEntry] definition of end +# 2173| Type = [CharPointerType] char * +# 2174| getStmt(1): [DeclStmt] declaration +# 2174| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d +# 2174| Type = [DoubleType] double +# 2174| getVariable().getInitializer(): [Initializer] initializer for d +# 2174| getExpr(): [FunctionCall] call to strtod +# 2174| Type = [DoubleType] double +# 2174| ValueCategory = prvalue +# 2174| getArgument(0): [VariableAccess] s +# 2174| Type = [CharPointerType] char * +# 2174| ValueCategory = prvalue(load) +# 2174| getArgument(1): [AddressOfExpr] & ... +# 2174| Type = [PointerType] char ** +# 2174| ValueCategory = prvalue +# 2174| getOperand(): [VariableAccess] end +# 2174| Type = [CharPointerType] char * +# 2174| ValueCategory = lvalue +# 2174| getArgument(0).getFullyConverted(): [CStyleCast] (const char *)... +# 2174| Conversion = [PointerConversion] pointer conversion +# 2174| Type = [PointerType] const char * +# 2174| ValueCategory = prvalue +# 2175| getStmt(2): [ReturnStmt] return ... +# 2175| getExpr(): [VariableAccess] end +# 2175| Type = [CharPointerType] char * +# 2175| ValueCategory = prvalue(load) +# 2178| [CopyAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool const&) +# 2178| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const HasOperatorBool & -# 2164| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) -# 2164| : +# 2178| [MoveAssignmentOperator] HasOperatorBool& HasOperatorBool::operator=(HasOperatorBool&&) +# 2178| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] HasOperatorBool && -# 2165| [ConversionOperator] bool HasOperatorBool::operator bool() -# 2165| : -# 2168| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() -# 2168| : -# 2168| getEntryPoint(): [BlockStmt] { ... } -# 2169| getStmt(0): [IfStmt] if (...) ... -# 2169| getCondition(): [ConditionDeclExpr] (condition decl) -# 2169| Type = [BoolType] bool -# 2169| ValueCategory = prvalue -# 2169| getChild(0): [FunctionCall] call to operator bool -# 2169| Type = [BoolType] bool -# 2169| ValueCategory = prvalue -# 2169| getQualifier(): [VariableAccess] b -# 2169| Type = [Struct] HasOperatorBool -# 2169| ValueCategory = prvalue(load) -# 2169| getInitializingExpr(): [Literal] 0 -# 2169| Type = [Struct] HasOperatorBool -# 2169| Value = [Literal] 0 -# 2169| ValueCategory = prvalue -# 2169| getThen(): [BlockStmt] { ... } -# 2170| getStmt(1): [ReturnStmt] return ... -# 2172| [CopyAssignmentOperator] ClassWithDestructor& ClassWithDestructor::operator=(ClassWithDestructor const&) -# 2172| : +# 2179| [ConversionOperator] bool HasOperatorBool::operator bool() +# 2179| : +# 2182| [TopLevelFunction] void call_as_child_of_ConditionDeclExpr() +# 2182| : +# 2182| getEntryPoint(): [BlockStmt] { ... } +# 2183| getStmt(0): [IfStmt] if (...) ... +# 2183| getCondition(): [ConditionDeclExpr] (condition decl) +# 2183| Type = [BoolType] bool +# 2183| ValueCategory = prvalue +# 2183| getChild(0): [FunctionCall] call to operator bool +# 2183| Type = [BoolType] bool +# 2183| ValueCategory = prvalue +# 2183| getQualifier(): [VariableAccess] b +# 2183| Type = [Struct] HasOperatorBool +# 2183| ValueCategory = prvalue(load) +# 2183| getInitializingExpr(): [Literal] 0 +# 2183| Type = [Struct] HasOperatorBool +# 2183| Value = [Literal] 0 +# 2183| ValueCategory = prvalue +# 2183| getThen(): [BlockStmt] { ... } +# 2184| getStmt(1): [ReturnStmt] return ... +# 2186| [CopyAssignmentOperator] ClassWithDestructor& ClassWithDestructor::operator=(ClassWithDestructor const&) +# 2186| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const ClassWithDestructor & -# 2172| [CopyConstructor] void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2172| : +# 2186| [CopyConstructor] void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2186| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const ClassWithDestructor & -# 2172| : -# 2172| getInitializer(0): [ConstructorFieldInit] constructor init of field x -# 2172| Type = [CharPointerType] char * -# 2172| ValueCategory = prvalue -# 2172| getExpr(): [ReferenceFieldAccess] x -# 2172| Type = [CharPointerType] char * -# 2172| ValueCategory = prvalue(load) -# 2172| getQualifier(): [VariableAccess] (unnamed parameter 0) -# 2172| Type = [LValueReferenceType] const ClassWithDestructor & -# 2172| ValueCategory = prvalue(load) -# 2172| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2172| Type = [SpecifiedType] const ClassWithDestructor -# 2172| ValueCategory = lvalue -# 2172| getEntryPoint(): [BlockStmt] { ... } -# 2172| getStmt(0): [ReturnStmt] return ... -# 2175| [Constructor] void ClassWithDestructor::ClassWithDestructor() -# 2175| : -# 2175| : -# 2175| getEntryPoint(): [BlockStmt] { ... } -# 2175| getStmt(0): [ExprStmt] ExprStmt -# 2175| getExpr(): [AssignExpr] ... = ... -# 2175| Type = [CharPointerType] char * -# 2175| ValueCategory = lvalue -# 2175| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2175| Type = [CharPointerType] char * -# 2175| ValueCategory = lvalue -# 2175| getQualifier(): [ThisExpr] this -# 2175| Type = [PointerType] ClassWithDestructor * -# 2175| ValueCategory = prvalue(load) -# 2175| getRValue(): [NewExpr] new -# 2175| Type = [CharPointerType] char * -# 2175| ValueCategory = prvalue -# 2175| getStmt(1): [ReturnStmt] return ... -# 2176| [Destructor] void ClassWithDestructor::~ClassWithDestructor() -# 2176| : -# 2176| getEntryPoint(): [BlockStmt] { ... } -# 2176| getStmt(0): [ExprStmt] ExprStmt -# 2176| getExpr(): [DeleteExpr] delete -# 2176| Type = [VoidType] void -# 2176| ValueCategory = prvalue -# 2176| getExprWithReuse(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2176| Type = [CharPointerType] char * -# 2176| ValueCategory = prvalue(load) -# 2176| getQualifier(): [ThisExpr] this -# 2176| Type = [PointerType] ClassWithDestructor * -# 2176| ValueCategory = prvalue(load) -# 2176| getStmt(1): [ReturnStmt] return ... -# 2176| : -# 2178| [MemberFunction] void ClassWithDestructor::set_x(char) -# 2178| : -# 2178| getParameter(0): [Parameter] y -# 2178| Type = [PlainCharType] char -# 2178| getEntryPoint(): [BlockStmt] { ... } -# 2178| getStmt(0): [ExprStmt] ExprStmt -# 2178| getExpr(): [AssignExpr] ... = ... -# 2178| Type = [PlainCharType] char -# 2178| ValueCategory = lvalue -# 2178| getLValue(): [PointerDereferenceExpr] * ... -# 2178| Type = [PlainCharType] char -# 2178| ValueCategory = lvalue -# 2178| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2178| Type = [CharPointerType] char * -# 2178| ValueCategory = prvalue(load) -# 2178| getQualifier(): [ThisExpr] this -# 2178| Type = [PointerType] ClassWithDestructor * -# 2178| ValueCategory = prvalue(load) -# 2178| getRValue(): [VariableAccess] y -# 2178| Type = [PlainCharType] char -# 2178| ValueCategory = prvalue(load) -# 2178| getStmt(1): [ReturnStmt] return ... -# 2179| [MemberFunction] char ClassWithDestructor::get_x() -# 2179| : -# 2179| getEntryPoint(): [BlockStmt] { ... } -# 2179| getStmt(0): [ReturnStmt] return ... -# 2179| getExpr(): [PointerDereferenceExpr] * ... -# 2179| Type = [PlainCharType] char -# 2179| ValueCategory = prvalue(load) -# 2179| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x -# 2179| Type = [CharPointerType] char * -# 2179| ValueCategory = prvalue(load) -# 2179| getQualifier(): [ThisExpr] this -# 2179| Type = [PointerType] ClassWithDestructor * -# 2179| ValueCategory = prvalue(load) -# 2182| [GlobalVariable] bool initialization_with_destructor_bool -# 2182| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool -# 2182| getExpr(): [Literal] 1 -# 2182| Type = [BoolType] bool -# 2182| Value = [Literal] 1 -# 2182| ValueCategory = prvalue -# 2184| [TopLevelFunction] void initialization_with_destructor(bool, char) -# 2184| : -# 2184| getParameter(0): [Parameter] b -# 2184| Type = [BoolType] bool -# 2184| getParameter(1): [Parameter] c -# 2184| Type = [PlainCharType] char -# 2184| getEntryPoint(): [BlockStmt] { ... } -# 2185| getStmt(0): [IfStmt] if (...) ... -# 2185| getInitialization(): [DeclStmt] declaration -# 2185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2185| Type = [Class] ClassWithDestructor -# 2185| getVariable().getInitializer(): [Initializer] initializer for x -# 2185| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2185| Type = [VoidType] void -# 2185| ValueCategory = prvalue -# 2185| getCondition(): [VariableAccess] b -# 2185| Type = [BoolType] bool -# 2185| ValueCategory = prvalue(load) -# 2186| getThen(): [ExprStmt] ExprStmt -# 2186| getExpr(): [FunctionCall] call to set_x -# 2186| Type = [VoidType] void -# 2186| ValueCategory = prvalue -# 2186| getQualifier(): [VariableAccess] x -# 2186| Type = [Class] ClassWithDestructor -# 2186| ValueCategory = lvalue -# 2186| getArgument(0): [CharLiteral] 97 -# 2186| Type = [PlainCharType] char -# 2186| Value = [CharLiteral] 97 -# 2186| ValueCategory = prvalue -# 2186| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2186| Type = [VoidType] void -# 2186| ValueCategory = prvalue -# 2186| getQualifier(): [VariableAccess] x -# 2186| Type = [Class] ClassWithDestructor +# 2186| : +# 2186| getInitializer(0): [ConstructorFieldInit] constructor init of field x +# 2186| Type = [CharPointerType] char * +# 2186| ValueCategory = prvalue +# 2186| getExpr(): [ReferenceFieldAccess] x +# 2186| Type = [CharPointerType] char * +# 2186| ValueCategory = prvalue(load) +# 2186| getQualifier(): [VariableAccess] (unnamed parameter 0) +# 2186| Type = [LValueReferenceType] const ClassWithDestructor & +# 2186| ValueCategory = prvalue(load) +# 2186| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2186| Type = [SpecifiedType] const ClassWithDestructor # 2186| ValueCategory = lvalue -# 2188| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... -# 2188| getInitialization(): [DeclStmt] declaration -# 2188| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2188| Type = [Class] ClassWithDestructor -# 2188| getVariable().getInitializer(): [Initializer] initializer for x -# 2188| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2188| Type = [VoidType] void -# 2188| ValueCategory = prvalue -# 2188| getCondition(): [VariableAccess] initialization_with_destructor_bool -# 2188| Type = [BoolType] bool -# 2188| Value = [VariableAccess] 1 -# 2188| ValueCategory = prvalue(load) -# 2189| getThen(): [ExprStmt] ExprStmt -# 2189| getExpr(): [FunctionCall] call to set_x -# 2189| Type = [VoidType] void -# 2189| ValueCategory = prvalue -# 2189| getQualifier(): [VariableAccess] x -# 2189| Type = [Class] ClassWithDestructor -# 2189| ValueCategory = lvalue -# 2189| getArgument(0): [CharLiteral] 97 -# 2189| Type = [PlainCharType] char -# 2189| Value = [CharLiteral] 97 -# 2189| ValueCategory = prvalue -# 2189| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2189| Type = [VoidType] void -# 2189| ValueCategory = prvalue -# 2189| getQualifier(): [VariableAccess] x -# 2189| Type = [Class] ClassWithDestructor +# 2186| getEntryPoint(): [BlockStmt] { ... } +# 2186| getStmt(0): [ReturnStmt] return ... +# 2189| [Constructor] void ClassWithDestructor::ClassWithDestructor() +# 2189| : +# 2189| : +# 2189| getEntryPoint(): [BlockStmt] { ... } +# 2189| getStmt(0): [ExprStmt] ExprStmt +# 2189| getExpr(): [AssignExpr] ... = ... +# 2189| Type = [CharPointerType] char * +# 2189| ValueCategory = lvalue +# 2189| getLValue(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2189| Type = [CharPointerType] char * # 2189| ValueCategory = lvalue -# 2191| getStmt(2): [SwitchStmt] switch (...) ... -# 2191| getInitialization(): [DeclStmt] declaration -# 2191| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2191| Type = [Class] ClassWithDestructor -# 2191| getVariable().getInitializer(): [Initializer] initializer for x -# 2191| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2191| Type = [VoidType] void -# 2191| ValueCategory = prvalue -# 2191| getExpr(): [VariableAccess] c -# 2191| Type = [PlainCharType] char -# 2191| ValueCategory = prvalue(load) -# 2191| getStmt(): [BlockStmt] { ... } -# 2192| getStmt(0): [SwitchCase] case ...: -# 2192| getExpr(): [CharLiteral] 97 -# 2192| Type = [PlainCharType] char -# 2192| Value = [CharLiteral] 97 -# 2192| ValueCategory = prvalue -# 2192| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2192| Conversion = [IntegralConversion] integral conversion -# 2192| Type = [IntType] int -# 2192| Value = [CStyleCast] 97 -# 2192| ValueCategory = prvalue -# 2193| getStmt(1): [ExprStmt] ExprStmt -# 2193| getExpr(): [FunctionCall] call to set_x -# 2193| Type = [VoidType] void -# 2193| ValueCategory = prvalue -# 2193| getQualifier(): [VariableAccess] x -# 2193| Type = [Class] ClassWithDestructor -# 2193| ValueCategory = lvalue -# 2193| getArgument(0): [CharLiteral] 97 -# 2193| Type = [PlainCharType] char -# 2193| Value = [CharLiteral] 97 -# 2193| ValueCategory = prvalue -# 2194| getStmt(2): [BreakStmt] break; -# 2195| getStmt(3): [SwitchCase] default: -# 2196| getStmt(4): [ExprStmt] ExprStmt -# 2196| getExpr(): [FunctionCall] call to set_x -# 2196| Type = [VoidType] void -# 2196| ValueCategory = prvalue -# 2196| getQualifier(): [VariableAccess] x -# 2196| Type = [Class] ClassWithDestructor -# 2196| ValueCategory = lvalue -# 2196| getArgument(0): [CharLiteral] 98 -# 2196| Type = [PlainCharType] char -# 2196| Value = [CharLiteral] 98 -# 2196| ValueCategory = prvalue -# 2197| getStmt(5): [BreakStmt] break; -# 2198| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2198| Type = [VoidType] void -# 2198| ValueCategory = prvalue -# 2198| getQualifier(): [VariableAccess] x -# 2198| Type = [Class] ClassWithDestructor -# 2198| ValueCategory = lvalue -# 2191| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2191| Conversion = [IntegralConversion] integral conversion -# 2191| Type = [IntType] int -# 2191| ValueCategory = prvalue -# 2198| getStmt(3): [LabelStmt] label ...: -# 2200| getStmt(4): [DeclStmt] declaration -# 2200| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2200| Type = [Class] ClassWithDestructor -# 2200| getVariable().getInitializer(): [Initializer] initializer for x -# 2200| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2200| Type = [VoidType] void +# 2189| getQualifier(): [ThisExpr] this +# 2189| Type = [PointerType] ClassWithDestructor * +# 2189| ValueCategory = prvalue(load) +# 2189| getRValue(): [NewExpr] new +# 2189| Type = [CharPointerType] char * +# 2189| ValueCategory = prvalue +# 2189| getStmt(1): [ReturnStmt] return ... +# 2190| [Destructor] void ClassWithDestructor::~ClassWithDestructor() +# 2190| : +# 2190| getEntryPoint(): [BlockStmt] { ... } +# 2190| getStmt(0): [ExprStmt] ExprStmt +# 2190| getExpr(): [DeleteExpr] delete +# 2190| Type = [VoidType] void +# 2190| ValueCategory = prvalue +# 2190| getExprWithReuse(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2190| Type = [CharPointerType] char * +# 2190| ValueCategory = prvalue(load) +# 2190| getQualifier(): [ThisExpr] this +# 2190| Type = [PointerType] ClassWithDestructor * +# 2190| ValueCategory = prvalue(load) +# 2190| getStmt(1): [ReturnStmt] return ... +# 2190| : +# 2192| [MemberFunction] void ClassWithDestructor::set_x(char) +# 2192| : +# 2192| getParameter(0): [Parameter] y +# 2192| Type = [PlainCharType] char +# 2192| getEntryPoint(): [BlockStmt] { ... } +# 2192| getStmt(0): [ExprStmt] ExprStmt +# 2192| getExpr(): [AssignExpr] ... = ... +# 2192| Type = [PlainCharType] char +# 2192| ValueCategory = lvalue +# 2192| getLValue(): [PointerDereferenceExpr] * ... +# 2192| Type = [PlainCharType] char +# 2192| ValueCategory = lvalue +# 2192| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2192| Type = [CharPointerType] char * +# 2192| ValueCategory = prvalue(load) +# 2192| getQualifier(): [ThisExpr] this +# 2192| Type = [PointerType] ClassWithDestructor * +# 2192| ValueCategory = prvalue(load) +# 2192| getRValue(): [VariableAccess] y +# 2192| Type = [PlainCharType] char +# 2192| ValueCategory = prvalue(load) +# 2192| getStmt(1): [ReturnStmt] return ... +# 2193| [MemberFunction] char ClassWithDestructor::get_x() +# 2193| : +# 2193| getEntryPoint(): [BlockStmt] { ... } +# 2193| getStmt(0): [ReturnStmt] return ... +# 2193| getExpr(): [PointerDereferenceExpr] * ... +# 2193| Type = [PlainCharType] char +# 2193| ValueCategory = prvalue(load) +# 2193| getOperand(): [ImplicitThisFieldAccess,PointerFieldAccess] x +# 2193| Type = [CharPointerType] char * +# 2193| ValueCategory = prvalue(load) +# 2193| getQualifier(): [ThisExpr] this +# 2193| Type = [PointerType] ClassWithDestructor * +# 2193| ValueCategory = prvalue(load) +# 2196| [GlobalVariable] bool initialization_with_destructor_bool +# 2196| getInitializer(): [Initializer] initializer for initialization_with_destructor_bool +# 2196| getExpr(): [Literal] 1 +# 2196| Type = [BoolType] bool +# 2196| Value = [Literal] 1 +# 2196| ValueCategory = prvalue +# 2198| [TopLevelFunction] void initialization_with_destructor(bool, char) +# 2198| : +# 2198| getParameter(0): [Parameter] b +# 2198| Type = [BoolType] bool +# 2198| getParameter(1): [Parameter] c +# 2198| Type = [PlainCharType] char +# 2198| getEntryPoint(): [BlockStmt] { ... } +# 2199| getStmt(0): [IfStmt] if (...) ... +# 2199| getInitialization(): [DeclStmt] declaration +# 2199| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2199| Type = [Class] ClassWithDestructor +# 2199| getVariable().getInitializer(): [Initializer] initializer for x +# 2199| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2199| Type = [VoidType] void +# 2199| ValueCategory = prvalue +# 2199| getCondition(): [VariableAccess] b +# 2199| Type = [BoolType] bool +# 2199| ValueCategory = prvalue(load) +# 2200| getThen(): [ExprStmt] ExprStmt +# 2200| getExpr(): [FunctionCall] call to set_x +# 2200| Type = [VoidType] void +# 2200| ValueCategory = prvalue +# 2200| getQualifier(): [VariableAccess] x +# 2200| Type = [Class] ClassWithDestructor +# 2200| ValueCategory = lvalue +# 2200| getArgument(0): [CharLiteral] 97 +# 2200| Type = [PlainCharType] char +# 2200| Value = [CharLiteral] 97 # 2200| ValueCategory = prvalue -# 2201| getStmt(5): [RangeBasedForStmt] for(...:...) ... -# 2201| getInitialization(): [DeclStmt] declaration -# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2201| Type = [ClassTemplateInstantiation,Struct] vector -# 2201| getVariable().getInitializer(): [Initializer] initializer for ys -# 2201| getExpr(): [ConstructorCall] call to vector -# 2201| Type = [VoidType] void -# 2201| ValueCategory = prvalue -# 2201| getArgument(0): [VariableAccess] x -# 2201| Type = [Class] ClassWithDestructor -# 2201| ValueCategory = prvalue(load) -# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2201| Type = [VoidType] void -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [ReuseExpr] reuse of temporary object -# 2201| Type = [Class] ClassWithDestructor -# 2201| ValueCategory = xvalue -# 2201| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2201| Type = [Class] ClassWithDestructor -# 2201| ValueCategory = lvalue -# 2201| getChild(1): [DeclStmt] declaration -# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2201| Type = [LValueReferenceType] vector & +# 2200| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2200| Type = [VoidType] void +# 2200| ValueCategory = prvalue +# 2200| getQualifier(): [VariableAccess] x +# 2200| Type = [Class] ClassWithDestructor +# 2200| ValueCategory = lvalue +# 2202| getStmt(1): [ConstexprIfStmt] if constexpr (...) ... +# 2202| getInitialization(): [DeclStmt] declaration +# 2202| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2202| Type = [Class] ClassWithDestructor +# 2202| getVariable().getInitializer(): [Initializer] initializer for x +# 2202| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2202| Type = [VoidType] void +# 2202| ValueCategory = prvalue +# 2202| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2202| Type = [BoolType] bool +# 2202| Value = [VariableAccess] 1 +# 2202| ValueCategory = prvalue(load) +# 2203| getThen(): [ExprStmt] ExprStmt +# 2203| getExpr(): [FunctionCall] call to set_x +# 2203| Type = [VoidType] void +# 2203| ValueCategory = prvalue +# 2203| getQualifier(): [VariableAccess] x +# 2203| Type = [Class] ClassWithDestructor +# 2203| ValueCategory = lvalue +# 2203| getArgument(0): [CharLiteral] 97 +# 2203| Type = [PlainCharType] char +# 2203| Value = [CharLiteral] 97 +# 2203| ValueCategory = prvalue +# 2203| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2203| Type = [VoidType] void +# 2203| ValueCategory = prvalue +# 2203| getQualifier(): [VariableAccess] x +# 2203| Type = [Class] ClassWithDestructor +# 2203| ValueCategory = lvalue +# 2205| getStmt(2): [SwitchStmt] switch (...) ... +# 2205| getInitialization(): [DeclStmt] declaration +# 2205| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2205| Type = [Class] ClassWithDestructor +# 2205| getVariable().getInitializer(): [Initializer] initializer for x +# 2205| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2205| Type = [VoidType] void +# 2205| ValueCategory = prvalue +# 2205| getExpr(): [VariableAccess] c +# 2205| Type = [PlainCharType] char +# 2205| ValueCategory = prvalue(load) +# 2205| getStmt(): [BlockStmt] { ... } +# 2206| getStmt(0): [SwitchCase] case ...: +# 2206| getExpr(): [CharLiteral] 97 +# 2206| Type = [PlainCharType] char +# 2206| Value = [CharLiteral] 97 +# 2206| ValueCategory = prvalue +# 2206| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2206| Conversion = [IntegralConversion] integral conversion +# 2206| Type = [IntType] int +# 2206| Value = [CStyleCast] 97 +# 2206| ValueCategory = prvalue +# 2207| getStmt(1): [ExprStmt] ExprStmt +# 2207| getExpr(): [FunctionCall] call to set_x +# 2207| Type = [VoidType] void +# 2207| ValueCategory = prvalue +# 2207| getQualifier(): [VariableAccess] x +# 2207| Type = [Class] ClassWithDestructor +# 2207| ValueCategory = lvalue +# 2207| getArgument(0): [CharLiteral] 97 +# 2207| Type = [PlainCharType] char +# 2207| Value = [CharLiteral] 97 +# 2207| ValueCategory = prvalue +# 2208| getStmt(2): [BreakStmt] break; +# 2209| getStmt(3): [SwitchCase] default: +# 2210| getStmt(4): [ExprStmt] ExprStmt +# 2210| getExpr(): [FunctionCall] call to set_x +# 2210| Type = [VoidType] void +# 2210| ValueCategory = prvalue +# 2210| getQualifier(): [VariableAccess] x +# 2210| Type = [Class] ClassWithDestructor +# 2210| ValueCategory = lvalue +# 2210| getArgument(0): [CharLiteral] 98 +# 2210| Type = [PlainCharType] char +# 2210| Value = [CharLiteral] 98 +# 2210| ValueCategory = prvalue +# 2211| getStmt(5): [BreakStmt] break; +# 2212| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2212| Type = [VoidType] void +# 2212| ValueCategory = prvalue +# 2212| getQualifier(): [VariableAccess] x +# 2212| Type = [Class] ClassWithDestructor +# 2212| ValueCategory = lvalue +# 2205| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2205| Conversion = [IntegralConversion] integral conversion +# 2205| Type = [IntType] int +# 2205| ValueCategory = prvalue +# 2212| getStmt(3): [LabelStmt] label ...: +# 2214| getStmt(4): [DeclStmt] declaration +# 2214| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2214| Type = [Class] ClassWithDestructor +# 2214| getVariable().getInitializer(): [Initializer] initializer for x +# 2214| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2214| Type = [VoidType] void +# 2214| ValueCategory = prvalue +# 2215| getStmt(5): [RangeBasedForStmt] for(...:...) ... +# 2215| getInitialization(): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| getVariable().getInitializer(): [Initializer] initializer for ys +# 2215| getExpr(): [ConstructorCall] call to vector +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getArgument(0): [VariableAccess] x +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = prvalue(load) +# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [ReuseExpr] reuse of temporary object +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = xvalue +# 2215| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = lvalue +# 2215| getChild(1): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2215| Type = [LValueReferenceType] vector & #-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2201| getExpr(): [VariableAccess] ys -# 2201| Type = [ClassTemplateInstantiation,Struct] vector -# 2201| ValueCategory = lvalue -# 2201| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2201| Type = [LValueReferenceType] vector & -# 2201| ValueCategory = prvalue -# 2201| getBeginEndDeclaration(): [DeclStmt] declaration -# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| getExpr(): [VariableAccess] ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| ValueCategory = lvalue +# 2215| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue +# 2215| getBeginEndDeclaration(): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2201| getExpr(): [FunctionCall] call to begin -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] (__range) -# 2201| Type = [LValueReferenceType] vector & -# 2201| ValueCategory = prvalue(load) +# 2215| getExpr(): [FunctionCall] call to begin +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__range) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17414,15 +17462,15 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2201| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2201| getExpr(): [FunctionCall] call to end -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] (__range) -# 2201| Type = [LValueReferenceType] vector & -# 2201| ValueCategory = prvalue(load) +# 2215| getExpr(): [FunctionCall] call to end +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__range) +# 2215| Type = [LValueReferenceType] vector & +# 2215| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17430,18 +17478,18 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2201| getCondition(): [FunctionCall] call to operator!= -# 2201| Type = [BoolType] bool -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] (__begin) -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2201| ValueCategory = lvalue -# 2201| getArgument(0): [ConstructorCall] call to iterator -# 2201| Type = [VoidType] void -# 2201| ValueCategory = prvalue -# 2201| getArgument(0): [VariableAccess] (__end) -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2201| ValueCategory = lvalue +# 2215| getCondition(): [FunctionCall] call to operator!= +# 2215| Type = [BoolType] bool +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +# 2215| getArgument(0): [ConstructorCall] call to iterator +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getArgument(0): [VariableAccess] (__end) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue #-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] const iterator & #-----| ValueCategory = prvalue @@ -17456,95 +17504,95 @@ ir.cpp: #-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [ClassTemplateInstantiation,Struct] iterator #-----| ValueCategory = lvalue -# 2201| getUpdate(): [FunctionCall] call to operator++ -# 2201| Type = [LValueReferenceType] iterator & -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] (__begin) -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2201| ValueCategory = lvalue -# 2201| getChild(5): [DeclStmt] declaration -# 2201| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2201| Type = [Class] ClassWithDestructor -# 2201| getVariable().getInitializer(): [Initializer] initializer for y -# 2201| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2201| Type = [LValueReferenceType] ClassWithDestructor & -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] (__begin) -# 2201| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2201| ValueCategory = lvalue +# 2215| getUpdate(): [FunctionCall] call to operator++ +# 2215| Type = [LValueReferenceType] iterator & +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue +# 2215| getChild(5): [DeclStmt] declaration +# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2215| Type = [Class] ClassWithDestructor +# 2215| getVariable().getInitializer(): [Initializer] initializer for y +# 2215| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2215| Type = [LValueReferenceType] ClassWithDestructor & +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] (__begin) +# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2215| ValueCategory = lvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const iterator #-----| ValueCategory = lvalue -# 2201| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2201| Type = [Class] ClassWithDestructor -# 2201| ValueCategory = prvalue(load) -# 2202| getStmt(): [ExprStmt] ExprStmt -# 2202| getExpr(): [FunctionCall] call to set_x -# 2202| Type = [VoidType] void -# 2202| ValueCategory = prvalue -# 2202| getQualifier(): [VariableAccess] y -# 2202| Type = [Class] ClassWithDestructor -# 2202| ValueCategory = lvalue -# 2202| getArgument(0): [CharLiteral] 97 -# 2202| Type = [PlainCharType] char -# 2202| Value = [CharLiteral] 97 -# 2202| ValueCategory = prvalue -# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2201| Type = [VoidType] void -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] y -# 2201| Type = [Class] ClassWithDestructor -# 2201| ValueCategory = lvalue -# 2201| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2201| Type = [VoidType] void -# 2201| ValueCategory = prvalue -# 2201| getQualifier(): [VariableAccess] ys -# 2201| Type = [ClassTemplateInstantiation,Struct] vector -# 2201| ValueCategory = lvalue -# 2201| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2201| Type = [ClassTemplateInstantiation,Struct] iterator -# 2201| ValueCategory = lvalue -# 2204| getStmt(6): [RangeBasedForStmt] for(...:...) ... -# 2204| getInitialization(): [DeclStmt] declaration -# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2204| Type = [ClassTemplateInstantiation,Struct] vector -# 2204| getVariable().getInitializer(): [Initializer] initializer for ys -# 2204| getExpr(): [ConstructorCall] call to vector -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getArgument(0): [VariableAccess] x -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = prvalue(load) -# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [ReuseExpr] reuse of temporary object -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = xvalue -# 2204| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = lvalue -# 2204| getChild(1): [DeclStmt] declaration -# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2204| Type = [LValueReferenceType] vector & +# 2215| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = prvalue(load) +# 2216| getStmt(): [ExprStmt] ExprStmt +# 2216| getExpr(): [FunctionCall] call to set_x +# 2216| Type = [VoidType] void +# 2216| ValueCategory = prvalue +# 2216| getQualifier(): [VariableAccess] y +# 2216| Type = [Class] ClassWithDestructor +# 2216| ValueCategory = lvalue +# 2216| getArgument(0): [CharLiteral] 97 +# 2216| Type = [PlainCharType] char +# 2216| Value = [CharLiteral] 97 +# 2216| ValueCategory = prvalue +# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] y +# 2215| Type = [Class] ClassWithDestructor +# 2215| ValueCategory = lvalue +# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2215| Type = [VoidType] void +# 2215| ValueCategory = prvalue +# 2215| getQualifier(): [VariableAccess] ys +# 2215| Type = [ClassTemplateInstantiation,Struct] vector +# 2215| ValueCategory = lvalue +# 2215| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2215| Type = [ClassTemplateInstantiation,Struct] iterator +# 2215| ValueCategory = lvalue +# 2218| getStmt(6): [RangeBasedForStmt] for(...:...) ... +# 2218| getInitialization(): [DeclStmt] declaration +# 2218| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2218| Type = [ClassTemplateInstantiation,Struct] vector +# 2218| getVariable().getInitializer(): [Initializer] initializer for ys +# 2218| getExpr(): [ConstructorCall] call to vector +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getArgument(0): [VariableAccess] x +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = prvalue(load) +# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [ReuseExpr] reuse of temporary object +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = xvalue +# 2218| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2218| getChild(1): [DeclStmt] declaration +# 2218| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2218| Type = [LValueReferenceType] vector & #-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2204| getExpr(): [VariableAccess] ys -# 2204| Type = [ClassTemplateInstantiation,Struct] vector -# 2204| ValueCategory = lvalue -# 2204| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2204| Type = [LValueReferenceType] vector & -# 2204| ValueCategory = prvalue -# 2204| getBeginEndDeclaration(): [DeclStmt] declaration -# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| getExpr(): [VariableAccess] ys +# 2218| Type = [ClassTemplateInstantiation,Struct] vector +# 2218| ValueCategory = lvalue +# 2218| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2218| Type = [LValueReferenceType] vector & +# 2218| ValueCategory = prvalue +# 2218| getBeginEndDeclaration(): [DeclStmt] declaration +# 2218| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2204| getExpr(): [FunctionCall] call to begin -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] (__range) -# 2204| Type = [LValueReferenceType] vector & -# 2204| ValueCategory = prvalue(load) +# 2218| getExpr(): [FunctionCall] call to begin +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] (__range) +# 2218| Type = [LValueReferenceType] vector & +# 2218| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17552,15 +17600,15 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2204| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2204| getExpr(): [FunctionCall] call to end -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] (__range) -# 2204| Type = [LValueReferenceType] vector & -# 2204| ValueCategory = prvalue(load) +# 2218| getExpr(): [FunctionCall] call to end +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] (__range) +# 2218| Type = [LValueReferenceType] vector & +# 2218| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17568,18 +17616,18 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2204| getCondition(): [FunctionCall] call to operator!= -# 2204| Type = [BoolType] bool -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] (__begin) -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2204| ValueCategory = lvalue -# 2204| getArgument(0): [ConstructorCall] call to iterator -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getArgument(0): [VariableAccess] (__end) -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2204| ValueCategory = lvalue +# 2218| getCondition(): [FunctionCall] call to operator!= +# 2218| Type = [BoolType] bool +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] (__begin) +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| ValueCategory = lvalue +# 2218| getArgument(0): [ConstructorCall] call to iterator +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getArgument(0): [VariableAccess] (__end) +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| ValueCategory = lvalue #-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] const iterator & #-----| ValueCategory = prvalue @@ -17594,130 +17642,130 @@ ir.cpp: #-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [ClassTemplateInstantiation,Struct] iterator #-----| ValueCategory = lvalue -# 2204| getUpdate(): [FunctionCall] call to operator++ -# 2204| Type = [LValueReferenceType] iterator & -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] (__begin) -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2204| ValueCategory = lvalue -# 2204| getChild(5): [DeclStmt] declaration -# 2204| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2204| Type = [Class] ClassWithDestructor -# 2204| getVariable().getInitializer(): [Initializer] initializer for y -# 2204| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2204| Type = [LValueReferenceType] ClassWithDestructor & -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] (__begin) -# 2204| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2204| ValueCategory = lvalue +# 2218| getUpdate(): [FunctionCall] call to operator++ +# 2218| Type = [LValueReferenceType] iterator & +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] (__begin) +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| ValueCategory = lvalue +# 2218| getChild(5): [DeclStmt] declaration +# 2218| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2218| Type = [Class] ClassWithDestructor +# 2218| getVariable().getInitializer(): [Initializer] initializer for y +# 2218| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2218| Type = [LValueReferenceType] ClassWithDestructor & +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] (__begin) +# 2218| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2218| ValueCategory = lvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const iterator #-----| ValueCategory = lvalue -# 2204| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = prvalue(load) -# 2204| getStmt(): [BlockStmt] { ... } -# 2205| getStmt(0): [ExprStmt] ExprStmt -# 2205| getExpr(): [FunctionCall] call to set_x -# 2205| Type = [VoidType] void -# 2205| ValueCategory = prvalue -# 2205| getQualifier(): [VariableAccess] y -# 2205| Type = [Class] ClassWithDestructor -# 2205| ValueCategory = lvalue -# 2205| getArgument(0): [CharLiteral] 97 -# 2205| Type = [PlainCharType] char -# 2205| Value = [CharLiteral] 97 -# 2205| ValueCategory = prvalue -# 2206| getStmt(1): [IfStmt] if (...) ... -# 2206| getCondition(): [EQExpr] ... == ... -# 2206| Type = [BoolType] bool -# 2206| ValueCategory = prvalue -# 2206| getLeftOperand(): [FunctionCall] call to get_x -# 2206| Type = [PlainCharType] char -# 2206| ValueCategory = prvalue -# 2206| getQualifier(): [VariableAccess] y -# 2206| Type = [Class] ClassWithDestructor -# 2206| ValueCategory = lvalue -# 2206| getRightOperand(): [CharLiteral] 98 -# 2206| Type = [PlainCharType] char -# 2206| Value = [CharLiteral] 98 -# 2206| ValueCategory = prvalue -# 2206| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2206| Conversion = [IntegralConversion] integral conversion -# 2206| Type = [IntType] int -# 2206| ValueCategory = prvalue -# 2206| getRightOperand().getFullyConverted(): [CStyleCast] (int)... -# 2206| Conversion = [IntegralConversion] integral conversion -# 2206| Type = [IntType] int -# 2206| Value = [CStyleCast] 98 -# 2206| ValueCategory = prvalue -# 2207| getThen(): [ReturnStmt] return ... -# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] y -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = lvalue -# 2204| getImplicitDestructorCall(1): [DestructorCall] call to ~vector -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] ys -# 2204| Type = [ClassTemplateInstantiation,Struct] vector -# 2204| ValueCategory = lvalue -# 2219| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor -# 2219| Type = [VoidType] void +# 2218| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = prvalue(load) +# 2218| getStmt(): [BlockStmt] { ... } +# 2219| getStmt(0): [ExprStmt] ExprStmt +# 2219| getExpr(): [FunctionCall] call to set_x +# 2219| Type = [VoidType] void +# 2219| ValueCategory = prvalue +# 2219| getQualifier(): [VariableAccess] y +# 2219| Type = [Class] ClassWithDestructor +# 2219| ValueCategory = lvalue +# 2219| getArgument(0): [CharLiteral] 97 +# 2219| Type = [PlainCharType] char +# 2219| Value = [CharLiteral] 97 # 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] x -# 2219| Type = [Class] ClassWithDestructor -# 2219| ValueCategory = lvalue -# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] y -# 2204| Type = [Class] ClassWithDestructor -# 2204| ValueCategory = lvalue -# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2204| Type = [VoidType] void -# 2204| ValueCategory = prvalue -# 2204| getQualifier(): [VariableAccess] ys -# 2204| Type = [ClassTemplateInstantiation,Struct] vector -# 2204| ValueCategory = lvalue -# 2204| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2204| Type = [ClassTemplateInstantiation,Struct] iterator -# 2204| ValueCategory = lvalue -# 2210| getStmt(7): [RangeBasedForStmt] for(...:...) ... -# 2210| getInitialization(): [DeclStmt] declaration -# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2210| Type = [ClassTemplateInstantiation,Struct] vector -# 2210| getVariable().getInitializer(): [Initializer] initializer for ys -# 2210| getExpr(): [ConstructorCall] call to vector -# 2210| Type = [VoidType] void -# 2210| ValueCategory = prvalue -# 2210| getArgument(0): [Literal] 1 -# 2210| Type = [IntType] int -# 2210| Value = [Literal] 1 -# 2210| ValueCategory = prvalue -# 2210| getChild(1): [DeclStmt] declaration -# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2210| Type = [LValueReferenceType] vector & +# 2220| getStmt(1): [IfStmt] if (...) ... +# 2220| getCondition(): [EQExpr] ... == ... +# 2220| Type = [BoolType] bool +# 2220| ValueCategory = prvalue +# 2220| getLeftOperand(): [FunctionCall] call to get_x +# 2220| Type = [PlainCharType] char +# 2220| ValueCategory = prvalue +# 2220| getQualifier(): [VariableAccess] y +# 2220| Type = [Class] ClassWithDestructor +# 2220| ValueCategory = lvalue +# 2220| getRightOperand(): [CharLiteral] 98 +# 2220| Type = [PlainCharType] char +# 2220| Value = [CharLiteral] 98 +# 2220| ValueCategory = prvalue +# 2220| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2220| Conversion = [IntegralConversion] integral conversion +# 2220| Type = [IntType] int +# 2220| ValueCategory = prvalue +# 2220| getRightOperand().getFullyConverted(): [CStyleCast] (int)... +# 2220| Conversion = [IntegralConversion] integral conversion +# 2220| Type = [IntType] int +# 2220| Value = [CStyleCast] 98 +# 2220| ValueCategory = prvalue +# 2221| getThen(): [ReturnStmt] return ... +# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] y +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2218| getImplicitDestructorCall(1): [DestructorCall] call to ~vector +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] ys +# 2218| Type = [ClassTemplateInstantiation,Struct] vector +# 2218| ValueCategory = lvalue +# 2233| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor +# 2233| Type = [VoidType] void +# 2233| ValueCategory = prvalue +# 2233| getQualifier(): [VariableAccess] x +# 2233| Type = [Class] ClassWithDestructor +# 2233| ValueCategory = lvalue +# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] y +# 2218| Type = [Class] ClassWithDestructor +# 2218| ValueCategory = lvalue +# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2218| Type = [VoidType] void +# 2218| ValueCategory = prvalue +# 2218| getQualifier(): [VariableAccess] ys +# 2218| Type = [ClassTemplateInstantiation,Struct] vector +# 2218| ValueCategory = lvalue +# 2218| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2218| Type = [ClassTemplateInstantiation,Struct] iterator +# 2218| ValueCategory = lvalue +# 2224| getStmt(7): [RangeBasedForStmt] for(...:...) ... +# 2224| getInitialization(): [DeclStmt] declaration +# 2224| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2224| Type = [ClassTemplateInstantiation,Struct] vector +# 2224| getVariable().getInitializer(): [Initializer] initializer for ys +# 2224| getExpr(): [ConstructorCall] call to vector +# 2224| Type = [VoidType] void +# 2224| ValueCategory = prvalue +# 2224| getArgument(0): [Literal] 1 +# 2224| Type = [IntType] int +# 2224| Value = [Literal] 1 +# 2224| ValueCategory = prvalue +# 2224| getChild(1): [DeclStmt] declaration +# 2224| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2224| Type = [LValueReferenceType] vector & #-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2210| getExpr(): [VariableAccess] ys -# 2210| Type = [ClassTemplateInstantiation,Struct] vector -# 2210| ValueCategory = lvalue -# 2210| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2210| Type = [LValueReferenceType] vector & -# 2210| ValueCategory = prvalue -# 2210| getBeginEndDeclaration(): [DeclStmt] declaration -# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| getExpr(): [VariableAccess] ys +# 2224| Type = [ClassTemplateInstantiation,Struct] vector +# 2224| ValueCategory = lvalue +# 2224| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2224| Type = [LValueReferenceType] vector & +# 2224| ValueCategory = prvalue +# 2224| getBeginEndDeclaration(): [DeclStmt] declaration +# 2224| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2210| getExpr(): [FunctionCall] call to begin -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] (__range) -# 2210| Type = [LValueReferenceType] vector & -# 2210| ValueCategory = prvalue(load) +# 2224| getExpr(): [FunctionCall] call to begin +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] (__range) +# 2224| Type = [LValueReferenceType] vector & +# 2224| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17725,15 +17773,15 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2210| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2210| getExpr(): [FunctionCall] call to end -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] (__range) -# 2210| Type = [LValueReferenceType] vector & -# 2210| ValueCategory = prvalue(load) +# 2224| getExpr(): [FunctionCall] call to end +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] (__range) +# 2224| Type = [LValueReferenceType] vector & +# 2224| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17741,18 +17789,18 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2210| getCondition(): [FunctionCall] call to operator!= -# 2210| Type = [BoolType] bool -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] (__begin) -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2210| ValueCategory = lvalue -# 2210| getArgument(0): [ConstructorCall] call to iterator -# 2210| Type = [VoidType] void -# 2210| ValueCategory = prvalue -# 2210| getArgument(0): [VariableAccess] (__end) -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2210| ValueCategory = lvalue +# 2224| getCondition(): [FunctionCall] call to operator!= +# 2224| Type = [BoolType] bool +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] (__begin) +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| ValueCategory = lvalue +# 2224| getArgument(0): [ConstructorCall] call to iterator +# 2224| Type = [VoidType] void +# 2224| ValueCategory = prvalue +# 2224| getArgument(0): [VariableAccess] (__end) +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| ValueCategory = lvalue #-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] const iterator & #-----| ValueCategory = prvalue @@ -17767,103 +17815,103 @@ ir.cpp: #-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [ClassTemplateInstantiation,Struct] iterator #-----| ValueCategory = lvalue -# 2210| getUpdate(): [FunctionCall] call to operator++ -# 2210| Type = [LValueReferenceType] iterator & -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] (__begin) -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2210| ValueCategory = lvalue -# 2210| getChild(5): [DeclStmt] declaration -# 2210| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2210| Type = [IntType] int -# 2210| getVariable().getInitializer(): [Initializer] initializer for y -# 2210| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2210| Type = [LValueReferenceType] int & -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] (__begin) -# 2210| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2210| ValueCategory = lvalue +# 2224| getUpdate(): [FunctionCall] call to operator++ +# 2224| Type = [LValueReferenceType] iterator & +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] (__begin) +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| ValueCategory = lvalue +# 2224| getChild(5): [DeclStmt] declaration +# 2224| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2224| Type = [IntType] int +# 2224| getVariable().getInitializer(): [Initializer] initializer for y +# 2224| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2224| Type = [LValueReferenceType] int & +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] (__begin) +# 2224| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2224| ValueCategory = lvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const iterator #-----| ValueCategory = lvalue -# 2210| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2210| Type = [IntType] int -# 2210| ValueCategory = prvalue(load) -# 2210| getStmt(): [BlockStmt] { ... } -# 2211| getStmt(0): [IfStmt] if (...) ... -# 2211| getCondition(): [EQExpr] ... == ... -# 2211| Type = [BoolType] bool -# 2211| ValueCategory = prvalue -# 2211| getLeftOperand(): [VariableAccess] y -# 2211| Type = [IntType] int -# 2211| ValueCategory = prvalue(load) -# 2211| getRightOperand(): [Literal] 1 -# 2211| Type = [IntType] int -# 2211| Value = [Literal] 1 -# 2211| ValueCategory = prvalue -# 2212| getThen(): [ReturnStmt] return ... -# 2210| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2210| Type = [VoidType] void -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] ys -# 2210| Type = [ClassTemplateInstantiation,Struct] vector -# 2210| ValueCategory = lvalue -# 2219| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] x -# 2219| Type = [Class] ClassWithDestructor -# 2219| ValueCategory = lvalue -# 2210| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2210| Type = [VoidType] void -# 2210| ValueCategory = prvalue -# 2210| getQualifier(): [VariableAccess] ys -# 2210| Type = [ClassTemplateInstantiation,Struct] vector -# 2210| ValueCategory = lvalue -# 2210| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2210| Type = [ClassTemplateInstantiation,Struct] iterator -# 2210| ValueCategory = lvalue -# 2215| getStmt(8): [RangeBasedForStmt] for(...:...) ... -# 2215| getInitialization(): [DeclStmt] declaration -# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys -# 2215| Type = [ClassTemplateInstantiation,Struct] vector -# 2215| getVariable().getInitializer(): [Initializer] initializer for ys -# 2215| getExpr(): [ConstructorCall] call to vector -# 2215| Type = [VoidType] void -# 2215| ValueCategory = prvalue -# 2215| getArgument(0): [VariableAccess] x -# 2215| Type = [Class] ClassWithDestructor -# 2215| ValueCategory = prvalue(load) -# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2215| Type = [VoidType] void -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [ReuseExpr] reuse of temporary object -# 2215| Type = [Class] ClassWithDestructor -# 2215| ValueCategory = xvalue -# 2215| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2215| Type = [Class] ClassWithDestructor -# 2215| ValueCategory = lvalue -# 2215| getChild(1): [DeclStmt] declaration -# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2215| Type = [LValueReferenceType] vector & +# 2224| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2224| Type = [IntType] int +# 2224| ValueCategory = prvalue(load) +# 2224| getStmt(): [BlockStmt] { ... } +# 2225| getStmt(0): [IfStmt] if (...) ... +# 2225| getCondition(): [EQExpr] ... == ... +# 2225| Type = [BoolType] bool +# 2225| ValueCategory = prvalue +# 2225| getLeftOperand(): [VariableAccess] y +# 2225| Type = [IntType] int +# 2225| ValueCategory = prvalue(load) +# 2225| getRightOperand(): [Literal] 1 +# 2225| Type = [IntType] int +# 2225| Value = [Literal] 1 +# 2225| ValueCategory = prvalue +# 2226| getThen(): [ReturnStmt] return ... +# 2224| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2224| Type = [VoidType] void +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] ys +# 2224| Type = [ClassTemplateInstantiation,Struct] vector +# 2224| ValueCategory = lvalue +# 2233| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2233| Type = [VoidType] void +# 2233| ValueCategory = prvalue +# 2233| getQualifier(): [VariableAccess] x +# 2233| Type = [Class] ClassWithDestructor +# 2233| ValueCategory = lvalue +# 2224| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2224| Type = [VoidType] void +# 2224| ValueCategory = prvalue +# 2224| getQualifier(): [VariableAccess] ys +# 2224| Type = [ClassTemplateInstantiation,Struct] vector +# 2224| ValueCategory = lvalue +# 2224| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2224| Type = [ClassTemplateInstantiation,Struct] iterator +# 2224| ValueCategory = lvalue +# 2229| getStmt(8): [RangeBasedForStmt] for(...:...) ... +# 2229| getInitialization(): [DeclStmt] declaration +# 2229| getDeclarationEntry(0): [VariableDeclarationEntry] definition of ys +# 2229| Type = [ClassTemplateInstantiation,Struct] vector +# 2229| getVariable().getInitializer(): [Initializer] initializer for ys +# 2229| getExpr(): [ConstructorCall] call to vector +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getArgument(0): [VariableAccess] x +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = prvalue(load) +# 2229| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [ReuseExpr] reuse of temporary object +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = xvalue +# 2229| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = lvalue +# 2229| getChild(1): [DeclStmt] declaration +# 2229| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2229| Type = [LValueReferenceType] vector & #-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2215| getExpr(): [VariableAccess] ys -# 2215| Type = [ClassTemplateInstantiation,Struct] vector -# 2215| ValueCategory = lvalue -# 2215| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2215| Type = [LValueReferenceType] vector & -# 2215| ValueCategory = prvalue -# 2215| getBeginEndDeclaration(): [DeclStmt] declaration -# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| getExpr(): [VariableAccess] ys +# 2229| Type = [ClassTemplateInstantiation,Struct] vector +# 2229| ValueCategory = lvalue +# 2229| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2229| Type = [LValueReferenceType] vector & +# 2229| ValueCategory = prvalue +# 2229| getBeginEndDeclaration(): [DeclStmt] declaration +# 2229| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2215| getExpr(): [FunctionCall] call to begin -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] (__range) -# 2215| Type = [LValueReferenceType] vector & -# 2215| ValueCategory = prvalue(load) +# 2229| getExpr(): [FunctionCall] call to begin +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] (__range) +# 2229| Type = [LValueReferenceType] vector & +# 2229| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17871,15 +17919,15 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2215| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2215| getExpr(): [FunctionCall] call to end -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] (__range) -# 2215| Type = [LValueReferenceType] vector & -# 2215| ValueCategory = prvalue(load) +# 2229| getExpr(): [FunctionCall] call to end +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] (__range) +# 2229| Type = [LValueReferenceType] vector & +# 2229| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -17887,18 +17935,18 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2215| getCondition(): [FunctionCall] call to operator!= -# 2215| Type = [BoolType] bool -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] (__begin) -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2215| ValueCategory = lvalue -# 2215| getArgument(0): [ConstructorCall] call to iterator -# 2215| Type = [VoidType] void -# 2215| ValueCategory = prvalue -# 2215| getArgument(0): [VariableAccess] (__end) -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2215| ValueCategory = lvalue +# 2229| getCondition(): [FunctionCall] call to operator!= +# 2229| Type = [BoolType] bool +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] (__begin) +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| ValueCategory = lvalue +# 2229| getArgument(0): [ConstructorCall] call to iterator +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getArgument(0): [VariableAccess] (__end) +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| ValueCategory = lvalue #-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] const iterator & #-----| ValueCategory = prvalue @@ -17913,667 +17961,422 @@ ir.cpp: #-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [ClassTemplateInstantiation,Struct] iterator #-----| ValueCategory = lvalue -# 2215| getUpdate(): [FunctionCall] call to operator++ -# 2215| Type = [LValueReferenceType] iterator & -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] (__begin) -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2215| ValueCategory = lvalue -# 2215| getChild(5): [DeclStmt] declaration -# 2215| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2215| Type = [Class] ClassWithDestructor -# 2215| getVariable().getInitializer(): [Initializer] initializer for y -# 2215| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2215| Type = [LValueReferenceType] ClassWithDestructor & -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] (__begin) -# 2215| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2215| ValueCategory = lvalue +# 2229| getUpdate(): [FunctionCall] call to operator++ +# 2229| Type = [LValueReferenceType] iterator & +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] (__begin) +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| ValueCategory = lvalue +# 2229| getChild(5): [DeclStmt] declaration +# 2229| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2229| Type = [Class] ClassWithDestructor +# 2229| getVariable().getInitializer(): [Initializer] initializer for y +# 2229| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2229| Type = [LValueReferenceType] ClassWithDestructor & +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] (__begin) +# 2229| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2229| ValueCategory = lvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const iterator #-----| ValueCategory = lvalue -# 2215| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2215| Type = [Class] ClassWithDestructor -# 2215| ValueCategory = prvalue(load) -# 2215| getStmt(): [BlockStmt] { ... } -# 2216| getStmt(0): [DeclStmt] declaration -# 2216| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z1 -# 2216| Type = [Class] ClassWithDestructor -# 2216| getVariable().getInitializer(): [Initializer] initializer for z1 -# 2216| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2216| Type = [VoidType] void -# 2216| ValueCategory = prvalue -# 2217| getStmt(1): [DeclStmt] declaration -# 2217| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z2 -# 2217| Type = [Class] ClassWithDestructor -# 2217| getVariable().getInitializer(): [Initializer] initializer for z2 -# 2217| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2217| Type = [VoidType] void -# 2217| ValueCategory = prvalue -# 2218| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2218| Type = [VoidType] void -# 2218| ValueCategory = prvalue -# 2218| getQualifier(): [VariableAccess] z2 -# 2218| Type = [Class] ClassWithDestructor -# 2218| ValueCategory = lvalue -# 2218| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2218| Type = [VoidType] void -# 2218| ValueCategory = prvalue -# 2218| getQualifier(): [VariableAccess] z1 -# 2218| Type = [Class] ClassWithDestructor -# 2218| ValueCategory = lvalue -# 2215| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor -# 2215| Type = [VoidType] void -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] y -# 2215| Type = [Class] ClassWithDestructor -# 2215| ValueCategory = lvalue -# 2215| getImplicitDestructorCall(0): [DestructorCall] call to ~vector -# 2215| Type = [VoidType] void -# 2215| ValueCategory = prvalue -# 2215| getQualifier(): [VariableAccess] ys -# 2215| Type = [ClassTemplateInstantiation,Struct] vector -# 2215| ValueCategory = lvalue -# 2215| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2215| Type = [ClassTemplateInstantiation,Struct] iterator -# 2215| ValueCategory = lvalue -# 2219| getStmt(9): [ReturnStmt] return ... -# 2219| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2219| Type = [VoidType] void -# 2219| ValueCategory = prvalue -# 2219| getQualifier(): [VariableAccess] x -# 2219| Type = [Class] ClassWithDestructor -# 2219| ValueCategory = lvalue -# 2221| [TopLevelFunction] void static_variable_with_destructor_1() -# 2221| : -# 2221| getEntryPoint(): [BlockStmt] { ... } -# 2222| getStmt(0): [DeclStmt] declaration -# 2222| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2222| Type = [Class] ClassWithDestructor -# 2222| getVariable().getInitializer(): [Initializer] initializer for a -# 2222| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2222| Type = [VoidType] void -# 2222| ValueCategory = prvalue -# 2223| getStmt(1): [DeclStmt] declaration -# 2223| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2223| Type = [Class] ClassWithDestructor +# 2229| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = prvalue(load) +# 2229| getStmt(): [BlockStmt] { ... } +# 2230| getStmt(0): [DeclStmt] declaration +# 2230| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z1 +# 2230| Type = [Class] ClassWithDestructor +# 2230| getVariable().getInitializer(): [Initializer] initializer for z1 +# 2230| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2230| Type = [VoidType] void +# 2230| ValueCategory = prvalue +# 2231| getStmt(1): [DeclStmt] declaration +# 2231| getDeclarationEntry(0): [VariableDeclarationEntry] definition of z2 +# 2231| Type = [Class] ClassWithDestructor +# 2231| getVariable().getInitializer(): [Initializer] initializer for z2 +# 2231| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2231| Type = [VoidType] void +# 2231| ValueCategory = prvalue +# 2232| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2232| Type = [VoidType] void +# 2232| ValueCategory = prvalue +# 2232| getQualifier(): [VariableAccess] z2 +# 2232| Type = [Class] ClassWithDestructor +# 2232| ValueCategory = lvalue +# 2232| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2232| Type = [VoidType] void +# 2232| ValueCategory = prvalue +# 2232| getQualifier(): [VariableAccess] z1 +# 2232| Type = [Class] ClassWithDestructor +# 2232| ValueCategory = lvalue +# 2229| getImplicitDestructorCall(2): [DestructorCall] call to ~ClassWithDestructor +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] y +# 2229| Type = [Class] ClassWithDestructor +# 2229| ValueCategory = lvalue +# 2229| getImplicitDestructorCall(0): [DestructorCall] call to ~vector +# 2229| Type = [VoidType] void +# 2229| ValueCategory = prvalue +# 2229| getQualifier(): [VariableAccess] ys +# 2229| Type = [ClassTemplateInstantiation,Struct] vector +# 2229| ValueCategory = lvalue +# 2229| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2229| Type = [ClassTemplateInstantiation,Struct] iterator +# 2229| ValueCategory = lvalue +# 2233| getStmt(9): [ReturnStmt] return ... +# 2233| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2233| Type = [VoidType] void +# 2233| ValueCategory = prvalue +# 2233| getQualifier(): [VariableAccess] x +# 2233| Type = [Class] ClassWithDestructor +# 2233| ValueCategory = lvalue +# 2235| [TopLevelFunction] void static_variable_with_destructor_1() +# 2235| : +# 2235| getEntryPoint(): [BlockStmt] { ... } +# 2236| getStmt(0): [DeclStmt] declaration +# 2236| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2236| Type = [Class] ClassWithDestructor +# 2236| getVariable().getInitializer(): [Initializer] initializer for a +# 2236| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2236| Type = [VoidType] void +# 2236| ValueCategory = prvalue +# 2237| getStmt(1): [DeclStmt] declaration +# 2237| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2237| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for b #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2224| getStmt(2): [ReturnStmt] return ... -# 2224| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2224| Type = [VoidType] void -# 2224| ValueCategory = prvalue -# 2224| getQualifier(): [VariableAccess] a -# 2224| Type = [Class] ClassWithDestructor -# 2224| ValueCategory = lvalue -# 2226| [TopLevelFunction] void static_variable_with_destructor_2() -# 2226| : -# 2226| getEntryPoint(): [BlockStmt] { ... } -# 2227| getStmt(0): [DeclStmt] declaration -# 2227| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2227| Type = [Class] ClassWithDestructor +# 2238| getStmt(2): [ReturnStmt] return ... +# 2238| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2238| Type = [VoidType] void +# 2238| ValueCategory = prvalue +# 2238| getQualifier(): [VariableAccess] a +# 2238| Type = [Class] ClassWithDestructor +# 2238| ValueCategory = lvalue +# 2240| [TopLevelFunction] void static_variable_with_destructor_2() +# 2240| : +# 2240| getEntryPoint(): [BlockStmt] { ... } +# 2241| getStmt(0): [DeclStmt] declaration +# 2241| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2241| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for a #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2228| getStmt(1): [DeclStmt] declaration -# 2228| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2228| Type = [Class] ClassWithDestructor -# 2228| getVariable().getInitializer(): [Initializer] initializer for b -# 2228| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2228| Type = [VoidType] void -# 2228| ValueCategory = prvalue -# 2229| getStmt(2): [ReturnStmt] return ... -# 2229| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2229| Type = [VoidType] void -# 2229| ValueCategory = prvalue -# 2229| getQualifier(): [VariableAccess] b -# 2229| Type = [Class] ClassWithDestructor -# 2229| ValueCategory = lvalue -# 2231| [TopLevelFunction] void static_variable_with_destructor_3() -# 2231| : -# 2231| getEntryPoint(): [BlockStmt] { ... } -# 2232| getStmt(0): [DeclStmt] declaration -# 2232| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a -# 2232| Type = [Class] ClassWithDestructor -# 2232| getVariable().getInitializer(): [Initializer] initializer for a -# 2232| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2232| Type = [VoidType] void -# 2232| ValueCategory = prvalue -# 2233| getStmt(1): [DeclStmt] declaration -# 2233| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b -# 2233| Type = [Class] ClassWithDestructor -# 2233| getVariable().getInitializer(): [Initializer] initializer for b -# 2233| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2233| Type = [VoidType] void -# 2233| ValueCategory = prvalue -# 2234| getStmt(2): [DeclStmt] declaration -# 2234| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2234| Type = [Class] ClassWithDestructor +# 2242| getStmt(1): [DeclStmt] declaration +# 2242| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2242| Type = [Class] ClassWithDestructor +# 2242| getVariable().getInitializer(): [Initializer] initializer for b +# 2242| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2242| Type = [VoidType] void +# 2242| ValueCategory = prvalue +# 2243| getStmt(2): [ReturnStmt] return ... +# 2243| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2243| Type = [VoidType] void +# 2243| ValueCategory = prvalue +# 2243| getQualifier(): [VariableAccess] b +# 2243| Type = [Class] ClassWithDestructor +# 2243| ValueCategory = lvalue +# 2245| [TopLevelFunction] void static_variable_with_destructor_3() +# 2245| : +# 2245| getEntryPoint(): [BlockStmt] { ... } +# 2246| getStmt(0): [DeclStmt] declaration +# 2246| getDeclarationEntry(0): [VariableDeclarationEntry] definition of a +# 2246| Type = [Class] ClassWithDestructor +# 2246| getVariable().getInitializer(): [Initializer] initializer for a +# 2246| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2246| Type = [VoidType] void +# 2246| ValueCategory = prvalue +# 2247| getStmt(1): [DeclStmt] declaration +# 2247| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b +# 2247| Type = [Class] ClassWithDestructor +# 2247| getVariable().getInitializer(): [Initializer] initializer for b +# 2247| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2247| Type = [VoidType] void +# 2247| ValueCategory = prvalue +# 2248| getStmt(2): [DeclStmt] declaration +# 2248| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2248| Type = [Class] ClassWithDestructor #-----| getVariable().getInitializer(): [Initializer] initializer for c #-----| getExpr(): [ConstructorCall] call to ClassWithDestructor #-----| Type = [VoidType] void #-----| ValueCategory = prvalue -# 2235| getStmt(3): [ReturnStmt] return ... -# 2235| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2235| Type = [VoidType] void -# 2235| ValueCategory = prvalue -# 2235| getQualifier(): [VariableAccess] b -# 2235| Type = [Class] ClassWithDestructor -# 2235| ValueCategory = lvalue -# 2235| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor -# 2235| Type = [VoidType] void -# 2235| ValueCategory = prvalue -# 2235| getQualifier(): [VariableAccess] a -# 2235| Type = [Class] ClassWithDestructor -# 2235| ValueCategory = lvalue -# 2237| [GlobalVariable] ClassWithDestructor global_class_with_destructor -# 2237| getInitializer(): [Initializer] initializer for global_class_with_destructor -# 2237| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2237| Type = [VoidType] void -# 2237| ValueCategory = prvalue -# 2241| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2241| : -# 2241| getParameter(0): [Parameter] t -# 2241| Type = [LValueReferenceType] ClassWithDestructor & -# 2241| getEntryPoint(): [BlockStmt] { ... } -# 2241| getStmt(0): [ReturnStmt] return ... -# 2241| getExpr(): [VariableAccess] t -# 2241| Type = [LValueReferenceType] ClassWithDestructor & -# 2241| ValueCategory = prvalue(load) -# 2241| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2241| Type = [LValueReferenceType] ClassWithDestructor & -# 2241| ValueCategory = prvalue -# 2241| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2241| Type = [Class] ClassWithDestructor -# 2241| ValueCategory = lvalue -# 2241| [TemplateFunction,TopLevelFunction] T& vacuous_destructor_call::get(T&) -# 2241| : -# 2241| getParameter(0): [Parameter] t -# 2241| Type = [LValueReferenceType] T & -# 2241| getEntryPoint(): [BlockStmt] { ... } -# 2241| getStmt(0): [ReturnStmt] return ... -# 2241| getExpr(): [VariableAccess] t -# 2241| Type = [LValueReferenceType] T & -# 2241| ValueCategory = prvalue(load) -# 2241| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2241| Type = [TemplateParameter] T -# 2241| ValueCategory = lvalue -# 2241| [FunctionTemplateInstantiation,TopLevelFunction] int& vacuous_destructor_call::get(int&) -# 2241| : -# 2241| getParameter(0): [Parameter] t -# 2241| Type = [LValueReferenceType] int & -# 2241| getEntryPoint(): [BlockStmt] { ... } -# 2241| getStmt(0): [ReturnStmt] return ... -# 2241| getExpr(): [VariableAccess] t -# 2241| Type = [LValueReferenceType] int & -# 2241| ValueCategory = prvalue(load) -# 2241| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2241| Type = [LValueReferenceType] int & -# 2241| ValueCategory = prvalue -# 2241| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2241| Type = [IntType] int -# 2241| ValueCategory = lvalue -# 2244| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2244| : -# 2244| getParameter(0): [Parameter] t -# 2244| Type = [LValueReferenceType] ClassWithDestructor & -# 2244| getEntryPoint(): [BlockStmt] { ... } -# 2245| getStmt(0): [ExprStmt] ExprStmt -# 2245| getExpr(): [DestructorCall] call to ~ClassWithDestructor -# 2245| Type = [VoidType] void -# 2245| ValueCategory = prvalue -# 2245| getQualifier(): [FunctionCall] call to get -# 2245| Type = [LValueReferenceType] ClassWithDestructor & -# 2245| ValueCategory = prvalue -# 2245| getArgument(0): [VariableAccess] t -# 2245| Type = [LValueReferenceType] ClassWithDestructor & -# 2245| ValueCategory = prvalue(load) -# 2245| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2245| Type = [LValueReferenceType] ClassWithDestructor & -# 2245| ValueCategory = prvalue -# 2245| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2245| Type = [Class] ClassWithDestructor -# 2245| ValueCategory = lvalue -# 2245| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2245| Type = [Class] ClassWithDestructor -# 2245| ValueCategory = lvalue -# 2246| getStmt(1): [ReturnStmt] return ... -# 2244| [TemplateFunction,TopLevelFunction] void vacuous_destructor_call::call_destructor(T&) -# 2244| : -# 2244| getParameter(0): [Parameter] t -# 2244| Type = [LValueReferenceType] T & -# 2244| getEntryPoint(): [BlockStmt] { ... } -# 2245| getStmt(0): [ExprStmt] ExprStmt -# 2245| getExpr(): [ExprCall] call to expression -# 2245| Type = [UnknownType] unknown -# 2245| ValueCategory = prvalue -# 2245| getExpr(): [Literal] Unknown literal -# 2245| Type = [UnknownType] unknown -# 2245| ValueCategory = prvalue -# 2245| getChild(-1): [ExprCall] call to expression -# 2245| Type = [UnknownType] unknown -# 2245| ValueCategory = prvalue -# 2245| getExpr(): [Literal] Unknown literal -# 2245| Type = [UnknownType] unknown -# 2245| ValueCategory = prvalue -# 2245| getArgument(0): [VariableAccess] t -# 2245| Type = [LValueReferenceType] T & -# 2245| ValueCategory = prvalue(load) -# 2245| getArgument(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2245| Type = [TemplateParameter] T -# 2245| ValueCategory = lvalue -# 2246| getStmt(1): [ReturnStmt] return ... -# 2244| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(int&) -# 2244| : -# 2244| getParameter(0): [Parameter] t -# 2244| Type = [LValueReferenceType] int & -# 2244| getEntryPoint(): [BlockStmt] { ... } -# 2245| getStmt(0): [ExprStmt] ExprStmt -# 2245| getExpr(): [VacuousDestructorCall] (vacuous destructor call) -# 2245| Type = [VoidType] void -# 2245| ValueCategory = prvalue -# 2245| getChild(0): [FunctionCall] call to get -# 2245| Type = [LValueReferenceType] int & -# 2245| ValueCategory = prvalue -# 2245| getArgument(0): [VariableAccess] t -# 2245| Type = [LValueReferenceType] int & -# 2245| ValueCategory = prvalue(load) -# 2245| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2245| Type = [LValueReferenceType] int & -# 2245| ValueCategory = prvalue -# 2245| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2245| Type = [IntType] int -# 2245| ValueCategory = lvalue -# 2245| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2245| Type = [IntType] int -# 2245| ValueCategory = lvalue -# 2246| getStmt(1): [ReturnStmt] return ... -# 2248| [TopLevelFunction] void vacuous_destructor_call::non_vacuous_destructor_call() -# 2248| : -# 2248| getEntryPoint(): [BlockStmt] { ... } -# 2249| getStmt(0): [DeclStmt] declaration -# 2249| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2249| Type = [Class] ClassWithDestructor -# 2249| getVariable().getInitializer(): [Initializer] initializer for c -# 2249| getExpr(): [ConstructorCall] call to ClassWithDestructor -# 2249| Type = [VoidType] void -# 2249| ValueCategory = prvalue -# 2250| getStmt(1): [ExprStmt] ExprStmt -# 2250| getExpr(): [FunctionCall] call to call_destructor -# 2250| Type = [VoidType] void -# 2250| ValueCategory = prvalue -# 2250| getArgument(0): [VariableAccess] c -# 2250| Type = [Class] ClassWithDestructor -# 2250| ValueCategory = lvalue -# 2250| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2250| Type = [LValueReferenceType] ClassWithDestructor & -# 2250| ValueCategory = prvalue -# 2251| getStmt(2): [ReturnStmt] return ... -# 2251| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2251| Type = [VoidType] void -# 2251| ValueCategory = prvalue -# 2251| getQualifier(): [VariableAccess] c -# 2251| Type = [Class] ClassWithDestructor -# 2251| ValueCategory = lvalue -# 2253| [TopLevelFunction] void vacuous_destructor_call::vacuous_destructor_call() -# 2253| : -# 2253| getEntryPoint(): [BlockStmt] { ... } -# 2254| getStmt(0): [DeclStmt] declaration -# 2254| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i -# 2254| Type = [IntType] int -# 2255| getStmt(1): [ExprStmt] ExprStmt -# 2255| getExpr(): [FunctionCall] call to call_destructor -# 2255| Type = [VoidType] void +# 2249| getStmt(3): [ReturnStmt] return ... +# 2249| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2249| Type = [VoidType] void +# 2249| ValueCategory = prvalue +# 2249| getQualifier(): [VariableAccess] b +# 2249| Type = [Class] ClassWithDestructor +# 2249| ValueCategory = lvalue +# 2249| getImplicitDestructorCall(1): [DestructorCall] call to ~ClassWithDestructor +# 2249| Type = [VoidType] void +# 2249| ValueCategory = prvalue +# 2249| getQualifier(): [VariableAccess] a +# 2249| Type = [Class] ClassWithDestructor +# 2249| ValueCategory = lvalue +# 2251| [GlobalVariable] ClassWithDestructor global_class_with_destructor +# 2251| getInitializer(): [Initializer] initializer for global_class_with_destructor +# 2251| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2251| Type = [VoidType] void +# 2251| ValueCategory = prvalue +# 2255| [FunctionTemplateInstantiation,TopLevelFunction] ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2255| : +# 2255| getParameter(0): [Parameter] t +# 2255| Type = [LValueReferenceType] ClassWithDestructor & +# 2255| getEntryPoint(): [BlockStmt] { ... } +# 2255| getStmt(0): [ReturnStmt] return ... +# 2255| getExpr(): [VariableAccess] t +# 2255| Type = [LValueReferenceType] ClassWithDestructor & +# 2255| ValueCategory = prvalue(load) +# 2255| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2255| Type = [LValueReferenceType] ClassWithDestructor & +# 2255| ValueCategory = prvalue +# 2255| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2255| Type = [Class] ClassWithDestructor +# 2255| ValueCategory = lvalue +# 2255| [TemplateFunction,TopLevelFunction] T& vacuous_destructor_call::get(T&) +# 2255| : +# 2255| getParameter(0): [Parameter] t +# 2255| Type = [LValueReferenceType] T & +# 2255| getEntryPoint(): [BlockStmt] { ... } +# 2255| getStmt(0): [ReturnStmt] return ... +# 2255| getExpr(): [VariableAccess] t +# 2255| Type = [LValueReferenceType] T & +# 2255| ValueCategory = prvalue(load) +# 2255| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2255| Type = [TemplateParameter] T +# 2255| ValueCategory = lvalue +# 2255| [FunctionTemplateInstantiation,TopLevelFunction] int& vacuous_destructor_call::get(int&) +# 2255| : +# 2255| getParameter(0): [Parameter] t +# 2255| Type = [LValueReferenceType] int & +# 2255| getEntryPoint(): [BlockStmt] { ... } +# 2255| getStmt(0): [ReturnStmt] return ... +# 2255| getExpr(): [VariableAccess] t +# 2255| Type = [LValueReferenceType] int & +# 2255| ValueCategory = prvalue(load) +# 2255| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2255| Type = [LValueReferenceType] int & # 2255| ValueCategory = prvalue -# 2255| getArgument(0): [VariableAccess] i +# 2255| getExpr(): [ReferenceDereferenceExpr] (reference dereference) # 2255| Type = [IntType] int # 2255| ValueCategory = lvalue -# 2255| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2255| Type = [LValueReferenceType] int & -# 2255| ValueCategory = prvalue -# 2256| getStmt(2): [ReturnStmt] return ... -# 2259| [TopLevelFunction] void TryCatchDestructors(bool) -# 2259| : -# 2259| getParameter(0): [Parameter] b -# 2259| Type = [BoolType] bool -# 2259| getEntryPoint(): [BlockStmt] { ... } -# 2260| getStmt(0): [TryStmt] try { ... } -# 2260| getStmt(): [BlockStmt] { ... } -# 2261| getStmt(0): [DeclStmt] declaration -# 2261| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2261| Type = [Struct] String -# 2261| getVariable().getInitializer(): [Initializer] initializer for s -# 2261| getExpr(): [ConstructorCall] call to String -# 2261| Type = [VoidType] void -# 2261| ValueCategory = prvalue -# 2262| getStmt(1): [IfStmt] if (...) ... -# 2262| getCondition(): [VariableAccess] b -# 2262| Type = [BoolType] bool -# 2262| ValueCategory = prvalue(load) -# 2262| getThen(): [BlockStmt] { ... } -# 2263| getStmt(0): [ExprStmt] ExprStmt -# 2263| getExpr(): [ThrowExpr] throw ... -# 2263| Type = [PointerType] const char * -# 2263| ValueCategory = prvalue -# 2263| getExpr(): string literal -# 2263| Type = [ArrayType] const char[15] -# 2263| Value = [StringLiteral] "string literal" -# 2263| ValueCategory = lvalue -# 2266| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2266| Type = [VoidType] void -# 2266| ValueCategory = prvalue -# 2266| getQualifier(): [VariableAccess] s -# 2266| Type = [Struct] String -# 2266| ValueCategory = lvalue -# 2263| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2263| Type = [PointerType] const char * -# 2263| ValueCategory = prvalue -# 2265| getStmt(2): [DeclStmt] declaration -# 2265| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2265| Type = [Struct] String -# 2265| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2265| getExpr(): [ConstructorCall] call to String -# 2265| Type = [VoidType] void -# 2265| ValueCategory = prvalue -# 2266| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2266| Type = [VoidType] void -# 2266| ValueCategory = prvalue -# 2266| getQualifier(): [VariableAccess] s2 -# 2266| Type = [Struct] String -# 2266| ValueCategory = lvalue -# 2266| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2266| Type = [VoidType] void -# 2266| ValueCategory = prvalue -# 2266| getQualifier(): [VariableAccess] s -# 2266| Type = [Struct] String -# 2266| ValueCategory = lvalue -# 2267| getChild(1): [Handler] -# 2267| getBlock(): [CatchBlock] { ... } -# 2268| getStmt(0): [ExprStmt] ExprStmt -# 2268| getExpr(): [ThrowExpr] throw ... -# 2268| Type = [Struct] String -# 2268| ValueCategory = prvalue -# 2268| getExpr(): [ConstructorCall] call to String -# 2268| Type = [VoidType] void -# 2268| ValueCategory = prvalue -# 2268| getArgument(0): [VariableAccess] s -# 2268| Type = [PointerType] const char * -# 2268| ValueCategory = prvalue(load) -# 2270| getChild(2): [Handler] -# 2270| getBlock(): [CatchBlock] { ... } -# 2272| getChild(3): [Handler] -# 2272| getBlock(): [CatchAnyBlock] { ... } -# 2273| getStmt(0): [ExprStmt] ExprStmt -# 2273| getExpr(): [ReThrowExpr] re-throw exception -# 2273| Type = [VoidType] void -# 2273| ValueCategory = prvalue -# 2275| getStmt(1): [ReturnStmt] return ... -# 2277| [TopLevelFunction] void IfDestructors(bool) -# 2277| : -# 2277| getParameter(0): [Parameter] b -# 2277| Type = [BoolType] bool -# 2277| getEntryPoint(): [BlockStmt] { ... } -# 2278| getStmt(0): [DeclStmt] declaration -# 2278| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 -# 2278| Type = [Struct] String -# 2278| getVariable().getInitializer(): [Initializer] initializer for s1 -# 2278| getExpr(): [ConstructorCall] call to String -# 2278| Type = [VoidType] void -# 2278| ValueCategory = prvalue -# 2279| getStmt(1): [IfStmt] if (...) ... -# 2279| getCondition(): [VariableAccess] b -# 2279| Type = [BoolType] bool -# 2279| ValueCategory = prvalue(load) -# 2279| getThen(): [BlockStmt] { ... } -# 2280| getStmt(0): [DeclStmt] declaration -# 2280| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2258| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2258| : +# 2258| getParameter(0): [Parameter] t +# 2258| Type = [LValueReferenceType] ClassWithDestructor & +# 2258| getEntryPoint(): [BlockStmt] { ... } +# 2259| getStmt(0): [ExprStmt] ExprStmt +# 2259| getExpr(): [DestructorCall] call to ~ClassWithDestructor +# 2259| Type = [VoidType] void +# 2259| ValueCategory = prvalue +# 2259| getQualifier(): [FunctionCall] call to get +# 2259| Type = [LValueReferenceType] ClassWithDestructor & +# 2259| ValueCategory = prvalue +# 2259| getArgument(0): [VariableAccess] t +# 2259| Type = [LValueReferenceType] ClassWithDestructor & +# 2259| ValueCategory = prvalue(load) +# 2259| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2259| Type = [LValueReferenceType] ClassWithDestructor & +# 2259| ValueCategory = prvalue +# 2259| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2259| Type = [Class] ClassWithDestructor +# 2259| ValueCategory = lvalue +# 2259| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2259| Type = [Class] ClassWithDestructor +# 2259| ValueCategory = lvalue +# 2260| getStmt(1): [ReturnStmt] return ... +# 2258| [TemplateFunction,TopLevelFunction] void vacuous_destructor_call::call_destructor(T&) +# 2258| : +# 2258| getParameter(0): [Parameter] t +# 2258| Type = [LValueReferenceType] T & +# 2258| getEntryPoint(): [BlockStmt] { ... } +# 2259| getStmt(0): [ExprStmt] ExprStmt +# 2259| getExpr(): [ExprCall] call to expression +# 2259| Type = [UnknownType] unknown +# 2259| ValueCategory = prvalue +# 2259| getExpr(): [Literal] Unknown literal +# 2259| Type = [UnknownType] unknown +# 2259| ValueCategory = prvalue +# 2259| getChild(-1): [ExprCall] call to expression +# 2259| Type = [UnknownType] unknown +# 2259| ValueCategory = prvalue +# 2259| getExpr(): [Literal] Unknown literal +# 2259| Type = [UnknownType] unknown +# 2259| ValueCategory = prvalue +# 2259| getArgument(0): [VariableAccess] t +# 2259| Type = [LValueReferenceType] T & +# 2259| ValueCategory = prvalue(load) +# 2259| getArgument(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2259| Type = [TemplateParameter] T +# 2259| ValueCategory = lvalue +# 2260| getStmt(1): [ReturnStmt] return ... +# 2258| [FunctionTemplateInstantiation,TopLevelFunction] void vacuous_destructor_call::call_destructor(int&) +# 2258| : +# 2258| getParameter(0): [Parameter] t +# 2258| Type = [LValueReferenceType] int & +# 2258| getEntryPoint(): [BlockStmt] { ... } +# 2259| getStmt(0): [ExprStmt] ExprStmt +# 2259| getExpr(): [VacuousDestructorCall] (vacuous destructor call) +# 2259| Type = [VoidType] void +# 2259| ValueCategory = prvalue +# 2259| getChild(0): [FunctionCall] call to get +# 2259| Type = [LValueReferenceType] int & +# 2259| ValueCategory = prvalue +# 2259| getArgument(0): [VariableAccess] t +# 2259| Type = [LValueReferenceType] int & +# 2259| ValueCategory = prvalue(load) +# 2259| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2259| Type = [LValueReferenceType] int & +# 2259| ValueCategory = prvalue +# 2259| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2259| Type = [IntType] int +# 2259| ValueCategory = lvalue +# 2259| getChild(0).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2259| Type = [IntType] int +# 2259| ValueCategory = lvalue +# 2260| getStmt(1): [ReturnStmt] return ... +# 2262| [TopLevelFunction] void vacuous_destructor_call::non_vacuous_destructor_call() +# 2262| : +# 2262| getEntryPoint(): [BlockStmt] { ... } +# 2263| getStmt(0): [DeclStmt] declaration +# 2263| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2263| Type = [Class] ClassWithDestructor +# 2263| getVariable().getInitializer(): [Initializer] initializer for c +# 2263| getExpr(): [ConstructorCall] call to ClassWithDestructor +# 2263| Type = [VoidType] void +# 2263| ValueCategory = prvalue +# 2264| getStmt(1): [ExprStmt] ExprStmt +# 2264| getExpr(): [FunctionCall] call to call_destructor +# 2264| Type = [VoidType] void +# 2264| ValueCategory = prvalue +# 2264| getArgument(0): [VariableAccess] c +# 2264| Type = [Class] ClassWithDestructor +# 2264| ValueCategory = lvalue +# 2264| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2264| Type = [LValueReferenceType] ClassWithDestructor & +# 2264| ValueCategory = prvalue +# 2265| getStmt(2): [ReturnStmt] return ... +# 2265| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2265| Type = [VoidType] void +# 2265| ValueCategory = prvalue +# 2265| getQualifier(): [VariableAccess] c +# 2265| Type = [Class] ClassWithDestructor +# 2265| ValueCategory = lvalue +# 2267| [TopLevelFunction] void vacuous_destructor_call::vacuous_destructor_call() +# 2267| : +# 2267| getEntryPoint(): [BlockStmt] { ... } +# 2268| getStmt(0): [DeclStmt] declaration +# 2268| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i +# 2268| Type = [IntType] int +# 2269| getStmt(1): [ExprStmt] ExprStmt +# 2269| getExpr(): [FunctionCall] call to call_destructor +# 2269| Type = [VoidType] void +# 2269| ValueCategory = prvalue +# 2269| getArgument(0): [VariableAccess] i +# 2269| Type = [IntType] int +# 2269| ValueCategory = lvalue +# 2269| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2269| Type = [LValueReferenceType] int & +# 2269| ValueCategory = prvalue +# 2270| getStmt(2): [ReturnStmt] return ... +# 2273| [TopLevelFunction] void TryCatchDestructors(bool) +# 2273| : +# 2273| getParameter(0): [Parameter] b +# 2273| Type = [BoolType] bool +# 2273| getEntryPoint(): [BlockStmt] { ... } +# 2274| getStmt(0): [TryStmt] try { ... } +# 2274| getStmt(): [BlockStmt] { ... } +# 2275| getStmt(0): [DeclStmt] declaration +# 2275| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2275| Type = [Struct] String +# 2275| getVariable().getInitializer(): [Initializer] initializer for s +# 2275| getExpr(): [ConstructorCall] call to String +# 2275| Type = [VoidType] void +# 2275| ValueCategory = prvalue +# 2276| getStmt(1): [IfStmt] if (...) ... +# 2276| getCondition(): [VariableAccess] b +# 2276| Type = [BoolType] bool +# 2276| ValueCategory = prvalue(load) +# 2276| getThen(): [BlockStmt] { ... } +# 2277| getStmt(0): [ExprStmt] ExprStmt +# 2277| getExpr(): [ThrowExpr] throw ... +# 2277| Type = [PointerType] const char * +# 2277| ValueCategory = prvalue +# 2277| getExpr(): string literal +# 2277| Type = [ArrayType] const char[15] +# 2277| Value = [StringLiteral] "string literal" +# 2277| ValueCategory = lvalue +# 2280| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2280| Type = [VoidType] void +# 2280| ValueCategory = prvalue +# 2280| getQualifier(): [VariableAccess] s +# 2280| Type = [Struct] String +# 2280| ValueCategory = lvalue +# 2277| getExpr().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2277| Type = [PointerType] const char * +# 2277| ValueCategory = prvalue +# 2279| getStmt(2): [DeclStmt] declaration +# 2279| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2279| Type = [Struct] String +# 2279| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2279| getExpr(): [ConstructorCall] call to String +# 2279| Type = [VoidType] void +# 2279| ValueCategory = prvalue +# 2280| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2280| Type = [VoidType] void +# 2280| ValueCategory = prvalue +# 2280| getQualifier(): [VariableAccess] s2 +# 2280| Type = [Struct] String +# 2280| ValueCategory = lvalue +# 2280| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2280| Type = [VoidType] void +# 2280| ValueCategory = prvalue +# 2280| getQualifier(): [VariableAccess] s # 2280| Type = [Struct] String -# 2280| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2280| getExpr(): [ConstructorCall] call to String -# 2280| Type = [VoidType] void -# 2280| ValueCategory = prvalue -# 2281| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2281| Type = [VoidType] void -# 2281| ValueCategory = prvalue -# 2281| getQualifier(): [VariableAccess] s2 -# 2281| Type = [Struct] String -# 2281| ValueCategory = lvalue -# 2281| getElse(): [BlockStmt] { ... } -# 2282| getStmt(0): [DeclStmt] declaration -# 2282| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s3 -# 2282| Type = [Struct] String -# 2282| getVariable().getInitializer(): [Initializer] initializer for s3 +# 2280| ValueCategory = lvalue +# 2281| getChild(1): [Handler] +# 2281| getBlock(): [CatchBlock] { ... } +# 2282| getStmt(0): [ExprStmt] ExprStmt +# 2282| getExpr(): [ThrowExpr] throw ... +# 2282| Type = [Struct] String +# 2282| ValueCategory = prvalue # 2282| getExpr(): [ConstructorCall] call to String # 2282| Type = [VoidType] void # 2282| ValueCategory = prvalue -# 2283| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2283| Type = [VoidType] void -# 2283| ValueCategory = prvalue -# 2283| getQualifier(): [VariableAccess] s3 -# 2283| Type = [Struct] String -# 2283| ValueCategory = lvalue -# 2284| getStmt(2): [DeclStmt] declaration -# 2284| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s4 -# 2284| Type = [Struct] String -# 2284| getVariable().getInitializer(): [Initializer] initializer for s4 -# 2284| getExpr(): [ConstructorCall] call to String -# 2284| Type = [VoidType] void -# 2284| ValueCategory = prvalue -# 2285| getStmt(3): [ReturnStmt] return ... -# 2285| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2285| Type = [VoidType] void -# 2285| ValueCategory = prvalue -# 2285| getQualifier(): [VariableAccess] s4 -# 2285| Type = [Struct] String -# 2285| ValueCategory = lvalue -# 2285| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2285| Type = [VoidType] void -# 2285| ValueCategory = prvalue -# 2285| getQualifier(): [VariableAccess] s1 -# 2285| Type = [Struct] String -# 2285| ValueCategory = lvalue -# 2287| [TopLevelFunction] void ForDestructors() -# 2287| : -# 2287| getEntryPoint(): [BlockStmt] { ... } -# 2288| getStmt(0): [DeclStmt] declaration -# 2288| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c -# 2288| Type = [PlainCharType] char -# 2288| getVariable().getInitializer(): [Initializer] initializer for c -# 2288| getExpr(): [CharLiteral] 97 -# 2288| Type = [PlainCharType] char -# 2288| Value = [CharLiteral] 97 -# 2288| ValueCategory = prvalue -# 2289| getStmt(1): [ForStmt] for(...;...;...) ... -# 2289| getInitialization(): [DeclStmt] declaration -# 2289| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2289| Type = [Struct] String -# 2289| getVariable().getInitializer(): [Initializer] initializer for s -# 2289| getExpr(): [ConstructorCall] call to String -# 2289| Type = [VoidType] void -# 2289| ValueCategory = prvalue -# 2289| getArgument(0): hello -# 2289| Type = [ArrayType] const char[6] -# 2289| Value = [StringLiteral] "hello" -# 2289| ValueCategory = lvalue -# 2289| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2289| Type = [PointerType] const char * -# 2289| ValueCategory = prvalue -# 2289| getCondition(): [NEExpr] ... != ... -# 2289| Type = [BoolType] bool -# 2289| ValueCategory = prvalue -# 2289| getLeftOperand(): [VariableAccess] c -# 2289| Type = [PlainCharType] char -# 2289| ValueCategory = prvalue(load) -# 2289| getRightOperand(): [Literal] 0 -# 2289| Type = [IntType] int -# 2289| Value = [Literal] 0 -# 2289| ValueCategory = prvalue -# 2289| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2289| Conversion = [IntegralConversion] integral conversion -# 2289| Type = [IntType] int -# 2289| ValueCategory = prvalue -# 2289| getUpdate(): [AssignExpr] ... = ... -# 2289| Type = [PlainCharType] char -# 2289| ValueCategory = lvalue -# 2289| getLValue(): [VariableAccess] c -# 2289| Type = [PlainCharType] char -# 2289| ValueCategory = lvalue -# 2289| getRValue(): [FunctionCall] call to pop_back -# 2289| Type = [PlainCharType] char -# 2289| ValueCategory = prvalue -# 2289| getQualifier(): [VariableAccess] s -# 2289| Type = [Struct] String -# 2289| ValueCategory = lvalue -# 2289| getStmt(): [BlockStmt] { ... } -# 2290| getStmt(0): [DeclStmt] declaration -# 2290| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2290| Type = [Struct] String -# 2290| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2290| getExpr(): [ConstructorCall] call to String -# 2290| Type = [VoidType] void -# 2290| ValueCategory = prvalue -# 2291| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2291| Type = [VoidType] void -# 2291| ValueCategory = prvalue -# 2291| getQualifier(): [VariableAccess] s2 -# 2291| Type = [Struct] String -# 2291| ValueCategory = lvalue -# 2289| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2289| Type = [VoidType] void -# 2289| ValueCategory = prvalue -# 2289| getQualifier(): [VariableAccess] s -# 2289| Type = [Struct] String -# 2289| ValueCategory = lvalue -# 2293| getStmt(2): [RangeBasedForStmt] for(...:...) ... -# 2293| getChild(1): [DeclStmt] declaration -# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2293| Type = [RValueReferenceType] vector && -#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2293| getExpr(): [ConstructorCall] call to vector -# 2293| Type = [VoidType] void -# 2293| ValueCategory = prvalue -# 2293| getArgument(0): [ConstructorCall] call to String -# 2293| Type = [VoidType] void -# 2293| ValueCategory = prvalue -# 2293| getArgument(0): hello -# 2293| Type = [ArrayType] const char[6] -# 2293| Value = [StringLiteral] "hello" -# 2293| ValueCategory = lvalue -# 2293| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2293| Type = [PointerType] const char * -# 2293| ValueCategory = prvalue -# 2293| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2293| Type = [VoidType] void -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [ReuseExpr] reuse of temporary object -# 2293| Type = [Struct] String -# 2293| ValueCategory = xvalue -# 2293| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2293| Type = [Struct] String -# 2293| ValueCategory = lvalue -# 2293| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2293| Type = [LValueReferenceType] vector & -# 2293| ValueCategory = prvalue -# 2293| getExpr(): [TemporaryObjectExpr] temporary object -# 2293| Type = [ClassTemplateInstantiation,Struct] vector -# 2293| ValueCategory = xvalue -# 2293| getBeginEndDeclaration(): [DeclStmt] declaration -# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2293| getExpr(): [FunctionCall] call to begin -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [VariableAccess] (__range) -# 2293| Type = [RValueReferenceType] vector && -# 2293| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2293| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2293| getExpr(): [FunctionCall] call to end -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [VariableAccess] (__range) -# 2293| Type = [RValueReferenceType] vector && -# 2293| ValueCategory = prvalue(load) -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const vector -#-----| ValueCategory = lvalue -#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -#-----| Type = [ClassTemplateInstantiation,Struct] vector -#-----| ValueCategory = lvalue -# 2293| getCondition(): [FunctionCall] call to operator!= +# 2282| getArgument(0): [VariableAccess] s +# 2282| Type = [PointerType] const char * +# 2282| ValueCategory = prvalue(load) +# 2284| getChild(2): [Handler] +# 2284| getBlock(): [CatchBlock] { ... } +# 2286| getChild(3): [Handler] +# 2286| getBlock(): [CatchAnyBlock] { ... } +# 2287| getStmt(0): [ExprStmt] ExprStmt +# 2287| getExpr(): [ReThrowExpr] re-throw exception +# 2287| Type = [VoidType] void +# 2287| ValueCategory = prvalue +# 2289| getStmt(1): [ReturnStmt] return ... +# 2291| [TopLevelFunction] void IfDestructors(bool) +# 2291| : +# 2291| getParameter(0): [Parameter] b +# 2291| Type = [BoolType] bool +# 2291| getEntryPoint(): [BlockStmt] { ... } +# 2292| getStmt(0): [DeclStmt] declaration +# 2292| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 +# 2292| Type = [Struct] String +# 2292| getVariable().getInitializer(): [Initializer] initializer for s1 +# 2292| getExpr(): [ConstructorCall] call to String +# 2292| Type = [VoidType] void +# 2292| ValueCategory = prvalue +# 2293| getStmt(1): [IfStmt] if (...) ... +# 2293| getCondition(): [VariableAccess] b # 2293| Type = [BoolType] bool -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [VariableAccess] (__begin) -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2293| ValueCategory = lvalue -# 2293| getArgument(0): [ConstructorCall] call to iterator -# 2293| Type = [VoidType] void -# 2293| ValueCategory = prvalue -# 2293| getArgument(0): [VariableAccess] (__end) -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2293| ValueCategory = lvalue -#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -#-----| Type = [LValueReferenceType] const iterator & -#-----| ValueCategory = prvalue -#-----| getExpr(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object -#-----| Type = [ClassTemplateInstantiation,Struct] iterator -#-----| ValueCategory = lvalue -# 2293| getUpdate(): [FunctionCall] call to operator++ -# 2293| Type = [LValueReferenceType] iterator & -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [VariableAccess] (__begin) -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2293| ValueCategory = lvalue -# 2293| getChild(5): [DeclStmt] declaration -# 2293| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2293| Type = [Struct] String -# 2293| getVariable().getInitializer(): [Initializer] initializer for s -# 2293| getExpr(): [ConstructorCall] call to String -# 2293| Type = [VoidType] void -# 2293| ValueCategory = prvalue -# 2293| getArgument(0): [OverloadedPointerDereferenceExpr] call to operator* -# 2293| Type = [LValueReferenceType] String & -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [VariableAccess] (__begin) -# 2293| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2293| ValueCategory = lvalue -#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... -#-----| Conversion = [GlvalueConversion] glvalue conversion -#-----| Type = [SpecifiedType] const iterator -#-----| ValueCategory = lvalue -# 2293| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) -# 2293| Type = [LValueReferenceType] const String & -# 2293| ValueCategory = prvalue -# 2293| getExpr(): [CStyleCast] (const String)... -# 2293| Conversion = [GlvalueConversion] glvalue conversion -# 2293| Type = [SpecifiedType] const String -# 2293| ValueCategory = lvalue -# 2293| getExpr(): [ReferenceDereferenceExpr] (reference dereference) -# 2293| Type = [Struct] String -# 2293| ValueCategory = lvalue -# 2293| getStmt(): [BlockStmt] { ... } +# 2293| ValueCategory = prvalue(load) +# 2293| getThen(): [BlockStmt] { ... } # 2294| getStmt(0): [DeclStmt] declaration # 2294| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 # 2294| Type = [Struct] String @@ -18587,105 +18390,52 @@ ir.cpp: # 2295| getQualifier(): [VariableAccess] s2 # 2295| Type = [Struct] String # 2295| ValueCategory = lvalue -# 2293| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2293| Type = [VoidType] void -# 2293| ValueCategory = prvalue -# 2293| getQualifier(): [VariableAccess] s -# 2293| Type = [Struct] String -# 2293| ValueCategory = lvalue -# 2293| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2293| Type = [ClassTemplateInstantiation,Struct] iterator -# 2293| ValueCategory = lvalue -# 2297| getStmt(3): [ForStmt] for(...;...;...) ... -# 2297| getInitialization(): [DeclStmt] declaration -# 2297| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2297| Type = [Struct] String -# 2297| getVariable().getInitializer(): [Initializer] initializer for s -# 2297| getExpr(): [ConstructorCall] call to String -# 2297| Type = [VoidType] void -# 2297| ValueCategory = prvalue -# 2297| getArgument(0): hello -# 2297| Type = [ArrayType] const char[6] -# 2297| Value = [StringLiteral] "hello" -# 2297| ValueCategory = lvalue -# 2297| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2297| Type = [PointerType] const char * -# 2297| ValueCategory = prvalue -# 2297| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2 -# 2297| Type = [Struct] String -# 2297| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2297| getExpr(): [ConstructorCall] call to String -# 2297| Type = [VoidType] void -# 2297| ValueCategory = prvalue -# 2297| getArgument(0): world -# 2297| Type = [ArrayType] const char[6] -# 2297| Value = [StringLiteral] "world" -# 2297| ValueCategory = lvalue -# 2297| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion -# 2297| Type = [PointerType] const char * -# 2297| ValueCategory = prvalue -# 2297| getCondition(): [NEExpr] ... != ... -# 2297| Type = [BoolType] bool -# 2297| ValueCategory = prvalue -# 2297| getLeftOperand(): [VariableAccess] c -# 2297| Type = [PlainCharType] char -# 2297| ValueCategory = prvalue(load) -# 2297| getRightOperand(): [Literal] 0 -# 2297| Type = [IntType] int -# 2297| Value = [Literal] 0 -# 2297| ValueCategory = prvalue -# 2297| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... -# 2297| Conversion = [IntegralConversion] integral conversion -# 2297| Type = [IntType] int +# 2295| getElse(): [BlockStmt] { ... } +# 2296| getStmt(0): [DeclStmt] declaration +# 2296| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s3 +# 2296| Type = [Struct] String +# 2296| getVariable().getInitializer(): [Initializer] initializer for s3 +# 2296| getExpr(): [ConstructorCall] call to String +# 2296| Type = [VoidType] void +# 2296| ValueCategory = prvalue +# 2297| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2297| Type = [VoidType] void # 2297| ValueCategory = prvalue -# 2297| getUpdate(): [AssignExpr] ... = ... -# 2297| Type = [PlainCharType] char -# 2297| ValueCategory = lvalue -# 2297| getLValue(): [VariableAccess] c -# 2297| Type = [PlainCharType] char -# 2297| ValueCategory = lvalue -# 2297| getRValue(): [FunctionCall] call to pop_back -# 2297| Type = [PlainCharType] char -# 2297| ValueCategory = prvalue -# 2297| getQualifier(): [VariableAccess] s +# 2297| getQualifier(): [VariableAccess] s3 # 2297| Type = [Struct] String # 2297| ValueCategory = lvalue -# 2297| getStmt(): [BlockStmt] { ... } -# 2298| getStmt(0): [ExprStmt] ExprStmt -# 2298| getExpr(): [AssignExpr] ... = ... -# 2298| Type = [PlainCharType] char -# 2298| ValueCategory = lvalue -# 2298| getLValue(): [VariableAccess] c -# 2298| Type = [PlainCharType] char -# 2298| ValueCategory = lvalue -# 2298| getRValue(): [Literal] 0 -# 2298| Type = [IntType] int -# 2298| Value = [Literal] 0 -# 2298| ValueCategory = prvalue -# 2298| getRValue().getFullyConverted(): [CStyleCast] (char)... -# 2298| Conversion = [IntegralConversion] integral conversion -# 2298| Type = [PlainCharType] char -# 2298| Value = [CStyleCast] 0 -# 2298| ValueCategory = prvalue -# 2297| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2297| Type = [VoidType] void -# 2297| ValueCategory = prvalue -# 2297| getQualifier(): [VariableAccess] s2 -# 2297| Type = [Struct] String -# 2297| ValueCategory = lvalue -# 2297| getImplicitDestructorCall(1): [DestructorCall] call to ~String -# 2297| Type = [VoidType] void -# 2297| ValueCategory = prvalue -# 2297| getQualifier(): [VariableAccess] s -# 2297| Type = [Struct] String -# 2297| ValueCategory = lvalue -# 2300| getStmt(4): [ReturnStmt] return ... -# 2302| [TopLevelFunction] void IfDestructors2(bool) -# 2302| : -# 2302| getParameter(0): [Parameter] b -# 2302| Type = [BoolType] bool -# 2302| getEntryPoint(): [BlockStmt] { ... } -# 2303| getStmt(0): [IfStmt] if (...) ... +# 2298| getStmt(2): [DeclStmt] declaration +# 2298| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s4 +# 2298| Type = [Struct] String +# 2298| getVariable().getInitializer(): [Initializer] initializer for s4 +# 2298| getExpr(): [ConstructorCall] call to String +# 2298| Type = [VoidType] void +# 2298| ValueCategory = prvalue +# 2299| getStmt(3): [ReturnStmt] return ... +# 2299| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2299| Type = [VoidType] void +# 2299| ValueCategory = prvalue +# 2299| getQualifier(): [VariableAccess] s4 +# 2299| Type = [Struct] String +# 2299| ValueCategory = lvalue +# 2299| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2299| Type = [VoidType] void +# 2299| ValueCategory = prvalue +# 2299| getQualifier(): [VariableAccess] s1 +# 2299| Type = [Struct] String +# 2299| ValueCategory = lvalue +# 2301| [TopLevelFunction] void ForDestructors() +# 2301| : +# 2301| getEntryPoint(): [BlockStmt] { ... } +# 2302| getStmt(0): [DeclStmt] declaration +# 2302| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c +# 2302| Type = [PlainCharType] char +# 2302| getVariable().getInitializer(): [Initializer] initializer for c +# 2302| getExpr(): [CharLiteral] 97 +# 2302| Type = [PlainCharType] char +# 2302| Value = [CharLiteral] 97 +# 2302| ValueCategory = prvalue +# 2303| getStmt(1): [ForStmt] for(...;...;...) ... # 2303| getInitialization(): [DeclStmt] declaration # 2303| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s # 2303| Type = [Struct] String @@ -18700,1331 +18450,1629 @@ ir.cpp: # 2303| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion # 2303| Type = [PointerType] const char * # 2303| ValueCategory = prvalue -# 2303| getCondition(): [VariableAccess] b +# 2303| getCondition(): [NEExpr] ... != ... # 2303| Type = [BoolType] bool -# 2303| ValueCategory = prvalue(load) -# 2303| getThen(): [BlockStmt] { ... } +# 2303| ValueCategory = prvalue +# 2303| getLeftOperand(): [VariableAccess] c +# 2303| Type = [PlainCharType] char +# 2303| ValueCategory = prvalue(load) +# 2303| getRightOperand(): [Literal] 0 +# 2303| Type = [IntType] int +# 2303| Value = [Literal] 0 +# 2303| ValueCategory = prvalue +# 2303| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2303| Conversion = [IntegralConversion] integral conversion +# 2303| Type = [IntType] int +# 2303| ValueCategory = prvalue +# 2303| getUpdate(): [AssignExpr] ... = ... +# 2303| Type = [PlainCharType] char +# 2303| ValueCategory = lvalue +# 2303| getLValue(): [VariableAccess] c +# 2303| Type = [PlainCharType] char +# 2303| ValueCategory = lvalue +# 2303| getRValue(): [FunctionCall] call to pop_back +# 2303| Type = [PlainCharType] char +# 2303| ValueCategory = prvalue +# 2303| getQualifier(): [VariableAccess] s +# 2303| Type = [Struct] String +# 2303| ValueCategory = lvalue +# 2303| getStmt(): [BlockStmt] { ... } # 2304| getStmt(0): [DeclStmt] declaration -# 2304| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2304| Type = [IntType] int -# 2304| getVariable().getInitializer(): [Initializer] initializer for x -# 2304| getExpr(): [Literal] 0 -# 2304| Type = [IntType] int -# 2304| Value = [Literal] 0 +# 2304| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2304| Type = [Struct] String +# 2304| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2304| getExpr(): [ConstructorCall] call to String +# 2304| Type = [VoidType] void # 2304| ValueCategory = prvalue -# 2305| getElse(): [BlockStmt] { ... } -# 2306| getStmt(0): [DeclStmt] declaration -# 2306| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2306| Type = [IntType] int -# 2306| getVariable().getInitializer(): [Initializer] initializer for y -# 2306| getExpr(): [Literal] 0 -# 2306| Type = [IntType] int -# 2306| Value = [Literal] 0 -# 2306| ValueCategory = prvalue -# 2307| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2307| Type = [VoidType] void +# 2305| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2305| Type = [VoidType] void +# 2305| ValueCategory = prvalue +# 2305| getQualifier(): [VariableAccess] s2 +# 2305| Type = [Struct] String +# 2305| ValueCategory = lvalue +# 2303| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2303| Type = [VoidType] void +# 2303| ValueCategory = prvalue +# 2303| getQualifier(): [VariableAccess] s +# 2303| Type = [Struct] String +# 2303| ValueCategory = lvalue +# 2307| getStmt(2): [RangeBasedForStmt] for(...:...) ... +# 2307| getChild(1): [DeclStmt] declaration +# 2307| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2307| Type = [RValueReferenceType] vector && +#-----| getVariable().getInitializer(): [Initializer] initializer for (__range) +# 2307| getExpr(): [ConstructorCall] call to vector +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getArgument(0): [ConstructorCall] call to String +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getArgument(0): hello +# 2307| Type = [ArrayType] const char[6] +# 2307| Value = [StringLiteral] "hello" +# 2307| ValueCategory = lvalue +# 2307| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2307| Type = [PointerType] const char * +# 2307| ValueCategory = prvalue +# 2307| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [ReuseExpr] reuse of temporary object +# 2307| Type = [Struct] String +# 2307| ValueCategory = xvalue +# 2307| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2307| Type = [Struct] String +# 2307| ValueCategory = lvalue +# 2307| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2307| Type = [LValueReferenceType] vector & +# 2307| ValueCategory = prvalue +# 2307| getExpr(): [TemporaryObjectExpr] temporary object +# 2307| Type = [ClassTemplateInstantiation,Struct] vector +# 2307| ValueCategory = xvalue +# 2307| getBeginEndDeclaration(): [DeclStmt] declaration +# 2307| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) +# 2307| getExpr(): [FunctionCall] call to begin +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] (__range) +# 2307| Type = [RValueReferenceType] vector && +# 2307| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2307| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +#-----| getVariable().getInitializer(): [Initializer] initializer for (__end) +# 2307| getExpr(): [FunctionCall] call to end +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] (__range) +# 2307| Type = [RValueReferenceType] vector && +# 2307| ValueCategory = prvalue(load) +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const vector +#-----| ValueCategory = lvalue +#-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +#-----| Type = [ClassTemplateInstantiation,Struct] vector +#-----| ValueCategory = lvalue +# 2307| getCondition(): [FunctionCall] call to operator!= +# 2307| Type = [BoolType] bool # 2307| ValueCategory = prvalue -# 2307| getQualifier(): [VariableAccess] s -# 2307| Type = [Struct] String +# 2307| getQualifier(): [VariableAccess] (__begin) +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator # 2307| ValueCategory = lvalue -# 2308| getStmt(1): [ReturnStmt] return ... -# 2310| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&) -# 2310| : +# 2307| getArgument(0): [ConstructorCall] call to iterator +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getArgument(0): [VariableAccess] (__end) +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2307| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +#-----| Type = [LValueReferenceType] const iterator & +#-----| ValueCategory = prvalue +#-----| getExpr(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +#-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object +#-----| Type = [ClassTemplateInstantiation,Struct] iterator +#-----| ValueCategory = lvalue +# 2307| getUpdate(): [FunctionCall] call to operator++ +# 2307| Type = [LValueReferenceType] iterator & +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] (__begin) +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2307| ValueCategory = lvalue +# 2307| getChild(5): [DeclStmt] declaration +# 2307| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2307| Type = [Struct] String +# 2307| getVariable().getInitializer(): [Initializer] initializer for s +# 2307| getExpr(): [ConstructorCall] call to String +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getArgument(0): [OverloadedPointerDereferenceExpr] call to operator* +# 2307| Type = [LValueReferenceType] String & +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] (__begin) +# 2307| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2307| ValueCategory = lvalue +#-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... +#-----| Conversion = [GlvalueConversion] glvalue conversion +#-----| Type = [SpecifiedType] const iterator +#-----| ValueCategory = lvalue +# 2307| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) +# 2307| Type = [LValueReferenceType] const String & +# 2307| ValueCategory = prvalue +# 2307| getExpr(): [CStyleCast] (const String)... +# 2307| Conversion = [GlvalueConversion] glvalue conversion +# 2307| Type = [SpecifiedType] const String +# 2307| ValueCategory = lvalue +# 2307| getExpr(): [ReferenceDereferenceExpr] (reference dereference) +# 2307| Type = [Struct] String +# 2307| ValueCategory = lvalue +# 2307| getStmt(): [BlockStmt] { ... } +# 2308| getStmt(0): [DeclStmt] declaration +# 2308| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2308| Type = [Struct] String +# 2308| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2308| getExpr(): [ConstructorCall] call to String +# 2308| Type = [VoidType] void +# 2308| ValueCategory = prvalue +# 2309| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2309| Type = [VoidType] void +# 2309| ValueCategory = prvalue +# 2309| getQualifier(): [VariableAccess] s2 +# 2309| Type = [Struct] String +# 2309| ValueCategory = lvalue +# 2307| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2307| Type = [VoidType] void +# 2307| ValueCategory = prvalue +# 2307| getQualifier(): [VariableAccess] s +# 2307| Type = [Struct] String +# 2307| ValueCategory = lvalue +# 2307| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2307| Type = [ClassTemplateInstantiation,Struct] iterator +# 2307| ValueCategory = lvalue +# 2311| getStmt(3): [ForStmt] for(...;...;...) ... +# 2311| getInitialization(): [DeclStmt] declaration +# 2311| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2311| Type = [Struct] String +# 2311| getVariable().getInitializer(): [Initializer] initializer for s +# 2311| getExpr(): [ConstructorCall] call to String +# 2311| Type = [VoidType] void +# 2311| ValueCategory = prvalue +# 2311| getArgument(0): hello +# 2311| Type = [ArrayType] const char[6] +# 2311| Value = [StringLiteral] "hello" +# 2311| ValueCategory = lvalue +# 2311| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2311| Type = [PointerType] const char * +# 2311| ValueCategory = prvalue +# 2311| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2 +# 2311| Type = [Struct] String +# 2311| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2311| getExpr(): [ConstructorCall] call to String +# 2311| Type = [VoidType] void +# 2311| ValueCategory = prvalue +# 2311| getArgument(0): world +# 2311| Type = [ArrayType] const char[6] +# 2311| Value = [StringLiteral] "world" +# 2311| ValueCategory = lvalue +# 2311| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2311| Type = [PointerType] const char * +# 2311| ValueCategory = prvalue +# 2311| getCondition(): [NEExpr] ... != ... +# 2311| Type = [BoolType] bool +# 2311| ValueCategory = prvalue +# 2311| getLeftOperand(): [VariableAccess] c +# 2311| Type = [PlainCharType] char +# 2311| ValueCategory = prvalue(load) +# 2311| getRightOperand(): [Literal] 0 +# 2311| Type = [IntType] int +# 2311| Value = [Literal] 0 +# 2311| ValueCategory = prvalue +# 2311| getLeftOperand().getFullyConverted(): [CStyleCast] (int)... +# 2311| Conversion = [IntegralConversion] integral conversion +# 2311| Type = [IntType] int +# 2311| ValueCategory = prvalue +# 2311| getUpdate(): [AssignExpr] ... = ... +# 2311| Type = [PlainCharType] char +# 2311| ValueCategory = lvalue +# 2311| getLValue(): [VariableAccess] c +# 2311| Type = [PlainCharType] char +# 2311| ValueCategory = lvalue +# 2311| getRValue(): [FunctionCall] call to pop_back +# 2311| Type = [PlainCharType] char +# 2311| ValueCategory = prvalue +# 2311| getQualifier(): [VariableAccess] s +# 2311| Type = [Struct] String +# 2311| ValueCategory = lvalue +# 2311| getStmt(): [BlockStmt] { ... } +# 2312| getStmt(0): [ExprStmt] ExprStmt +# 2312| getExpr(): [AssignExpr] ... = ... +# 2312| Type = [PlainCharType] char +# 2312| ValueCategory = lvalue +# 2312| getLValue(): [VariableAccess] c +# 2312| Type = [PlainCharType] char +# 2312| ValueCategory = lvalue +# 2312| getRValue(): [Literal] 0 +# 2312| Type = [IntType] int +# 2312| Value = [Literal] 0 +# 2312| ValueCategory = prvalue +# 2312| getRValue().getFullyConverted(): [CStyleCast] (char)... +# 2312| Conversion = [IntegralConversion] integral conversion +# 2312| Type = [PlainCharType] char +# 2312| Value = [CStyleCast] 0 +# 2312| ValueCategory = prvalue +# 2311| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2311| Type = [VoidType] void +# 2311| ValueCategory = prvalue +# 2311| getQualifier(): [VariableAccess] s2 +# 2311| Type = [Struct] String +# 2311| ValueCategory = lvalue +# 2311| getImplicitDestructorCall(1): [DestructorCall] call to ~String +# 2311| Type = [VoidType] void +# 2311| ValueCategory = prvalue +# 2311| getQualifier(): [VariableAccess] s +# 2311| Type = [Struct] String +# 2311| ValueCategory = lvalue +# 2314| getStmt(4): [ReturnStmt] return ... +# 2316| [TopLevelFunction] void IfDestructors2(bool) +# 2316| : +# 2316| getParameter(0): [Parameter] b +# 2316| Type = [BoolType] bool +# 2316| getEntryPoint(): [BlockStmt] { ... } +# 2317| getStmt(0): [IfStmt] if (...) ... +# 2317| getInitialization(): [DeclStmt] declaration +# 2317| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2317| Type = [Struct] String +# 2317| getVariable().getInitializer(): [Initializer] initializer for s +# 2317| getExpr(): [ConstructorCall] call to String +# 2317| Type = [VoidType] void +# 2317| ValueCategory = prvalue +# 2317| getArgument(0): hello +# 2317| Type = [ArrayType] const char[6] +# 2317| Value = [StringLiteral] "hello" +# 2317| ValueCategory = lvalue +# 2317| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion +# 2317| Type = [PointerType] const char * +# 2317| ValueCategory = prvalue +# 2317| getCondition(): [VariableAccess] b +# 2317| Type = [BoolType] bool +# 2317| ValueCategory = prvalue(load) +# 2317| getThen(): [BlockStmt] { ... } +# 2318| getStmt(0): [DeclStmt] declaration +# 2318| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2318| Type = [IntType] int +# 2318| getVariable().getInitializer(): [Initializer] initializer for x +# 2318| getExpr(): [Literal] 0 +# 2318| Type = [IntType] int +# 2318| Value = [Literal] 0 +# 2318| ValueCategory = prvalue +# 2319| getElse(): [BlockStmt] { ... } +# 2320| getStmt(0): [DeclStmt] declaration +# 2320| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2320| Type = [IntType] int +# 2320| getVariable().getInitializer(): [Initializer] initializer for y +# 2320| getExpr(): [Literal] 0 +# 2320| Type = [IntType] int +# 2320| Value = [Literal] 0 +# 2320| ValueCategory = prvalue +# 2321| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2321| Type = [VoidType] void +# 2321| ValueCategory = prvalue +# 2321| getQualifier(): [VariableAccess] s +# 2321| Type = [Struct] String +# 2321| ValueCategory = lvalue +# 2322| getStmt(1): [ReturnStmt] return ... +# 2324| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&) +# 2324| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bool & -# 2310| [CopyConstructor] void Bool::Bool(Bool const&) -# 2310| : +# 2324| [CopyConstructor] void Bool::Bool(Bool const&) +# 2324| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const Bool & -# 2312| [Constructor] void Bool::Bool(bool) -# 2312| : -# 2312| getParameter(0): [Parameter] b_ -# 2312| Type = [BoolType] bool -# 2313| [ConversionOperator] bool Bool::operator bool() -# 2313| : -# 2314| [Destructor] void Bool::~Bool() -# 2314| : -# 2317| [TopLevelFunction] void IfDestructors3(bool) -# 2317| : -# 2317| getParameter(0): [Parameter] b -# 2317| Type = [BoolType] bool -# 2317| getEntryPoint(): [BlockStmt] { ... } -# 2318| getStmt(0): [IfStmt] if (...) ... -# 2318| getCondition(): [ConditionDeclExpr] (condition decl) -# 2318| Type = [BoolType] bool -# 2318| ValueCategory = prvalue -# 2318| getChild(0): [FunctionCall] call to operator bool -# 2318| Type = [BoolType] bool -# 2318| ValueCategory = prvalue -# 2318| getQualifier(): [VariableAccess] B -# 2318| Type = [Class] Bool -# 2318| ValueCategory = prvalue(load) -# 2318| getInitializingExpr(): [ConstructorCall] call to Bool -# 2318| Type = [VoidType] void -# 2318| ValueCategory = prvalue -# 2318| getArgument(0): [VariableAccess] b -# 2318| Type = [BoolType] bool -# 2318| ValueCategory = prvalue(load) -# 2318| getThen(): [BlockStmt] { ... } -# 2319| getStmt(0): [DeclStmt] declaration -# 2319| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 -# 2319| Type = [Struct] String -# 2319| getVariable().getInitializer(): [Initializer] initializer for s1 -# 2319| getExpr(): [ConstructorCall] call to String -# 2319| Type = [VoidType] void -# 2319| ValueCategory = prvalue -# 2320| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2320| Type = [VoidType] void -# 2320| ValueCategory = prvalue -# 2320| getQualifier(): [VariableAccess] s1 -# 2320| Type = [Struct] String -# 2320| ValueCategory = lvalue -# 2320| getElse(): [BlockStmt] { ... } -# 2321| getStmt(0): [DeclStmt] declaration -# 2321| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 -# 2321| Type = [Struct] String -# 2321| getVariable().getInitializer(): [Initializer] initializer for s2 -# 2321| getExpr(): [ConstructorCall] call to String -# 2321| Type = [VoidType] void -# 2321| ValueCategory = prvalue -# 2322| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2322| Type = [VoidType] void -# 2322| ValueCategory = prvalue -# 2322| getQualifier(): [VariableAccess] s2 -# 2322| Type = [Struct] String -# 2322| ValueCategory = lvalue -# 2322| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2322| Type = [VoidType] void -# 2322| ValueCategory = prvalue -# 2322| getQualifier(): [VariableAccess] B -# 2322| Type = [Class] Bool -# 2322| ValueCategory = lvalue -# 2323| getStmt(1): [ReturnStmt] return ... -# 2325| [TopLevelFunction] void WhileLoopDestructors(bool) -# 2325| : -# 2325| getParameter(0): [Parameter] b -# 2325| Type = [BoolType] bool -# 2325| getEntryPoint(): [BlockStmt] { ... } -# 2326| getStmt(0): [BlockStmt] { ... } -# 2327| getStmt(0): [DeclStmt] declaration -# 2327| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2327| Type = [Struct] String -# 2327| getVariable().getInitializer(): [Initializer] initializer for s -# 2327| getExpr(): [ConstructorCall] call to String -# 2327| Type = [VoidType] void -# 2327| ValueCategory = prvalue -# 2328| getStmt(1): [WhileStmt] while (...) ... -# 2328| getCondition(): [VariableAccess] b -# 2328| Type = [BoolType] bool -# 2328| ValueCategory = prvalue(load) -# 2328| getStmt(): [BlockStmt] { ... } -# 2329| getStmt(0): [ExprStmt] ExprStmt -# 2329| getExpr(): [AssignExpr] ... = ... -# 2329| Type = [BoolType] bool -# 2329| ValueCategory = lvalue -# 2329| getLValue(): [VariableAccess] b -# 2329| Type = [BoolType] bool -# 2329| ValueCategory = lvalue -# 2329| getRValue(): [Literal] 0 -# 2329| Type = [BoolType] bool -# 2329| Value = [Literal] 0 -# 2329| ValueCategory = prvalue -# 2331| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2331| Type = [VoidType] void -# 2331| ValueCategory = prvalue -# 2331| getQualifier(): [VariableAccess] s -# 2331| Type = [Struct] String -# 2331| ValueCategory = lvalue -# 2333| getStmt(1): [BlockStmt] { ... } -# 2334| getStmt(0): [WhileStmt] while (...) ... -# 2334| getCondition(): [ConditionDeclExpr] (condition decl) -# 2334| Type = [BoolType] bool +# 2326| [Constructor] void Bool::Bool(bool) +# 2326| : +# 2326| getParameter(0): [Parameter] b_ +# 2326| Type = [BoolType] bool +# 2327| [ConversionOperator] bool Bool::operator bool() +# 2327| : +# 2328| [Destructor] void Bool::~Bool() +# 2328| : +# 2331| [TopLevelFunction] void IfDestructors3(bool) +# 2331| : +# 2331| getParameter(0): [Parameter] b +# 2331| Type = [BoolType] bool +# 2331| getEntryPoint(): [BlockStmt] { ... } +# 2332| getStmt(0): [IfStmt] if (...) ... +# 2332| getCondition(): [ConditionDeclExpr] (condition decl) +# 2332| Type = [BoolType] bool +# 2332| ValueCategory = prvalue +# 2332| getChild(0): [FunctionCall] call to operator bool +# 2332| Type = [BoolType] bool +# 2332| ValueCategory = prvalue +# 2332| getQualifier(): [VariableAccess] B +# 2332| Type = [Class] Bool +# 2332| ValueCategory = prvalue(load) +# 2332| getInitializingExpr(): [ConstructorCall] call to Bool +# 2332| Type = [VoidType] void +# 2332| ValueCategory = prvalue +# 2332| getArgument(0): [VariableAccess] b +# 2332| Type = [BoolType] bool +# 2332| ValueCategory = prvalue(load) +# 2332| getThen(): [BlockStmt] { ... } +# 2333| getStmt(0): [DeclStmt] declaration +# 2333| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1 +# 2333| Type = [Struct] String +# 2333| getVariable().getInitializer(): [Initializer] initializer for s1 +# 2333| getExpr(): [ConstructorCall] call to String +# 2333| Type = [VoidType] void +# 2333| ValueCategory = prvalue +# 2334| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2334| Type = [VoidType] void # 2334| ValueCategory = prvalue -# 2334| getChild(0): [FunctionCall] call to operator bool -# 2334| Type = [BoolType] bool -# 2334| ValueCategory = prvalue -# 2334| getQualifier(): [VariableAccess] B -# 2334| Type = [Class] Bool -# 2334| ValueCategory = prvalue(load) -# 2334| getInitializingExpr(): [ConstructorCall] call to Bool -# 2334| Type = [VoidType] void -# 2334| ValueCategory = prvalue -# 2334| getArgument(0): [VariableAccess] b -# 2334| Type = [BoolType] bool -# 2334| ValueCategory = prvalue(load) -# 2334| getStmt(): [BlockStmt] { ... } -# 2335| getStmt(0): [ExprStmt] ExprStmt -# 2335| getExpr(): [AssignExpr] ... = ... -# 2335| Type = [BoolType] bool -# 2335| ValueCategory = lvalue -# 2335| getLValue(): [VariableAccess] b -# 2335| Type = [BoolType] bool -# 2335| ValueCategory = lvalue -# 2335| getRValue(): [Literal] 0 -# 2335| Type = [BoolType] bool -# 2335| Value = [Literal] 0 +# 2334| getQualifier(): [VariableAccess] s1 +# 2334| Type = [Struct] String +# 2334| ValueCategory = lvalue +# 2334| getElse(): [BlockStmt] { ... } +# 2335| getStmt(0): [DeclStmt] declaration +# 2335| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2 +# 2335| Type = [Struct] String +# 2335| getVariable().getInitializer(): [Initializer] initializer for s2 +# 2335| getExpr(): [ConstructorCall] call to String +# 2335| Type = [VoidType] void # 2335| ValueCategory = prvalue -# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool -# 2336| Type = [VoidType] void -# 2336| ValueCategory = prvalue -# 2336| getQualifier(): [VariableAccess] B -# 2336| Type = [Class] Bool -# 2336| ValueCategory = lvalue -# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~String # 2336| Type = [VoidType] void # 2336| ValueCategory = prvalue -# 2336| getQualifier(): [VariableAccess] B -# 2336| Type = [Class] Bool +# 2336| getQualifier(): [VariableAccess] s2 +# 2336| Type = [Struct] String # 2336| ValueCategory = lvalue -# 2338| getStmt(2): [ReturnStmt] return ... -# 2340| [TopLevelFunction] void VoidFunc() -# 2340| : -# 2340| getEntryPoint(): [BlockStmt] { ... } -# 2340| getStmt(0): [ReturnStmt] return ... -# 2342| [TopLevelFunction] void IfReturnDestructors(bool) -# 2342| : -# 2342| getParameter(0): [Parameter] b -# 2342| Type = [BoolType] bool -# 2342| getEntryPoint(): [BlockStmt] { ... } -# 2343| getStmt(0): [DeclStmt] declaration -# 2343| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2343| Type = [Struct] String -# 2343| getVariable().getInitializer(): [Initializer] initializer for s -# 2343| getExpr(): [ConstructorCall] call to String -# 2343| Type = [VoidType] void -# 2343| ValueCategory = prvalue -# 2344| getStmt(1): [IfStmt] if (...) ... -# 2344| getCondition(): [VariableAccess] b -# 2344| Type = [BoolType] bool -# 2344| ValueCategory = prvalue(load) -# 2344| getThen(): [BlockStmt] { ... } -# 2345| getStmt(0): [ReturnStmt] return ... -# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2351| Type = [VoidType] void -# 2351| ValueCategory = prvalue -# 2351| getQualifier(): [VariableAccess] s -# 2351| Type = [Struct] String -# 2351| ValueCategory = lvalue -# 2347| getStmt(2): [IfStmt] if (...) ... -# 2347| getCondition(): [VariableAccess] b -# 2347| Type = [BoolType] bool -# 2347| ValueCategory = prvalue(load) -# 2347| getThen(): [BlockStmt] { ... } -# 2348| getStmt(0): [ReturnStmt] return ... -# 2348| getExpr(): [FunctionCall] call to VoidFunc +# 2336| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2336| Type = [VoidType] void +# 2336| ValueCategory = prvalue +# 2336| getQualifier(): [VariableAccess] B +# 2336| Type = [Class] Bool +# 2336| ValueCategory = lvalue +# 2337| getStmt(1): [ReturnStmt] return ... +# 2339| [TopLevelFunction] void WhileLoopDestructors(bool) +# 2339| : +# 2339| getParameter(0): [Parameter] b +# 2339| Type = [BoolType] bool +# 2339| getEntryPoint(): [BlockStmt] { ... } +# 2340| getStmt(0): [BlockStmt] { ... } +# 2341| getStmt(0): [DeclStmt] declaration +# 2341| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2341| Type = [Struct] String +# 2341| getVariable().getInitializer(): [Initializer] initializer for s +# 2341| getExpr(): [ConstructorCall] call to String +# 2341| Type = [VoidType] void +# 2341| ValueCategory = prvalue +# 2342| getStmt(1): [WhileStmt] while (...) ... +# 2342| getCondition(): [VariableAccess] b +# 2342| Type = [BoolType] bool +# 2342| ValueCategory = prvalue(load) +# 2342| getStmt(): [BlockStmt] { ... } +# 2343| getStmt(0): [ExprStmt] ExprStmt +# 2343| getExpr(): [AssignExpr] ... = ... +# 2343| Type = [BoolType] bool +# 2343| ValueCategory = lvalue +# 2343| getLValue(): [VariableAccess] b +# 2343| Type = [BoolType] bool +# 2343| ValueCategory = lvalue +# 2343| getRValue(): [Literal] 0 +# 2343| Type = [BoolType] bool +# 2343| Value = [Literal] 0 +# 2343| ValueCategory = prvalue +# 2345| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2345| Type = [VoidType] void +# 2345| ValueCategory = prvalue +# 2345| getQualifier(): [VariableAccess] s +# 2345| Type = [Struct] String +# 2345| ValueCategory = lvalue +# 2347| getStmt(1): [BlockStmt] { ... } +# 2348| getStmt(0): [WhileStmt] while (...) ... +# 2348| getCondition(): [ConditionDeclExpr] (condition decl) +# 2348| Type = [BoolType] bool +# 2348| ValueCategory = prvalue +# 2348| getChild(0): [FunctionCall] call to operator bool +# 2348| Type = [BoolType] bool +# 2348| ValueCategory = prvalue +# 2348| getQualifier(): [VariableAccess] B +# 2348| Type = [Class] Bool +# 2348| ValueCategory = prvalue(load) +# 2348| getInitializingExpr(): [ConstructorCall] call to Bool # 2348| Type = [VoidType] void # 2348| ValueCategory = prvalue -# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2351| Type = [VoidType] void -# 2351| ValueCategory = prvalue -# 2351| getQualifier(): [VariableAccess] s -# 2351| Type = [Struct] String -# 2351| ValueCategory = lvalue -# 2350| getStmt(3): [ExprStmt] ExprStmt -# 2350| getExpr(): [VariableAccess] s -# 2350| Type = [Struct] String -# 2350| ValueCategory = lvalue -# 2351| getStmt(4): [ReturnStmt] return ... -# 2351| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2351| Type = [VoidType] void -# 2351| ValueCategory = prvalue -# 2351| getQualifier(): [VariableAccess] s -# 2351| Type = [Struct] String -# 2351| ValueCategory = lvalue -# 2353| [TopLevelFunction] int IfReturnDestructors3(bool) -# 2353| : -# 2353| getParameter(0): [Parameter] b -# 2353| Type = [BoolType] bool -# 2353| getEntryPoint(): [BlockStmt] { ... } -# 2354| getStmt(0): [DeclStmt] declaration -# 2354| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2354| Type = [Struct] String -# 2354| getVariable().getInitializer(): [Initializer] initializer for s -# 2354| getExpr(): [ConstructorCall] call to String -# 2354| Type = [VoidType] void -# 2354| ValueCategory = prvalue -# 2355| getStmt(1): [IfStmt] if (...) ... -# 2355| getCondition(): [VariableAccess] b -# 2355| Type = [BoolType] bool -# 2355| ValueCategory = prvalue(load) -# 2355| getThen(): [BlockStmt] { ... } -# 2356| getStmt(0): [ReturnStmt] return ... -# 2356| getExpr(): [Literal] 1 -# 2356| Type = [IntType] int -# 2356| Value = [Literal] 1 -# 2356| ValueCategory = prvalue -# 2359| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2359| Type = [VoidType] void -# 2359| ValueCategory = prvalue -# 2359| getQualifier(): [VariableAccess] s -# 2359| Type = [Struct] String -# 2359| ValueCategory = lvalue -# 2358| getStmt(2): [ReturnStmt] return ... -# 2358| getExpr(): [Literal] 0 -# 2358| Type = [IntType] int -# 2358| Value = [Literal] 0 -# 2358| ValueCategory = prvalue -# 2359| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2359| Type = [VoidType] void -# 2359| ValueCategory = prvalue -# 2359| getQualifier(): [VariableAccess] s -# 2359| Type = [Struct] String -# 2359| ValueCategory = lvalue -# 2361| [TopLevelFunction] void VoidReturnDestructors() -# 2361| : -# 2361| getEntryPoint(): [BlockStmt] { ... } -# 2362| getStmt(0): [DeclStmt] declaration -# 2362| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s -# 2362| Type = [Struct] String -# 2362| getVariable().getInitializer(): [Initializer] initializer for s -# 2362| getExpr(): [ConstructorCall] call to String +# 2348| getArgument(0): [VariableAccess] b +# 2348| Type = [BoolType] bool +# 2348| ValueCategory = prvalue(load) +# 2348| getStmt(): [BlockStmt] { ... } +# 2349| getStmt(0): [ExprStmt] ExprStmt +# 2349| getExpr(): [AssignExpr] ... = ... +# 2349| Type = [BoolType] bool +# 2349| ValueCategory = lvalue +# 2349| getLValue(): [VariableAccess] b +# 2349| Type = [BoolType] bool +# 2349| ValueCategory = lvalue +# 2349| getRValue(): [Literal] 0 +# 2349| Type = [BoolType] bool +# 2349| Value = [Literal] 0 +# 2349| ValueCategory = prvalue +# 2350| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2350| Type = [VoidType] void +# 2350| ValueCategory = prvalue +# 2350| getQualifier(): [VariableAccess] B +# 2350| Type = [Class] Bool +# 2350| ValueCategory = lvalue +# 2350| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool +# 2350| Type = [VoidType] void +# 2350| ValueCategory = prvalue +# 2350| getQualifier(): [VariableAccess] B +# 2350| Type = [Class] Bool +# 2350| ValueCategory = lvalue +# 2352| getStmt(2): [ReturnStmt] return ... +# 2354| [TopLevelFunction] void VoidFunc() +# 2354| : +# 2354| getEntryPoint(): [BlockStmt] { ... } +# 2354| getStmt(0): [ReturnStmt] return ... +# 2356| [TopLevelFunction] void IfReturnDestructors(bool) +# 2356| : +# 2356| getParameter(0): [Parameter] b +# 2356| Type = [BoolType] bool +# 2356| getEntryPoint(): [BlockStmt] { ... } +# 2357| getStmt(0): [DeclStmt] declaration +# 2357| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2357| Type = [Struct] String +# 2357| getVariable().getInitializer(): [Initializer] initializer for s +# 2357| getExpr(): [ConstructorCall] call to String +# 2357| Type = [VoidType] void +# 2357| ValueCategory = prvalue +# 2358| getStmt(1): [IfStmt] if (...) ... +# 2358| getCondition(): [VariableAccess] b +# 2358| Type = [BoolType] bool +# 2358| ValueCategory = prvalue(load) +# 2358| getThen(): [BlockStmt] { ... } +# 2359| getStmt(0): [ReturnStmt] return ... +# 2365| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2365| Type = [VoidType] void +# 2365| ValueCategory = prvalue +# 2365| getQualifier(): [VariableAccess] s +# 2365| Type = [Struct] String +# 2365| ValueCategory = lvalue +# 2361| getStmt(2): [IfStmt] if (...) ... +# 2361| getCondition(): [VariableAccess] b +# 2361| Type = [BoolType] bool +# 2361| ValueCategory = prvalue(load) +# 2361| getThen(): [BlockStmt] { ... } +# 2362| getStmt(0): [ReturnStmt] return ... +# 2362| getExpr(): [FunctionCall] call to VoidFunc # 2362| Type = [VoidType] void # 2362| ValueCategory = prvalue -# 2363| getStmt(1): [ReturnStmt] return ... -# 2363| getExpr(): [FunctionCall] call to VoidFunc -# 2363| Type = [VoidType] void -# 2363| ValueCategory = prvalue -# 2364| getImplicitDestructorCall(0): [DestructorCall] call to ~String -# 2364| Type = [VoidType] void -# 2364| ValueCategory = prvalue -# 2364| getQualifier(): [VariableAccess] s -# 2364| Type = [Struct] String -# 2364| ValueCategory = lvalue -# 2367| [CopyAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc const&) +# 2365| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2365| Type = [VoidType] void +# 2365| ValueCategory = prvalue +# 2365| getQualifier(): [VariableAccess] s +# 2365| Type = [Struct] String +# 2365| ValueCategory = lvalue +# 2364| getStmt(3): [ExprStmt] ExprStmt +# 2364| getExpr(): [VariableAccess] s +# 2364| Type = [Struct] String +# 2364| ValueCategory = lvalue +# 2365| getStmt(4): [ReturnStmt] return ... +# 2365| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2365| Type = [VoidType] void +# 2365| ValueCategory = prvalue +# 2365| getQualifier(): [VariableAccess] s +# 2365| Type = [Struct] String +# 2365| ValueCategory = lvalue +# 2367| [TopLevelFunction] int IfReturnDestructors3(bool) # 2367| : +# 2367| getParameter(0): [Parameter] b +# 2367| Type = [BoolType] bool +# 2367| getEntryPoint(): [BlockStmt] { ... } +# 2368| getStmt(0): [DeclStmt] declaration +# 2368| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2368| Type = [Struct] String +# 2368| getVariable().getInitializer(): [Initializer] initializer for s +# 2368| getExpr(): [ConstructorCall] call to String +# 2368| Type = [VoidType] void +# 2368| ValueCategory = prvalue +# 2369| getStmt(1): [IfStmt] if (...) ... +# 2369| getCondition(): [VariableAccess] b +# 2369| Type = [BoolType] bool +# 2369| ValueCategory = prvalue(load) +# 2369| getThen(): [BlockStmt] { ... } +# 2370| getStmt(0): [ReturnStmt] return ... +# 2370| getExpr(): [Literal] 1 +# 2370| Type = [IntType] int +# 2370| Value = [Literal] 1 +# 2370| ValueCategory = prvalue +# 2373| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2373| Type = [VoidType] void +# 2373| ValueCategory = prvalue +# 2373| getQualifier(): [VariableAccess] s +# 2373| Type = [Struct] String +# 2373| ValueCategory = lvalue +# 2372| getStmt(2): [ReturnStmt] return ... +# 2372| getExpr(): [Literal] 0 +# 2372| Type = [IntType] int +# 2372| Value = [Literal] 0 +# 2372| ValueCategory = prvalue +# 2373| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2373| Type = [VoidType] void +# 2373| ValueCategory = prvalue +# 2373| getQualifier(): [VariableAccess] s +# 2373| Type = [Struct] String +# 2373| ValueCategory = lvalue +# 2375| [TopLevelFunction] void VoidReturnDestructors() +# 2375| : +# 2375| getEntryPoint(): [BlockStmt] { ... } +# 2376| getStmt(0): [DeclStmt] declaration +# 2376| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s +# 2376| Type = [Struct] String +# 2376| getVariable().getInitializer(): [Initializer] initializer for s +# 2376| getExpr(): [ConstructorCall] call to String +# 2376| Type = [VoidType] void +# 2376| ValueCategory = prvalue +# 2377| getStmt(1): [ReturnStmt] return ... +# 2377| getExpr(): [FunctionCall] call to VoidFunc +# 2377| Type = [VoidType] void +# 2377| ValueCategory = prvalue +# 2378| getImplicitDestructorCall(0): [DestructorCall] call to ~String +# 2378| Type = [VoidType] void +# 2378| ValueCategory = prvalue +# 2378| getQualifier(): [VariableAccess] s +# 2378| Type = [Struct] String +# 2378| ValueCategory = lvalue +# 2381| [CopyAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc const&) +# 2381| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [LValueReferenceType] const HasVoidToIntFunc & -# 2367| [MoveAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc&&) -# 2367| : +# 2381| [MoveAssignmentOperator] return_routine_type::HasVoidToIntFunc& return_routine_type::HasVoidToIntFunc::operator=(return_routine_type::HasVoidToIntFunc&&) +# 2381| : #-----| getParameter(0): [Parameter] (unnamed parameter 0) #-----| Type = [RValueReferenceType] HasVoidToIntFunc && -# 2369| [MemberFunction] void return_routine_type::HasVoidToIntFunc::VoidToInt(int) -# 2369| : -# 2369| getParameter(0): [Parameter] (unnamed parameter 0) -# 2369| Type = [IntType] int -# 2374| [TopLevelFunction] return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2374| : -# 2375| getEntryPoint(): [BlockStmt] { ... } -# 2376| getStmt(0): [ReturnStmt] return ... -# 2376| getExpr(): [FunctionAccess] VoidToInt -# 2376| Type = [RoutineType] ..()(..) -# 2376| ValueCategory = prvalue -# 2381| [TopLevelFunction] int small_operation_should_not_be_constant_folded() -# 2381| : -# 2381| getEntryPoint(): [BlockStmt] { ... } -# 2382| getStmt(0): [ReturnStmt] return ... -# 2382| getExpr(): [BitwiseXorExpr] ... ^ ... -# 2382| Type = [IntType] int -# 2382| Value = [BitwiseXorExpr] 3 -# 2382| ValueCategory = prvalue -# 2382| getLeftOperand(): [Literal] 1 -# 2382| Type = [IntType] int -# 2382| Value = [Literal] 1 -# 2382| ValueCategory = prvalue -# 2382| getRightOperand(): [Literal] 2 -# 2382| Type = [IntType] int -# 2382| Value = [Literal] 2 -# 2382| ValueCategory = prvalue -# 2392| [TopLevelFunction] int large_operation_should_be_constant_folded() -# 2392| : -# 2392| getEntryPoint(): [BlockStmt] { ... } -# 2393| getStmt(0): [ReturnStmt] return ... -# 2393| getExpr(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [BitwiseXorExpr] ... ^ ... -# 2393| Type = [IntType] int -# 2393| Value = [BitwiseXorExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand(): [Literal] 1 -# 2393| Type = [IntType] int -# 2393| Value = [Literal] 1 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2393| getExpr().getFullyConverted(): [ParenthesisExpr] (...) -# 2393| Type = [IntType] int -# 2393| Value = [ParenthesisExpr] 0 -# 2393| ValueCategory = prvalue -# 2396| [TopLevelFunction] void initialization_with_temp_destructor() -# 2396| : -# 2396| getEntryPoint(): [BlockStmt] { ... } -# 2397| getStmt(0): [IfStmt] if (...) ... -# 2397| getCondition(): [ConditionDeclExpr] (condition decl) -# 2397| Type = [BoolType] bool -# 2397| ValueCategory = prvalue -# 2397| getVariableAccess(): [VariableAccess] x -# 2397| Type = [PlainCharType] char -# 2397| ValueCategory = prvalue(load) -# 2397| getInitializingExpr(): [FunctionCall] call to get_x -# 2397| Type = [PlainCharType] char -# 2397| ValueCategory = prvalue -# 2397| getQualifier(): [ConstructorCall] call to ClassWithDestructor -# 2397| Type = [VoidType] void -# 2397| ValueCategory = prvalue -# 2397| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2397| Type = [VoidType] void -# 2397| ValueCategory = prvalue -# 2397| getQualifier(): [ReuseExpr] reuse of temporary object -# 2397| Type = [Class] ClassWithDestructor -# 2397| ValueCategory = xvalue -# 2397| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2397| Type = [Class] ClassWithDestructor -# 2397| ValueCategory = prvalue(load) -# 2397| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... -# 2397| Conversion = [BoolConversion] conversion to bool -# 2397| Type = [BoolType] bool -# 2397| ValueCategory = prvalue -# 2398| getThen(): [ExprStmt] ExprStmt -# 2398| getExpr(): [PostfixIncrExpr] ... ++ -# 2398| Type = [PlainCharType] char -# 2398| ValueCategory = prvalue -# 2398| getOperand(): [VariableAccess] x -# 2398| Type = [PlainCharType] char -# 2398| ValueCategory = lvalue -# 2400| getStmt(1): [IfStmt] if (...) ... -# 2400| getInitialization(): [DeclStmt] declaration -# 2400| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2400| Type = [PlainCharType] char -# 2400| getVariable().getInitializer(): [Initializer] initializer for x -# 2400| getExpr(): [FunctionCall] call to get_x -# 2400| Type = [PlainCharType] char -# 2400| ValueCategory = prvalue -# 2400| getQualifier(): [ConstructorCall] call to ClassWithDestructor -# 2400| Type = [VoidType] void -# 2400| ValueCategory = prvalue -# 2400| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2400| Type = [VoidType] void -# 2400| ValueCategory = prvalue -# 2400| getQualifier(): [ReuseExpr] reuse of temporary object -# 2400| Type = [Class] ClassWithDestructor -# 2400| ValueCategory = xvalue -# 2400| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2400| Type = [Class] ClassWithDestructor -# 2400| ValueCategory = prvalue(load) -# 2400| getCondition(): [VariableAccess] x -# 2400| Type = [PlainCharType] char -# 2400| ValueCategory = prvalue(load) -# 2401| getThen(): [ExprStmt] ExprStmt -# 2401| getExpr(): [PostfixIncrExpr] ... ++ -# 2401| Type = [PlainCharType] char -# 2401| ValueCategory = prvalue -# 2401| getOperand(): [VariableAccess] x -# 2401| Type = [PlainCharType] char -# 2401| ValueCategory = lvalue -# 2400| getCondition().getFullyConverted(): [CStyleCast] (bool)... -# 2400| Conversion = [BoolConversion] conversion to bool -# 2400| Type = [BoolType] bool -# 2400| ValueCategory = prvalue -# 2403| getStmt(2): [ConstexprIfStmt] if constexpr (...) ... -# 2403| getInitialization(): [DeclStmt] declaration -# 2403| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2403| Type = [PlainCharType] char -# 2403| getVariable().getInitializer(): [Initializer] initializer for x -# 2403| getExpr(): [FunctionCall] call to get_x -# 2403| Type = [PlainCharType] char -# 2403| ValueCategory = prvalue -# 2403| getQualifier(): [ConstructorCall] call to ClassWithDestructor -# 2403| Type = [VoidType] void -# 2403| ValueCategory = prvalue -# 2403| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2403| Type = [VoidType] void -# 2403| ValueCategory = prvalue -# 2403| getQualifier(): [ReuseExpr] reuse of temporary object -# 2403| Type = [Class] ClassWithDestructor -# 2403| ValueCategory = xvalue -# 2403| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2403| Type = [Class] ClassWithDestructor -# 2403| ValueCategory = prvalue(load) -# 2403| getCondition(): [VariableAccess] initialization_with_destructor_bool -# 2403| Type = [BoolType] bool -# 2403| Value = [VariableAccess] 1 -# 2403| ValueCategory = prvalue(load) -# 2404| getThen(): [ExprStmt] ExprStmt -# 2404| getExpr(): [PostfixIncrExpr] ... ++ -# 2404| Type = [PlainCharType] char -# 2404| ValueCategory = prvalue -# 2404| getOperand(): [VariableAccess] x -# 2404| Type = [PlainCharType] char -# 2404| ValueCategory = lvalue -# 2406| getStmt(3): [SwitchStmt] switch (...) ... -# 2406| getExpr(): [ConditionDeclExpr] (condition decl) -# 2406| Type = [IntType] int -# 2406| ValueCategory = prvalue -# 2406| getVariableAccess(): [VariableAccess] x -# 2406| Type = [PlainCharType] char -# 2406| ValueCategory = prvalue(load) -# 2406| getInitializingExpr(): [FunctionCall] call to get_x -# 2406| Type = [PlainCharType] char -# 2406| ValueCategory = prvalue -# 2406| getQualifier(): [ConstructorCall] call to ClassWithDestructor -# 2406| Type = [VoidType] void -# 2406| ValueCategory = prvalue -# 2406| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2406| Type = [VoidType] void -# 2406| ValueCategory = prvalue -# 2406| getQualifier(): [ReuseExpr] reuse of temporary object -# 2406| Type = [Class] ClassWithDestructor -# 2406| ValueCategory = xvalue -# 2406| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2406| Type = [Class] ClassWithDestructor -# 2406| ValueCategory = prvalue(load) -# 2406| getVariableAccess().getFullyConverted(): [CStyleCast] (int)... -# 2406| Conversion = [IntegralConversion] integral conversion -# 2406| Type = [IntType] int -# 2406| ValueCategory = prvalue -# 2406| getStmt(): [BlockStmt] { ... } -# 2407| getStmt(0): [SwitchCase] case ...: -# 2407| getExpr(): [CharLiteral] 97 -# 2407| Type = [PlainCharType] char -# 2407| Value = [CharLiteral] 97 +# 2383| [MemberFunction] void return_routine_type::HasVoidToIntFunc::VoidToInt(int) +# 2383| : +# 2383| getParameter(0): [Parameter] (unnamed parameter 0) +# 2383| Type = [IntType] int +# 2388| [TopLevelFunction] return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2388| : +# 2389| getEntryPoint(): [BlockStmt] { ... } +# 2390| getStmt(0): [ReturnStmt] return ... +# 2390| getExpr(): [FunctionAccess] VoidToInt +# 2390| Type = [RoutineType] ..()(..) +# 2390| ValueCategory = prvalue +# 2395| [TopLevelFunction] int small_operation_should_not_be_constant_folded() +# 2395| : +# 2395| getEntryPoint(): [BlockStmt] { ... } +# 2396| getStmt(0): [ReturnStmt] return ... +# 2396| getExpr(): [BitwiseXorExpr] ... ^ ... +# 2396| Type = [IntType] int +# 2396| Value = [BitwiseXorExpr] 3 +# 2396| ValueCategory = prvalue +# 2396| getLeftOperand(): [Literal] 1 +# 2396| Type = [IntType] int +# 2396| Value = [Literal] 1 +# 2396| ValueCategory = prvalue +# 2396| getRightOperand(): [Literal] 2 +# 2396| Type = [IntType] int +# 2396| Value = [Literal] 2 +# 2396| ValueCategory = prvalue +# 2406| [TopLevelFunction] int large_operation_should_be_constant_folded() +# 2406| : +# 2406| getEntryPoint(): [BlockStmt] { ... } +# 2407| getStmt(0): [ReturnStmt] return ... +# 2407| getExpr(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 # 2407| ValueCategory = prvalue -# 2407| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2407| Conversion = [IntegralConversion] integral conversion +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) # 2407| Type = [IntType] int -# 2407| Value = [CStyleCast] 97 +# 2407| Value = [ParenthesisExpr] 0 # 2407| ValueCategory = prvalue -# 2408| getStmt(1): [ExprStmt] ExprStmt -# 2408| getExpr(): [PostfixIncrExpr] ... ++ -# 2408| Type = [PlainCharType] char -# 2408| ValueCategory = prvalue -# 2408| getOperand(): [VariableAccess] x -# 2408| Type = [PlainCharType] char -# 2408| ValueCategory = lvalue -# 2411| getStmt(4): [SwitchStmt] switch (...) ... -# 2411| getInitialization(): [DeclStmt] declaration -# 2411| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [BitwiseXorExpr] ... ^ ... +# 2407| Type = [IntType] int +# 2407| Value = [BitwiseXorExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand(): [Literal] 1 +# 2407| Type = [IntType] int +# 2407| Value = [Literal] 1 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getLeftOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getRightOperand().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2407| getExpr().getFullyConverted(): [ParenthesisExpr] (...) +# 2407| Type = [IntType] int +# 2407| Value = [ParenthesisExpr] 0 +# 2407| ValueCategory = prvalue +# 2410| [TopLevelFunction] void initialization_with_temp_destructor() +# 2410| : +# 2410| getEntryPoint(): [BlockStmt] { ... } +# 2411| getStmt(0): [IfStmt] if (...) ... +# 2411| getCondition(): [ConditionDeclExpr] (condition decl) +# 2411| Type = [BoolType] bool +# 2411| ValueCategory = prvalue +# 2411| getVariableAccess(): [VariableAccess] x +# 2411| Type = [PlainCharType] char +# 2411| ValueCategory = prvalue(load) +# 2411| getInitializingExpr(): [FunctionCall] call to get_x # 2411| Type = [PlainCharType] char -# 2411| getVariable().getInitializer(): [Initializer] initializer for x -# 2411| getExpr(): [FunctionCall] call to get_x -# 2411| Type = [PlainCharType] char -# 2411| ValueCategory = prvalue -# 2411| getQualifier(): [ConstructorCall] call to ClassWithDestructor -# 2411| Type = [VoidType] void -# 2411| ValueCategory = prvalue -# 2411| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2411| Type = [VoidType] void -# 2411| ValueCategory = prvalue -# 2411| getQualifier(): [ReuseExpr] reuse of temporary object -# 2411| Type = [Class] ClassWithDestructor -# 2411| ValueCategory = xvalue -# 2411| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2411| Type = [Class] ClassWithDestructor -# 2411| ValueCategory = prvalue(load) -# 2411| getExpr(): [VariableAccess] x -# 2411| Type = [PlainCharType] char -# 2411| ValueCategory = prvalue(load) -# 2411| getStmt(): [BlockStmt] { ... } -# 2412| getStmt(0): [SwitchCase] case ...: -# 2412| getExpr(): [CharLiteral] 97 +# 2411| ValueCategory = prvalue +# 2411| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2411| Type = [VoidType] void +# 2411| ValueCategory = prvalue +# 2411| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2411| Type = [VoidType] void +# 2411| ValueCategory = prvalue +# 2411| getQualifier(): [ReuseExpr] reuse of temporary object +# 2411| Type = [Class] ClassWithDestructor +# 2411| ValueCategory = xvalue +# 2411| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2411| Type = [Class] ClassWithDestructor +# 2411| ValueCategory = prvalue(load) +# 2411| getVariableAccess().getFullyConverted(): [CStyleCast] (bool)... +# 2411| Conversion = [BoolConversion] conversion to bool +# 2411| Type = [BoolType] bool +# 2411| ValueCategory = prvalue +# 2412| getThen(): [ExprStmt] ExprStmt +# 2412| getExpr(): [PostfixIncrExpr] ... ++ +# 2412| Type = [PlainCharType] char +# 2412| ValueCategory = prvalue +# 2412| getOperand(): [VariableAccess] x # 2412| Type = [PlainCharType] char -# 2412| Value = [CharLiteral] 97 -# 2412| ValueCategory = prvalue -# 2412| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2412| Conversion = [IntegralConversion] integral conversion -# 2412| Type = [IntType] int -# 2412| Value = [CStyleCast] 97 -# 2412| ValueCategory = prvalue -# 2413| getStmt(1): [ExprStmt] ExprStmt -# 2413| getExpr(): [PostfixIncrExpr] ... ++ -# 2413| Type = [PlainCharType] char -# 2413| ValueCategory = prvalue -# 2413| getOperand(): [VariableAccess] x -# 2413| Type = [PlainCharType] char -# 2413| ValueCategory = lvalue -# 2411| getExpr().getFullyConverted(): [CStyleCast] (int)... -# 2411| Conversion = [IntegralConversion] integral conversion -# 2411| Type = [IntType] int -# 2411| ValueCategory = prvalue -# 2416| getStmt(5): [RangeBasedForStmt] for(...:...) ... -# 2416| getInitialization(): [DeclStmt] declaration -# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x -# 2416| Type = [PlainCharType] char -# 2416| getVariable().getInitializer(): [Initializer] initializer for x -# 2416| getExpr(): [FunctionCall] call to get_x -# 2416| Type = [PlainCharType] char -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [ConstructorCall] call to ClassWithDestructor -# 2416| Type = [VoidType] void -# 2416| ValueCategory = prvalue -# 2416| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor -# 2416| Type = [VoidType] void -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [ReuseExpr] reuse of temporary object -# 2416| Type = [Class] ClassWithDestructor -# 2416| ValueCategory = xvalue -# 2416| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object -# 2416| Type = [Class] ClassWithDestructor -# 2416| ValueCategory = prvalue(load) -# 2416| getChild(1): [DeclStmt] declaration -# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) -# 2416| Type = [RValueReferenceType] vector && +# 2412| ValueCategory = lvalue +# 2414| getStmt(1): [IfStmt] if (...) ... +# 2414| getInitialization(): [DeclStmt] declaration +# 2414| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2414| Type = [PlainCharType] char +# 2414| getVariable().getInitializer(): [Initializer] initializer for x +# 2414| getExpr(): [FunctionCall] call to get_x +# 2414| Type = [PlainCharType] char +# 2414| ValueCategory = prvalue +# 2414| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2414| Type = [VoidType] void +# 2414| ValueCategory = prvalue +# 2414| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2414| Type = [VoidType] void +# 2414| ValueCategory = prvalue +# 2414| getQualifier(): [ReuseExpr] reuse of temporary object +# 2414| Type = [Class] ClassWithDestructor +# 2414| ValueCategory = xvalue +# 2414| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2414| Type = [Class] ClassWithDestructor +# 2414| ValueCategory = prvalue(load) +# 2414| getCondition(): [VariableAccess] x +# 2414| Type = [PlainCharType] char +# 2414| ValueCategory = prvalue(load) +# 2415| getThen(): [ExprStmt] ExprStmt +# 2415| getExpr(): [PostfixIncrExpr] ... ++ +# 2415| Type = [PlainCharType] char +# 2415| ValueCategory = prvalue +# 2415| getOperand(): [VariableAccess] x +# 2415| Type = [PlainCharType] char +# 2415| ValueCategory = lvalue +# 2414| getCondition().getFullyConverted(): [CStyleCast] (bool)... +# 2414| Conversion = [BoolConversion] conversion to bool +# 2414| Type = [BoolType] bool +# 2414| ValueCategory = prvalue +# 2417| getStmt(2): [ConstexprIfStmt] if constexpr (...) ... +# 2417| getInitialization(): [DeclStmt] declaration +# 2417| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2417| Type = [PlainCharType] char +# 2417| getVariable().getInitializer(): [Initializer] initializer for x +# 2417| getExpr(): [FunctionCall] call to get_x +# 2417| Type = [PlainCharType] char +# 2417| ValueCategory = prvalue +# 2417| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2417| Type = [VoidType] void +# 2417| ValueCategory = prvalue +# 2417| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2417| Type = [VoidType] void +# 2417| ValueCategory = prvalue +# 2417| getQualifier(): [ReuseExpr] reuse of temporary object +# 2417| Type = [Class] ClassWithDestructor +# 2417| ValueCategory = xvalue +# 2417| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2417| Type = [Class] ClassWithDestructor +# 2417| ValueCategory = prvalue(load) +# 2417| getCondition(): [VariableAccess] initialization_with_destructor_bool +# 2417| Type = [BoolType] bool +# 2417| Value = [VariableAccess] 1 +# 2417| ValueCategory = prvalue(load) +# 2418| getThen(): [ExprStmt] ExprStmt +# 2418| getExpr(): [PostfixIncrExpr] ... ++ +# 2418| Type = [PlainCharType] char +# 2418| ValueCategory = prvalue +# 2418| getOperand(): [VariableAccess] x +# 2418| Type = [PlainCharType] char +# 2418| ValueCategory = lvalue +# 2420| getStmt(3): [SwitchStmt] switch (...) ... +# 2420| getExpr(): [ConditionDeclExpr] (condition decl) +# 2420| Type = [IntType] int +# 2420| ValueCategory = prvalue +# 2420| getVariableAccess(): [VariableAccess] x +# 2420| Type = [PlainCharType] char +# 2420| ValueCategory = prvalue(load) +# 2420| getInitializingExpr(): [FunctionCall] call to get_x +# 2420| Type = [PlainCharType] char +# 2420| ValueCategory = prvalue +# 2420| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2420| Type = [VoidType] void +# 2420| ValueCategory = prvalue +# 2420| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2420| Type = [VoidType] void +# 2420| ValueCategory = prvalue +# 2420| getQualifier(): [ReuseExpr] reuse of temporary object +# 2420| Type = [Class] ClassWithDestructor +# 2420| ValueCategory = xvalue +# 2420| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2420| Type = [Class] ClassWithDestructor +# 2420| ValueCategory = prvalue(load) +# 2420| getVariableAccess().getFullyConverted(): [CStyleCast] (int)... +# 2420| Conversion = [IntegralConversion] integral conversion +# 2420| Type = [IntType] int +# 2420| ValueCategory = prvalue +# 2420| getStmt(): [BlockStmt] { ... } +# 2421| getStmt(0): [SwitchCase] case ...: +# 2421| getExpr(): [CharLiteral] 97 +# 2421| Type = [PlainCharType] char +# 2421| Value = [CharLiteral] 97 +# 2421| ValueCategory = prvalue +# 2421| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2421| Conversion = [IntegralConversion] integral conversion +# 2421| Type = [IntType] int +# 2421| Value = [CStyleCast] 97 +# 2421| ValueCategory = prvalue +# 2422| getStmt(1): [ExprStmt] ExprStmt +# 2422| getExpr(): [PostfixIncrExpr] ... ++ +# 2422| Type = [PlainCharType] char +# 2422| ValueCategory = prvalue +# 2422| getOperand(): [VariableAccess] x +# 2422| Type = [PlainCharType] char +# 2422| ValueCategory = lvalue +# 2425| getStmt(4): [SwitchStmt] switch (...) ... +# 2425| getInitialization(): [DeclStmt] declaration +# 2425| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2425| Type = [PlainCharType] char +# 2425| getVariable().getInitializer(): [Initializer] initializer for x +# 2425| getExpr(): [FunctionCall] call to get_x +# 2425| Type = [PlainCharType] char +# 2425| ValueCategory = prvalue +# 2425| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2425| Type = [VoidType] void +# 2425| ValueCategory = prvalue +# 2425| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2425| Type = [VoidType] void +# 2425| ValueCategory = prvalue +# 2425| getQualifier(): [ReuseExpr] reuse of temporary object +# 2425| Type = [Class] ClassWithDestructor +# 2425| ValueCategory = xvalue +# 2425| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2425| Type = [Class] ClassWithDestructor +# 2425| ValueCategory = prvalue(load) +# 2425| getExpr(): [VariableAccess] x +# 2425| Type = [PlainCharType] char +# 2425| ValueCategory = prvalue(load) +# 2425| getStmt(): [BlockStmt] { ... } +# 2426| getStmt(0): [SwitchCase] case ...: +# 2426| getExpr(): [CharLiteral] 97 +# 2426| Type = [PlainCharType] char +# 2426| Value = [CharLiteral] 97 +# 2426| ValueCategory = prvalue +# 2426| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2426| Conversion = [IntegralConversion] integral conversion +# 2426| Type = [IntType] int +# 2426| Value = [CStyleCast] 97 +# 2426| ValueCategory = prvalue +# 2427| getStmt(1): [ExprStmt] ExprStmt +# 2427| getExpr(): [PostfixIncrExpr] ... ++ +# 2427| Type = [PlainCharType] char +# 2427| ValueCategory = prvalue +# 2427| getOperand(): [VariableAccess] x +# 2427| Type = [PlainCharType] char +# 2427| ValueCategory = lvalue +# 2425| getExpr().getFullyConverted(): [CStyleCast] (int)... +# 2425| Conversion = [IntegralConversion] integral conversion +# 2425| Type = [IntType] int +# 2425| ValueCategory = prvalue +# 2430| getStmt(5): [RangeBasedForStmt] for(...:...) ... +# 2430| getInitialization(): [DeclStmt] declaration +# 2430| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x +# 2430| Type = [PlainCharType] char +# 2430| getVariable().getInitializer(): [Initializer] initializer for x +# 2430| getExpr(): [FunctionCall] call to get_x +# 2430| Type = [PlainCharType] char +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [ConstructorCall] call to ClassWithDestructor +# 2430| Type = [VoidType] void +# 2430| ValueCategory = prvalue +# 2430| getImplicitDestructorCall(0): [DestructorCall] call to ~ClassWithDestructor +# 2430| Type = [VoidType] void +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [ReuseExpr] reuse of temporary object +# 2430| Type = [Class] ClassWithDestructor +# 2430| ValueCategory = xvalue +# 2430| getQualifier().getFullyConverted(): [TemporaryObjectExpr] temporary object +# 2430| Type = [Class] ClassWithDestructor +# 2430| ValueCategory = prvalue(load) +# 2430| getChild(1): [DeclStmt] declaration +# 2430| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__range) +# 2430| Type = [RValueReferenceType] vector && #-----| getVariable().getInitializer(): [Initializer] initializer for (__range) -# 2416| getExpr(): [ConstructorCall] call to vector -# 2416| Type = [VoidType] void -# 2416| ValueCategory = prvalue -# 2416| getArgument(0): [VariableAccess] x -# 2416| Type = [PlainCharType] char -# 2416| ValueCategory = prvalue(load) -# 2416| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) -# 2416| Type = [LValueReferenceType] vector & -# 2416| ValueCategory = prvalue -# 2416| getExpr(): [TemporaryObjectExpr] temporary object -# 2416| Type = [ClassTemplateInstantiation,Struct] vector -# 2416| ValueCategory = xvalue -# 2416| getBeginEndDeclaration(): [DeclStmt] declaration -# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| getExpr(): [ConstructorCall] call to vector +# 2430| Type = [VoidType] void +# 2430| ValueCategory = prvalue +# 2430| getArgument(0): [VariableAccess] x +# 2430| Type = [PlainCharType] char +# 2430| ValueCategory = prvalue(load) +# 2430| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to) +# 2430| Type = [LValueReferenceType] vector & +# 2430| ValueCategory = prvalue +# 2430| getExpr(): [TemporaryObjectExpr] temporary object +# 2430| Type = [ClassTemplateInstantiation,Struct] vector +# 2430| ValueCategory = xvalue +# 2430| getBeginEndDeclaration(): [DeclStmt] declaration +# 2430| getDeclarationEntry(0): [VariableDeclarationEntry] declaration of (__begin) +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__begin) -# 2416| getExpr(): [FunctionCall] call to begin -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [VariableAccess] (__range) -# 2416| Type = [RValueReferenceType] vector && -# 2416| ValueCategory = prvalue(load) +# 2430| getExpr(): [FunctionCall] call to begin +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [VariableAccess] (__range) +# 2430| Type = [RValueReferenceType] vector && +# 2430| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -20032,15 +20080,15 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2416| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| getDeclarationEntry(1): [VariableDeclarationEntry] declaration of (__end) +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator #-----| getVariable().getInitializer(): [Initializer] initializer for (__end) -# 2416| getExpr(): [FunctionCall] call to end -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [VariableAccess] (__range) -# 2416| Type = [RValueReferenceType] vector && -# 2416| ValueCategory = prvalue(load) +# 2430| getExpr(): [FunctionCall] call to end +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [VariableAccess] (__range) +# 2430| Type = [RValueReferenceType] vector && +# 2430| ValueCategory = prvalue(load) #-----| getQualifier().getFullyConverted(): [CStyleCast] (const vector)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const vector @@ -20048,18 +20096,18 @@ ir.cpp: #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference) #-----| Type = [ClassTemplateInstantiation,Struct] vector #-----| ValueCategory = lvalue -# 2416| getCondition(): [FunctionCall] call to operator!= -# 2416| Type = [BoolType] bool -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [VariableAccess] (__begin) -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2416| ValueCategory = lvalue -# 2416| getArgument(0): [ConstructorCall] call to iterator -# 2416| Type = [VoidType] void -# 2416| ValueCategory = prvalue -# 2416| getArgument(0): [VariableAccess] (__end) -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2416| ValueCategory = lvalue +# 2430| getCondition(): [FunctionCall] call to operator!= +# 2430| Type = [BoolType] bool +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [VariableAccess] (__begin) +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| ValueCategory = lvalue +# 2430| getArgument(0): [ConstructorCall] call to iterator +# 2430| Type = [VoidType] void +# 2430| ValueCategory = prvalue +# 2430| getArgument(0): [VariableAccess] (__end) +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| ValueCategory = lvalue #-----| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to) #-----| Type = [LValueReferenceType] const iterator & #-----| ValueCategory = prvalue @@ -20074,47 +20122,47 @@ ir.cpp: #-----| getArgument(0).getFullyConverted(): [TemporaryObjectExpr] temporary object #-----| Type = [ClassTemplateInstantiation,Struct] iterator #-----| ValueCategory = lvalue -# 2416| getUpdate(): [FunctionCall] call to operator++ -# 2416| Type = [LValueReferenceType] iterator & -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [VariableAccess] (__begin) -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2416| ValueCategory = lvalue -# 2416| getChild(5): [DeclStmt] declaration -# 2416| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y -# 2416| Type = [PlainCharType] char -# 2416| getVariable().getInitializer(): [Initializer] initializer for y -# 2416| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* -# 2416| Type = [LValueReferenceType] char & -# 2416| ValueCategory = prvalue -# 2416| getQualifier(): [VariableAccess] (__begin) -# 2416| Type = [NestedTypedefType,UsingAliasTypedefType] iterator -# 2416| ValueCategory = lvalue +# 2430| getUpdate(): [FunctionCall] call to operator++ +# 2430| Type = [LValueReferenceType] iterator & +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [VariableAccess] (__begin) +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| ValueCategory = lvalue +# 2430| getChild(5): [DeclStmt] declaration +# 2430| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y +# 2430| Type = [PlainCharType] char +# 2430| getVariable().getInitializer(): [Initializer] initializer for y +# 2430| getExpr(): [OverloadedPointerDereferenceExpr] call to operator* +# 2430| Type = [LValueReferenceType] char & +# 2430| ValueCategory = prvalue +# 2430| getQualifier(): [VariableAccess] (__begin) +# 2430| Type = [NestedTypedefType,UsingAliasTypedefType] iterator +# 2430| ValueCategory = lvalue #-----| getQualifier().getFullyConverted(): [CStyleCast] (const iterator)... #-----| Conversion = [GlvalueConversion] glvalue conversion #-----| Type = [SpecifiedType] const iterator #-----| ValueCategory = lvalue -# 2416| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2416| Type = [PlainCharType] char -# 2416| ValueCategory = prvalue(load) -# 2417| getStmt(): [ExprStmt] ExprStmt -# 2417| getExpr(): [AssignAddExpr] ... += ... -# 2417| Type = [PlainCharType] char -# 2417| ValueCategory = lvalue -# 2417| getLValue(): [VariableAccess] y -# 2417| Type = [PlainCharType] char -# 2417| ValueCategory = lvalue -# 2417| getRValue(): [VariableAccess] x -# 2417| Type = [PlainCharType] char -# 2417| ValueCategory = prvalue(load) -# 2417| getRValue().getFullyConverted(): [CStyleCast] (int)... -# 2417| Conversion = [IntegralConversion] integral conversion -# 2417| Type = [IntType] int -# 2417| ValueCategory = prvalue -# 2416| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) -# 2416| Type = [ClassTemplateInstantiation,Struct] iterator -# 2416| ValueCategory = lvalue -# 2418| getStmt(6): [ReturnStmt] return ... +# 2430| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2430| Type = [PlainCharType] char +# 2430| ValueCategory = prvalue(load) +# 2431| getStmt(): [ExprStmt] ExprStmt +# 2431| getExpr(): [AssignAddExpr] ... += ... +# 2431| Type = [PlainCharType] char +# 2431| ValueCategory = lvalue +# 2431| getLValue(): [VariableAccess] y +# 2431| Type = [PlainCharType] char +# 2431| ValueCategory = lvalue +# 2431| getRValue(): [VariableAccess] x +# 2431| Type = [PlainCharType] char +# 2431| ValueCategory = prvalue(load) +# 2431| getRValue().getFullyConverted(): [CStyleCast] (int)... +# 2431| Conversion = [IntegralConversion] integral conversion +# 2431| Type = [IntType] int +# 2431| ValueCategory = prvalue +# 2430| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference) +# 2430| Type = [ClassTemplateInstantiation,Struct] iterator +# 2430| ValueCategory = lvalue +# 2432| getStmt(6): [ReturnStmt] return ... 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 cb7eb8386d06..cbf32f3aab31 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -11624,3923 +11624,3964 @@ ir.cpp: # 1932| v1932_6(void) = AliasedUse : ~m1934_5 # 1932| v1932_7(void) = ExitFunction : -# 1938| char global_template -# 1938| Block 0 -# 1938| v1938_1(void) = EnterFunction : -# 1938| m1938_2(unknown) = AliasedDefinition : -# 1938| r1938_3(glval) = VariableAddress[global_template] : -# 1938| r1938_4(char) = Constant[42] : -# 1938| m1938_5(char) = Store[global_template] : &:r1938_3, r1938_4 -# 1938| m1938_6(unknown) = Chi : total:m1938_2, partial:m1938_5 -# 1938| v1938_7(void) = ReturnVoid : -# 1938| v1938_8(void) = AliasedUse : ~m1938_6 -# 1938| v1938_9(void) = ExitFunction : - -# 1938| int global_template -# 1938| Block 0 -# 1938| v1938_1(void) = EnterFunction : -# 1938| m1938_2(unknown) = AliasedDefinition : -# 1938| r1938_3(glval) = VariableAddress[global_template] : -# 1938| r1938_4(int) = Constant[42] : -# 1938| m1938_5(int) = Store[global_template] : &:r1938_3, r1938_4 -# 1938| m1938_6(unknown) = Chi : total:m1938_2, partial:m1938_5 -# 1938| v1938_7(void) = ReturnVoid : -# 1938| v1938_8(void) = AliasedUse : ~m1938_6 -# 1938| v1938_9(void) = ExitFunction : - -# 1940| int test_global_template_int() -# 1940| Block 0 -# 1940| v1940_1(void) = EnterFunction : -# 1940| m1940_2(unknown) = AliasedDefinition : -# 1940| m1940_3(unknown) = InitializeNonLocal : -# 1940| m1940_4(unknown) = Chi : total:m1940_2, partial:m1940_3 -# 1941| r1941_1(glval) = VariableAddress[local_int] : -# 1941| r1941_2(glval) = VariableAddress[global_template] : -# 1941| r1941_3(int) = Load[global_template] : &:r1941_2, ~m1940_3 -# 1941| m1941_4(int) = Store[local_int] : &:r1941_1, r1941_3 -# 1942| r1942_1(glval) = VariableAddress[local_char] : -# 1942| r1942_2(glval) = VariableAddress[global_template] : -# 1942| r1942_3(char) = Load[global_template] : &:r1942_2, ~m1940_3 -# 1942| m1942_4(char) = Store[local_char] : &:r1942_1, r1942_3 -# 1943| r1943_1(glval) = VariableAddress[#return] : -# 1943| r1943_2(glval) = VariableAddress[local_int] : -# 1943| r1943_3(int) = Load[local_int] : &:r1943_2, m1941_4 -# 1943| r1943_4(glval) = VariableAddress[local_char] : -# 1943| r1943_5(char) = Load[local_char] : &:r1943_4, m1942_4 -# 1943| r1943_6(int) = Convert : r1943_5 -# 1943| r1943_7(int) = Add : r1943_3, r1943_6 -# 1943| m1943_8(int) = Store[#return] : &:r1943_1, r1943_7 -# 1940| r1940_5(glval) = VariableAddress[#return] : -# 1940| v1940_6(void) = ReturnValue : &:r1940_5, m1943_8 -# 1940| v1940_7(void) = AliasedUse : m1940_3 -# 1940| v1940_8(void) = ExitFunction : - -# 1948| int noreturnTest(int) -# 1948| Block 0 -# 1948| v1948_1(void) = EnterFunction : -# 1948| m1948_2(unknown) = AliasedDefinition : -# 1948| m1948_3(unknown) = InitializeNonLocal : -# 1948| m1948_4(unknown) = Chi : total:m1948_2, partial:m1948_3 -# 1948| r1948_5(glval) = VariableAddress[x] : -# 1948| m1948_6(int) = InitializeParameter[x] : &:r1948_5 -# 1949| r1949_1(glval) = VariableAddress[x] : -# 1949| r1949_2(int) = Load[x] : &:r1949_1, m1948_6 -# 1949| r1949_3(int) = Constant[10] : -# 1949| r1949_4(bool) = CompareLT : r1949_2, r1949_3 -# 1949| v1949_5(void) = ConditionalBranch : r1949_4 +# 1939| int missing_declaration_entries::Bar3::two_more_missing_variable_declaration_entries() +# 1939| Block 0 +# 1939| v1939_1(void) = EnterFunction : +# 1939| m1939_2(unknown) = AliasedDefinition : +# 1939| m1939_3(unknown) = InitializeNonLocal : +# 1939| m1939_4(unknown) = Chi : total:m1939_2, partial:m1939_3 +# 1939| r1939_5(glval) = VariableAddress[#this] : +# 1939| m1939_6(glval>) = InitializeParameter[#this] : &:r1939_5 +# 1939| r1939_7(glval>) = Load[#this] : &:r1939_5, m1939_6 +# 1939| m1939_8(Bar3) = InitializeIndirection[#this] : &:r1939_7 +# 1942| r1942_1(glval) = VariableAddress[#return] : +# 1942| r1942_2(glval) = VariableAddress[g] : +# 1942| r1942_3(int) = Load[g] : &:r1942_2, ~m1939_3 +# 1942| m1942_4(int) = Store[#return] : &:r1942_1, r1942_3 +# 1939| v1939_9(void) = ReturnIndirection[#this] : &:r1939_7, m1939_8 +# 1939| r1939_10(glval) = VariableAddress[#return] : +# 1939| v1939_11(void) = ReturnValue : &:r1939_10, m1942_4 +# 1939| v1939_12(void) = AliasedUse : m1939_3 +# 1939| v1939_13(void) = ExitFunction : + +# 1946| void missing_declaration_entries::test3() +# 1946| Block 0 +# 1946| v1946_1(void) = EnterFunction : +# 1946| m1946_2(unknown) = AliasedDefinition : +# 1946| m1946_3(unknown) = InitializeNonLocal : +# 1946| m1946_4(unknown) = Chi : total:m1946_2, partial:m1946_3 +# 1947| r1947_1(glval>) = VariableAddress[b] : +# 1947| m1947_2(Bar3) = Uninitialized[b] : &:r1947_1 +# 1948| r1948_1(glval>) = VariableAddress[b] : +# 1948| r1948_2(glval) = FunctionAddress[two_more_missing_variable_declaration_entries] : +# 1948| r1948_3(int) = Call[two_more_missing_variable_declaration_entries] : func:r1948_2, this:r1948_1 +# 1948| m1948_4(unknown) = ^CallSideEffect : ~m1946_4 +# 1948| m1948_5(unknown) = Chi : total:m1946_4, partial:m1948_4 +# 1948| v1948_6(void) = ^IndirectReadSideEffect[-1] : &:r1948_1, m1947_2 +# 1948| m1948_7(Bar3) = ^IndirectMayWriteSideEffect[-1] : &:r1948_1 +# 1948| m1948_8(Bar3) = Chi : total:m1947_2, partial:m1948_7 +# 1949| v1949_1(void) = NoOp : +# 1946| v1946_5(void) = ReturnVoid : +# 1946| v1946_6(void) = AliasedUse : ~m1948_5 +# 1946| v1946_7(void) = ExitFunction : + +# 1952| char global_template +# 1952| Block 0 +# 1952| v1952_1(void) = EnterFunction : +# 1952| m1952_2(unknown) = AliasedDefinition : +# 1952| r1952_3(glval) = VariableAddress[global_template] : +# 1952| r1952_4(char) = Constant[42] : +# 1952| m1952_5(char) = Store[global_template] : &:r1952_3, r1952_4 +# 1952| m1952_6(unknown) = Chi : total:m1952_2, partial:m1952_5 +# 1952| v1952_7(void) = ReturnVoid : +# 1952| v1952_8(void) = AliasedUse : ~m1952_6 +# 1952| v1952_9(void) = ExitFunction : + +# 1952| int global_template +# 1952| Block 0 +# 1952| v1952_1(void) = EnterFunction : +# 1952| m1952_2(unknown) = AliasedDefinition : +# 1952| r1952_3(glval) = VariableAddress[global_template] : +# 1952| r1952_4(int) = Constant[42] : +# 1952| m1952_5(int) = Store[global_template] : &:r1952_3, r1952_4 +# 1952| m1952_6(unknown) = Chi : total:m1952_2, partial:m1952_5 +# 1952| v1952_7(void) = ReturnVoid : +# 1952| v1952_8(void) = AliasedUse : ~m1952_6 +# 1952| v1952_9(void) = ExitFunction : + +# 1954| int test_global_template_int() +# 1954| Block 0 +# 1954| v1954_1(void) = EnterFunction : +# 1954| m1954_2(unknown) = AliasedDefinition : +# 1954| m1954_3(unknown) = InitializeNonLocal : +# 1954| m1954_4(unknown) = Chi : total:m1954_2, partial:m1954_3 +# 1955| r1955_1(glval) = VariableAddress[local_int] : +# 1955| r1955_2(glval) = VariableAddress[global_template] : +# 1955| r1955_3(int) = Load[global_template] : &:r1955_2, ~m1954_3 +# 1955| m1955_4(int) = Store[local_int] : &:r1955_1, r1955_3 +# 1956| r1956_1(glval) = VariableAddress[local_char] : +# 1956| r1956_2(glval) = VariableAddress[global_template] : +# 1956| r1956_3(char) = Load[global_template] : &:r1956_2, ~m1954_3 +# 1956| m1956_4(char) = Store[local_char] : &:r1956_1, r1956_3 +# 1957| r1957_1(glval) = VariableAddress[#return] : +# 1957| r1957_2(glval) = VariableAddress[local_int] : +# 1957| r1957_3(int) = Load[local_int] : &:r1957_2, m1955_4 +# 1957| r1957_4(glval) = VariableAddress[local_char] : +# 1957| r1957_5(char) = Load[local_char] : &:r1957_4, m1956_4 +# 1957| r1957_6(int) = Convert : r1957_5 +# 1957| r1957_7(int) = Add : r1957_3, r1957_6 +# 1957| m1957_8(int) = Store[#return] : &:r1957_1, r1957_7 +# 1954| r1954_5(glval) = VariableAddress[#return] : +# 1954| v1954_6(void) = ReturnValue : &:r1954_5, m1957_8 +# 1954| v1954_7(void) = AliasedUse : m1954_3 +# 1954| v1954_8(void) = ExitFunction : + +# 1962| int noreturnTest(int) +# 1962| Block 0 +# 1962| v1962_1(void) = EnterFunction : +# 1962| m1962_2(unknown) = AliasedDefinition : +# 1962| m1962_3(unknown) = InitializeNonLocal : +# 1962| m1962_4(unknown) = Chi : total:m1962_2, partial:m1962_3 +# 1962| r1962_5(glval) = VariableAddress[x] : +# 1962| m1962_6(int) = InitializeParameter[x] : &:r1962_5 +# 1963| r1963_1(glval) = VariableAddress[x] : +# 1963| r1963_2(int) = Load[x] : &:r1963_1, m1962_6 +# 1963| r1963_3(int) = Constant[10] : +# 1963| r1963_4(bool) = CompareLT : r1963_2, r1963_3 +# 1963| v1963_5(void) = ConditionalBranch : r1963_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1950| Block 1 -# 1950| r1950_1(glval) = VariableAddress[#return] : -# 1950| r1950_2(glval) = VariableAddress[x] : -# 1950| r1950_3(int) = Load[x] : &:r1950_2, m1948_6 -# 1950| m1950_4(int) = Store[#return] : &:r1950_1, r1950_3 -# 1948| r1948_7(glval) = VariableAddress[#return] : -# 1948| v1948_8(void) = ReturnValue : &:r1948_7, m1950_4 -# 1948| v1948_9(void) = AliasedUse : m1948_3 -# 1948| v1948_10(void) = ExitFunction : - -# 1952| Block 2 -# 1952| r1952_1(glval) = FunctionAddress[noreturnFunc] : -# 1952| v1952_2(void) = Call[noreturnFunc] : func:r1952_1 -# 1952| m1952_3(unknown) = ^CallSideEffect : ~m1948_4 -# 1952| m1952_4(unknown) = Chi : total:m1948_4, partial:m1952_3 -# 1948| v1948_11(void) = Unreached : - -# 1956| int noreturnTest2(int) -# 1956| Block 0 -# 1956| v1956_1(void) = EnterFunction : -# 1956| m1956_2(unknown) = AliasedDefinition : -# 1956| m1956_3(unknown) = InitializeNonLocal : -# 1956| m1956_4(unknown) = Chi : total:m1956_2, partial:m1956_3 -# 1956| r1956_5(glval) = VariableAddress[x] : -# 1956| m1956_6(int) = InitializeParameter[x] : &:r1956_5 -# 1957| r1957_1(glval) = VariableAddress[x] : -# 1957| r1957_2(int) = Load[x] : &:r1957_1, m1956_6 -# 1957| r1957_3(int) = Constant[10] : -# 1957| r1957_4(bool) = CompareLT : r1957_2, r1957_3 -# 1957| v1957_5(void) = ConditionalBranch : r1957_4 -#-----| False -> Block 2 -#-----| True -> Block 1 - -# 1958| Block 1 -# 1958| r1958_1(glval) = FunctionAddress[noreturnFunc] : -# 1958| v1958_2(void) = Call[noreturnFunc] : func:r1958_1 -# 1958| m1958_3(unknown) = ^CallSideEffect : ~m1956_4 -# 1958| m1958_4(unknown) = Chi : total:m1956_4, partial:m1958_3 -# 1956| v1956_7(void) = Unreached : - -# 1960| Block 2 -# 1960| r1960_1(glval) = VariableAddress[#return] : -# 1960| r1960_2(glval) = VariableAddress[x] : -# 1960| r1960_3(int) = Load[x] : &:r1960_2, m1956_6 -# 1960| m1960_4(int) = Store[#return] : &:r1960_1, r1960_3 -# 1956| r1956_8(glval) = VariableAddress[#return] : -# 1956| v1956_9(void) = ReturnValue : &:r1956_8, m1960_4 -# 1956| v1956_10(void) = AliasedUse : m1956_3 -# 1956| v1956_11(void) = ExitFunction : - -# 1963| int static_function(int) -# 1963| Block 0 -# 1963| v1963_1(void) = EnterFunction : -# 1963| m1963_2(unknown) = AliasedDefinition : -# 1963| m1963_3(unknown) = InitializeNonLocal : -# 1963| m1963_4(unknown) = Chi : total:m1963_2, partial:m1963_3 -# 1963| r1963_5(glval) = VariableAddress[x] : -# 1963| m1963_6(int) = InitializeParameter[x] : &:r1963_5 +# 1964| Block 1 # 1964| r1964_1(glval) = VariableAddress[#return] : # 1964| r1964_2(glval) = VariableAddress[x] : -# 1964| r1964_3(int) = Load[x] : &:r1964_2, m1963_6 +# 1964| r1964_3(int) = Load[x] : &:r1964_2, m1962_6 # 1964| m1964_4(int) = Store[#return] : &:r1964_1, r1964_3 -# 1963| r1963_7(glval) = VariableAddress[#return] : -# 1963| v1963_8(void) = ReturnValue : &:r1963_7, m1964_4 -# 1963| v1963_9(void) = AliasedUse : m1963_3 -# 1963| v1963_10(void) = ExitFunction : - -# 1967| void test_static_functions_with_assignments() -# 1967| Block 0 -# 1967| v1967_1(void) = EnterFunction : -# 1967| m1967_2(unknown) = AliasedDefinition : -# 1967| m1967_3(unknown) = InitializeNonLocal : -# 1967| m1967_4(unknown) = Chi : total:m1967_2, partial:m1967_3 -# 1968| r1968_1(glval) = VariableAddress[c] : -# 1968| m1968_2(C) = Uninitialized[c] : &:r1968_1 -# 1968| r1968_3(glval) = FunctionAddress[C] : -# 1968| v1968_4(void) = Call[C] : func:r1968_3, this:r1968_1 -# 1968| m1968_5(unknown) = ^CallSideEffect : ~m1967_4 -# 1968| m1968_6(unknown) = Chi : total:m1967_4, partial:m1968_5 -# 1968| m1968_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1968_1 -# 1968| m1968_8(C) = Chi : total:m1968_2, partial:m1968_7 -# 1969| r1969_1(glval) = VariableAddress[x] : -# 1969| m1969_2(int) = Uninitialized[x] : &:r1969_1 -# 1970| r1970_1(glval) = VariableAddress[c] : -# 1970| r1970_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1970| r1970_3(int) = Constant[10] : -# 1970| r1970_4(int) = Call[StaticMemberFunction] : func:r1970_2, 0:r1970_3 -# 1970| m1970_5(unknown) = ^CallSideEffect : ~m1968_6 -# 1970| m1970_6(unknown) = Chi : total:m1968_6, partial:m1970_5 -# 1970| r1970_7(glval) = VariableAddress[x] : -# 1970| m1970_8(int) = Store[x] : &:r1970_7, r1970_4 -# 1971| r1971_1(glval) = VariableAddress[y] : -# 1971| m1971_2(int) = Uninitialized[y] : &:r1971_1 -# 1972| r1972_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1972| r1972_2(int) = Constant[10] : -# 1972| r1972_3(int) = Call[StaticMemberFunction] : func:r1972_1, 0:r1972_2 -# 1972| m1972_4(unknown) = ^CallSideEffect : ~m1970_6 -# 1972| m1972_5(unknown) = Chi : total:m1970_6, partial:m1972_4 -# 1972| r1972_6(glval) = VariableAddress[y] : -# 1972| m1972_7(int) = Store[y] : &:r1972_6, r1972_3 -# 1973| r1973_1(glval) = VariableAddress[z] : -# 1973| m1973_2(int) = Uninitialized[z] : &:r1973_1 -# 1974| r1974_1(glval) = FunctionAddress[static_function] : -# 1974| r1974_2(int) = Constant[10] : -# 1974| r1974_3(int) = Call[static_function] : func:r1974_1, 0:r1974_2 -# 1974| m1974_4(unknown) = ^CallSideEffect : ~m1972_5 -# 1974| m1974_5(unknown) = Chi : total:m1972_5, partial:m1974_4 -# 1974| r1974_6(glval) = VariableAddress[z] : -# 1974| m1974_7(int) = Store[z] : &:r1974_6, r1974_3 -# 1975| v1975_1(void) = NoOp : -# 1975| r1975_2(glval) = VariableAddress[c] : -# 1975| r1975_3(glval) = FunctionAddress[~C] : -# 1975| v1975_4(void) = Call[~C] : func:r1975_3, this:r1975_2 -# 1975| m1975_5(unknown) = ^CallSideEffect : ~m1974_5 -# 1975| m1975_6(unknown) = Chi : total:m1974_5, partial:m1975_5 -# 1975| v1975_7(void) = ^IndirectReadSideEffect[-1] : &:r1975_2, m1968_8 -# 1975| m1975_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1975_2 -# 1975| m1975_9(C) = Chi : total:m1968_8, partial:m1975_8 -# 1967| v1967_5(void) = ReturnVoid : -# 1967| v1967_6(void) = AliasedUse : ~m1975_6 -# 1967| v1967_7(void) = ExitFunction : - -# 1977| void test_double_assign() +# 1962| r1962_7(glval) = VariableAddress[#return] : +# 1962| v1962_8(void) = ReturnValue : &:r1962_7, m1964_4 +# 1962| v1962_9(void) = AliasedUse : m1962_3 +# 1962| v1962_10(void) = ExitFunction : + +# 1966| Block 2 +# 1966| r1966_1(glval) = FunctionAddress[noreturnFunc] : +# 1966| v1966_2(void) = Call[noreturnFunc] : func:r1966_1 +# 1966| m1966_3(unknown) = ^CallSideEffect : ~m1962_4 +# 1966| m1966_4(unknown) = Chi : total:m1962_4, partial:m1966_3 +# 1962| v1962_11(void) = Unreached : + +# 1970| int noreturnTest2(int) +# 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 +# 1970| r1970_5(glval) = VariableAddress[x] : +# 1970| m1970_6(int) = InitializeParameter[x] : &:r1970_5 +# 1971| r1971_1(glval) = VariableAddress[x] : +# 1971| r1971_2(int) = Load[x] : &:r1971_1, m1970_6 +# 1971| r1971_3(int) = Constant[10] : +# 1971| r1971_4(bool) = CompareLT : r1971_2, r1971_3 +# 1971| v1971_5(void) = ConditionalBranch : r1971_4 +#-----| False -> Block 2 +#-----| True -> Block 1 + +# 1972| Block 1 +# 1972| r1972_1(glval) = FunctionAddress[noreturnFunc] : +# 1972| v1972_2(void) = Call[noreturnFunc] : func:r1972_1 +# 1972| m1972_3(unknown) = ^CallSideEffect : ~m1970_4 +# 1972| m1972_4(unknown) = Chi : total:m1970_4, partial:m1972_3 +# 1970| v1970_7(void) = Unreached : + +# 1974| Block 2 +# 1974| r1974_1(glval) = VariableAddress[#return] : +# 1974| r1974_2(glval) = VariableAddress[x] : +# 1974| r1974_3(int) = Load[x] : &:r1974_2, m1970_6 +# 1974| m1974_4(int) = Store[#return] : &:r1974_1, r1974_3 +# 1970| r1970_8(glval) = VariableAddress[#return] : +# 1970| v1970_9(void) = ReturnValue : &:r1970_8, m1974_4 +# 1970| v1970_10(void) = AliasedUse : m1970_3 +# 1970| v1970_11(void) = ExitFunction : + +# 1977| int static_function(int) # 1977| Block 0 -# 1977| v1977_1(void) = EnterFunction : -# 1977| m1977_2(unknown) = AliasedDefinition : -# 1977| m1977_3(unknown) = InitializeNonLocal : -# 1977| m1977_4(unknown) = Chi : total:m1977_2, partial:m1977_3 -# 1978| r1978_1(glval) = VariableAddress[i] : -# 1978| m1978_2(int) = Uninitialized[i] : &:r1978_1 -# 1978| r1978_3(glval) = VariableAddress[j] : -# 1978| m1978_4(int) = Uninitialized[j] : &:r1978_3 -# 1979| r1979_1(int) = Constant[40] : -# 1979| r1979_2(glval) = VariableAddress[j] : -# 1979| m1979_3(int) = Store[j] : &:r1979_2, r1979_1 -# 1979| r1979_4(int) = Load[j] : &:r1979_2, m1979_3 -# 1979| r1979_5(glval) = VariableAddress[i] : -# 1979| m1979_6(int) = Store[i] : &:r1979_5, r1979_4 -# 1980| v1980_1(void) = NoOp : -# 1977| v1977_5(void) = ReturnVoid : -# 1977| v1977_6(void) = AliasedUse : m1977_3 -# 1977| v1977_7(void) = ExitFunction : - -# 1982| void test_assign_with_assign_operation() -# 1982| Block 0 -# 1982| v1982_1(void) = EnterFunction : -# 1982| m1982_2(unknown) = AliasedDefinition : -# 1982| m1982_3(unknown) = InitializeNonLocal : -# 1982| m1982_4(unknown) = Chi : total:m1982_2, partial:m1982_3 -# 1983| r1983_1(glval) = VariableAddress[i] : -# 1983| m1983_2(int) = Uninitialized[i] : &:r1983_1 -# 1983| r1983_3(glval) = VariableAddress[j] : -# 1983| r1983_4(int) = Constant[0] : -# 1983| m1983_5(int) = Store[j] : &:r1983_3, r1983_4 -# 1984| r1984_1(int) = Constant[40] : -# 1984| r1984_2(glval) = VariableAddress[j] : -# 1984| r1984_3(int) = Load[j] : &:r1984_2, m1983_5 -# 1984| r1984_4(int) = Add : r1984_3, r1984_1 -# 1984| m1984_5(int) = Store[j] : &:r1984_2, r1984_4 -# 1984| r1984_6(int) = Load[j] : &:r1984_2, m1984_5 -# 1984| r1984_7(glval) = VariableAddress[i] : -# 1984| m1984_8(int) = Store[i] : &:r1984_7, r1984_6 -# 1985| v1985_1(void) = NoOp : -# 1982| v1982_5(void) = ReturnVoid : -# 1982| v1982_6(void) = AliasedUse : m1982_3 -# 1982| v1982_7(void) = ExitFunction : - -# 1991| D& D::ReferenceStaticMemberFunction() +# 1977| v1977_1(void) = EnterFunction : +# 1977| m1977_2(unknown) = AliasedDefinition : +# 1977| m1977_3(unknown) = InitializeNonLocal : +# 1977| m1977_4(unknown) = Chi : total:m1977_2, partial:m1977_3 +# 1977| r1977_5(glval) = VariableAddress[x] : +# 1977| m1977_6(int) = InitializeParameter[x] : &:r1977_5 +# 1978| r1978_1(glval) = VariableAddress[#return] : +# 1978| r1978_2(glval) = VariableAddress[x] : +# 1978| r1978_3(int) = Load[x] : &:r1978_2, m1977_6 +# 1978| m1978_4(int) = Store[#return] : &:r1978_1, r1978_3 +# 1977| r1977_7(glval) = VariableAddress[#return] : +# 1977| v1977_8(void) = ReturnValue : &:r1977_7, m1978_4 +# 1977| v1977_9(void) = AliasedUse : m1977_3 +# 1977| v1977_10(void) = ExitFunction : + +# 1981| void test_static_functions_with_assignments() +# 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(C) = Uninitialized[c] : &:r1982_1 +# 1982| r1982_3(glval) = FunctionAddress[C] : +# 1982| v1982_4(void) = Call[C] : func:r1982_3, this:r1982_1 +# 1982| m1982_5(unknown) = ^CallSideEffect : ~m1981_4 +# 1982| m1982_6(unknown) = Chi : total:m1981_4, partial:m1982_5 +# 1982| m1982_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1982_1 +# 1982| m1982_8(C) = Chi : total:m1982_2, partial:m1982_7 +# 1983| r1983_1(glval) = VariableAddress[x] : +# 1983| m1983_2(int) = Uninitialized[x] : &:r1983_1 +# 1984| r1984_1(glval) = VariableAddress[c] : +# 1984| r1984_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1984| r1984_3(int) = Constant[10] : +# 1984| r1984_4(int) = Call[StaticMemberFunction] : func:r1984_2, 0:r1984_3 +# 1984| m1984_5(unknown) = ^CallSideEffect : ~m1982_6 +# 1984| m1984_6(unknown) = Chi : total:m1982_6, partial:m1984_5 +# 1984| r1984_7(glval) = VariableAddress[x] : +# 1984| m1984_8(int) = Store[x] : &:r1984_7, r1984_4 +# 1985| r1985_1(glval) = VariableAddress[y] : +# 1985| m1985_2(int) = Uninitialized[y] : &:r1985_1 +# 1986| r1986_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1986| r1986_2(int) = Constant[10] : +# 1986| r1986_3(int) = Call[StaticMemberFunction] : func:r1986_1, 0:r1986_2 +# 1986| m1986_4(unknown) = ^CallSideEffect : ~m1984_6 +# 1986| m1986_5(unknown) = Chi : total:m1984_6, partial:m1986_4 +# 1986| r1986_6(glval) = VariableAddress[y] : +# 1986| m1986_7(int) = Store[y] : &:r1986_6, r1986_3 +# 1987| r1987_1(glval) = VariableAddress[z] : +# 1987| m1987_2(int) = Uninitialized[z] : &:r1987_1 +# 1988| r1988_1(glval) = FunctionAddress[static_function] : +# 1988| r1988_2(int) = Constant[10] : +# 1988| r1988_3(int) = Call[static_function] : func:r1988_1, 0:r1988_2 +# 1988| m1988_4(unknown) = ^CallSideEffect : ~m1986_5 +# 1988| m1988_5(unknown) = Chi : total:m1986_5, partial:m1988_4 +# 1988| r1988_6(glval) = VariableAddress[z] : +# 1988| m1988_7(int) = Store[z] : &:r1988_6, r1988_3 +# 1989| v1989_1(void) = NoOp : +# 1989| r1989_2(glval) = VariableAddress[c] : +# 1989| r1989_3(glval) = FunctionAddress[~C] : +# 1989| v1989_4(void) = Call[~C] : func:r1989_3, this:r1989_2 +# 1989| m1989_5(unknown) = ^CallSideEffect : ~m1988_5 +# 1989| m1989_6(unknown) = Chi : total:m1988_5, partial:m1989_5 +# 1989| v1989_7(void) = ^IndirectReadSideEffect[-1] : &:r1989_2, m1982_8 +# 1989| m1989_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r1989_2 +# 1989| m1989_9(C) = Chi : total:m1982_8, partial:m1989_8 +# 1981| v1981_5(void) = ReturnVoid : +# 1981| v1981_6(void) = AliasedUse : ~m1989_6 +# 1981| v1981_7(void) = ExitFunction : + +# 1991| void test_double_assign() # 1991| Block 0 -# 1991| v1991_1(void) = EnterFunction : -# 1991| m1991_2(unknown) = AliasedDefinition : -# 1991| m1991_3(unknown) = InitializeNonLocal : -# 1991| m1991_4(unknown) = Chi : total:m1991_2, partial:m1991_3 -# 1992| r1992_1(glval) = VariableAddress[#return] : -# 1992| r1992_2(glval) = VariableAddress[x] : -# 1992| r1992_3(D &) = CopyValue : r1992_2 -# 1992| m1992_4(D &) = Store[#return] : &:r1992_1, r1992_3 -# 1991| r1991_5(glval) = VariableAddress[#return] : -# 1991| v1991_6(void) = ReturnValue : &:r1991_5, m1992_4 -# 1991| v1991_7(void) = AliasedUse : m1991_3 -# 1991| v1991_8(void) = ExitFunction : - -# 1994| D D::ObjectStaticMemberFunction() -# 1994| Block 0 -# 1994| v1994_1(void) = EnterFunction : -# 1994| m1994_2(unknown) = AliasedDefinition : -# 1994| m1994_3(unknown) = InitializeNonLocal : -# 1994| m1994_4(unknown) = Chi : total:m1994_2, partial:m1994_3 -# 1995| r1995_1(glval) = VariableAddress[#return] : -# 1995| r1995_2(glval) = VariableAddress[x] : -# 1995| r1995_3(D) = Load[x] : &:r1995_2, ~m1994_3 -# 1995| m1995_4(D) = Store[#return] : &:r1995_1, r1995_3 -# 1994| r1994_5(glval) = VariableAddress[#return] : -# 1994| v1994_6(void) = ReturnValue : &:r1994_5, m1995_4 -# 1994| v1994_7(void) = AliasedUse : m1994_3 -# 1994| v1994_8(void) = ExitFunction : - -# 1999| void test_static_member_functions_with_reference_return() -# 1999| Block 0 -# 1999| v1999_1(void) = EnterFunction : -# 1999| m1999_2(unknown) = AliasedDefinition : -# 1999| m1999_3(unknown) = InitializeNonLocal : -# 1999| m1999_4(unknown) = Chi : total:m1999_2, partial:m1999_3 -# 2000| r2000_1(glval) = VariableAddress[d] : -# 2000| m2000_2(D) = Uninitialized[d] : &:r2000_1 -# 2002| r2002_1(glval) = VariableAddress[d] : -# 2002| r2002_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2002| r2002_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2002_2 -# 2002| m2002_4(unknown) = ^CallSideEffect : ~m1999_4 -# 2002| m2002_5(unknown) = Chi : total:m1999_4, partial:m2002_4 -# 2002| r2002_6(glval) = CopyValue : r2002_3 -# 2003| r2003_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2003| r2003_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2003_1 -# 2003| m2003_3(unknown) = ^CallSideEffect : ~m2002_5 -# 2003| m2003_4(unknown) = Chi : total:m2002_5, partial:m2003_3 -# 2003| r2003_5(glval) = CopyValue : r2003_2 -# 2004| r2004_1(glval) = VariableAddress[d] : -# 2004| r2004_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2004| r2004_3(D) = Call[ObjectStaticMemberFunction] : func:r2004_2 -# 2004| m2004_4(unknown) = ^CallSideEffect : ~m2003_4 -# 2004| m2004_5(unknown) = Chi : total:m2003_4, partial:m2004_4 -# 2005| r2005_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2005| r2005_2(D) = Call[ObjectStaticMemberFunction] : func:r2005_1 -# 2005| m2005_3(unknown) = ^CallSideEffect : ~m2004_5 -# 2005| m2005_4(unknown) = Chi : total:m2004_5, partial:m2005_3 -# 2007| r2007_1(glval) = VariableAddress[x] : -# 2007| m2007_2(D) = Uninitialized[x] : &:r2007_1 -# 2008| r2008_1(glval) = VariableAddress[d] : -# 2008| r2008_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2008| r2008_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2008_2 -# 2008| m2008_4(unknown) = ^CallSideEffect : ~m2005_4 -# 2008| m2008_5(unknown) = Chi : total:m2005_4, partial:m2008_4 -# 2008| r2008_6(D) = Load[?] : &:r2008_3, ~m2008_5 -# 2008| r2008_7(glval) = VariableAddress[x] : -# 2008| m2008_8(D) = Store[x] : &:r2008_7, r2008_6 -# 2009| r2009_1(glval) = VariableAddress[y] : -# 2009| m2009_2(D) = Uninitialized[y] : &:r2009_1 -# 2010| r2010_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2010| r2010_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2010_1 -# 2010| m2010_3(unknown) = ^CallSideEffect : ~m2008_5 -# 2010| m2010_4(unknown) = Chi : total:m2008_5, partial:m2010_3 -# 2010| r2010_5(D) = Load[?] : &:r2010_2, ~m2010_4 -# 2010| r2010_6(glval) = VariableAddress[y] : -# 2010| m2010_7(D) = Store[y] : &:r2010_6, r2010_5 -# 2011| r2011_1(glval) = VariableAddress[j] : -# 2011| m2011_2(D) = Uninitialized[j] : &:r2011_1 -# 2012| r2012_1(glval) = VariableAddress[d] : -# 2012| r2012_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2012| r2012_3(D) = Call[ObjectStaticMemberFunction] : func:r2012_2 -# 2012| m2012_4(unknown) = ^CallSideEffect : ~m2010_4 -# 2012| m2012_5(unknown) = Chi : total:m2010_4, partial:m2012_4 -# 2012| r2012_6(glval) = VariableAddress[j] : -# 2012| m2012_7(D) = Store[j] : &:r2012_6, r2012_3 -# 2013| r2013_1(glval) = VariableAddress[k] : -# 2013| m2013_2(D) = Uninitialized[k] : &:r2013_1 -# 2014| r2014_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2014| r2014_2(D) = Call[ObjectStaticMemberFunction] : func:r2014_1 -# 2014| m2014_3(unknown) = ^CallSideEffect : ~m2012_5 -# 2014| m2014_4(unknown) = Chi : total:m2012_5, partial:m2014_3 -# 2014| r2014_5(glval) = VariableAddress[k] : -# 2014| m2014_6(D) = Store[k] : &:r2014_5, r2014_2 -# 2015| v2015_1(void) = NoOp : -# 1999| v1999_5(void) = ReturnVoid : -# 1999| v1999_6(void) = AliasedUse : ~m2014_4 -# 1999| v1999_7(void) = ExitFunction : - -# 2017| void test_volatile() -# 2017| Block 0 -# 2017| v2017_1(void) = EnterFunction : -# 2017| m2017_2(unknown) = AliasedDefinition : -# 2017| m2017_3(unknown) = InitializeNonLocal : -# 2017| m2017_4(unknown) = Chi : total:m2017_2, partial:m2017_3 -# 2018| r2018_1(glval) = VariableAddress[x] : -# 2018| m2018_2(int) = Uninitialized[x] : &:r2018_1 -# 2019| r2019_1(glval) = VariableAddress[x] : -# 2019| r2019_2(int) = Load[x] : &:r2019_1, m2018_2 -# 2020| v2020_1(void) = NoOp : -# 2017| v2017_5(void) = ReturnVoid : -# 2017| v2017_6(void) = AliasedUse : m2017_3 -# 2017| v2017_7(void) = ExitFunction : - -# 2028| void value_category_test() -# 2028| Block 0 -# 2028| v2028_1(void) = EnterFunction : -# 2028| m2028_2(unknown) = AliasedDefinition : -# 2028| m2028_3(unknown) = InitializeNonLocal : -# 2028| m2028_4(unknown) = Chi : total:m2028_2, partial:m2028_3 -# 2029| r2029_1(glval) = VariableAddress[c] : -# 2029| m2029_2(ValCat) = Uninitialized[c] : &:r2029_1 +# 1991| v1991_1(void) = EnterFunction : +# 1991| m1991_2(unknown) = AliasedDefinition : +# 1991| m1991_3(unknown) = InitializeNonLocal : +# 1991| m1991_4(unknown) = Chi : total:m1991_2, partial:m1991_3 +# 1992| r1992_1(glval) = VariableAddress[i] : +# 1992| m1992_2(int) = Uninitialized[i] : &:r1992_1 +# 1992| r1992_3(glval) = VariableAddress[j] : +# 1992| m1992_4(int) = Uninitialized[j] : &:r1992_3 +# 1993| r1993_1(int) = Constant[40] : +# 1993| r1993_2(glval) = VariableAddress[j] : +# 1993| m1993_3(int) = Store[j] : &:r1993_2, r1993_1 +# 1993| r1993_4(int) = Load[j] : &:r1993_2, m1993_3 +# 1993| r1993_5(glval) = VariableAddress[i] : +# 1993| m1993_6(int) = Store[i] : &:r1993_5, r1993_4 +# 1994| v1994_1(void) = NoOp : +# 1991| v1991_5(void) = ReturnVoid : +# 1991| v1991_6(void) = AliasedUse : m1991_3 +# 1991| v1991_7(void) = ExitFunction : + +# 1996| void test_assign_with_assign_operation() +# 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 +# 1997| r1997_1(glval) = VariableAddress[i] : +# 1997| m1997_2(int) = Uninitialized[i] : &:r1997_1 +# 1997| r1997_3(glval) = VariableAddress[j] : +# 1997| r1997_4(int) = Constant[0] : +# 1997| m1997_5(int) = Store[j] : &:r1997_3, r1997_4 +# 1998| r1998_1(int) = Constant[40] : +# 1998| r1998_2(glval) = VariableAddress[j] : +# 1998| r1998_3(int) = Load[j] : &:r1998_2, m1997_5 +# 1998| r1998_4(int) = Add : r1998_3, r1998_1 +# 1998| m1998_5(int) = Store[j] : &:r1998_2, r1998_4 +# 1998| r1998_6(int) = Load[j] : &:r1998_2, m1998_5 +# 1998| r1998_7(glval) = VariableAddress[i] : +# 1998| m1998_8(int) = Store[i] : &:r1998_7, r1998_6 +# 1999| v1999_1(void) = NoOp : +# 1996| v1996_5(void) = ReturnVoid : +# 1996| v1996_6(void) = AliasedUse : m1996_3 +# 1996| v1996_7(void) = ExitFunction : + +# 2005| D& D::ReferenceStaticMemberFunction() +# 2005| Block 0 +# 2005| v2005_1(void) = EnterFunction : +# 2005| m2005_2(unknown) = AliasedDefinition : +# 2005| m2005_3(unknown) = InitializeNonLocal : +# 2005| m2005_4(unknown) = Chi : total:m2005_2, partial:m2005_3 +# 2006| r2006_1(glval) = VariableAddress[#return] : +# 2006| r2006_2(glval) = VariableAddress[x] : +# 2006| r2006_3(D &) = CopyValue : r2006_2 +# 2006| m2006_4(D &) = Store[#return] : &:r2006_1, r2006_3 +# 2005| r2005_5(glval) = VariableAddress[#return] : +# 2005| v2005_6(void) = ReturnValue : &:r2005_5, m2006_4 +# 2005| v2005_7(void) = AliasedUse : m2005_3 +# 2005| v2005_8(void) = ExitFunction : + +# 2008| D D::ObjectStaticMemberFunction() +# 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 +# 2009| r2009_1(glval) = VariableAddress[#return] : +# 2009| r2009_2(glval) = VariableAddress[x] : +# 2009| r2009_3(D) = Load[x] : &:r2009_2, ~m2008_3 +# 2009| m2009_4(D) = Store[#return] : &:r2009_1, r2009_3 +# 2008| r2008_5(glval) = VariableAddress[#return] : +# 2008| v2008_6(void) = ReturnValue : &:r2008_5, m2009_4 +# 2008| v2008_7(void) = AliasedUse : m2008_3 +# 2008| v2008_8(void) = ExitFunction : + +# 2013| void test_static_member_functions_with_reference_return() +# 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 +# 2014| r2014_1(glval) = VariableAddress[d] : +# 2014| m2014_2(D) = Uninitialized[d] : &:r2014_1 +# 2016| r2016_1(glval) = VariableAddress[d] : +# 2016| r2016_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2016| r2016_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2016_2 +# 2016| m2016_4(unknown) = ^CallSideEffect : ~m2013_4 +# 2016| m2016_5(unknown) = Chi : total:m2013_4, partial:m2016_4 +# 2016| r2016_6(glval) = CopyValue : r2016_3 +# 2017| r2017_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2017| r2017_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2017_1 +# 2017| m2017_3(unknown) = ^CallSideEffect : ~m2016_5 +# 2017| m2017_4(unknown) = Chi : total:m2016_5, partial:m2017_3 +# 2017| r2017_5(glval) = CopyValue : r2017_2 +# 2018| r2018_1(glval) = VariableAddress[d] : +# 2018| r2018_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2018| r2018_3(D) = Call[ObjectStaticMemberFunction] : func:r2018_2 +# 2018| m2018_4(unknown) = ^CallSideEffect : ~m2017_4 +# 2018| m2018_5(unknown) = Chi : total:m2017_4, partial:m2018_4 +# 2019| r2019_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2019| r2019_2(D) = Call[ObjectStaticMemberFunction] : func:r2019_1 +# 2019| m2019_3(unknown) = ^CallSideEffect : ~m2018_5 +# 2019| m2019_4(unknown) = Chi : total:m2018_5, partial:m2019_3 +# 2021| r2021_1(glval) = VariableAddress[x] : +# 2021| m2021_2(D) = Uninitialized[x] : &:r2021_1 +# 2022| r2022_1(glval) = VariableAddress[d] : +# 2022| r2022_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2022| r2022_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2022_2 +# 2022| m2022_4(unknown) = ^CallSideEffect : ~m2019_4 +# 2022| m2022_5(unknown) = Chi : total:m2019_4, partial:m2022_4 +# 2022| r2022_6(D) = Load[?] : &:r2022_3, ~m2022_5 +# 2022| r2022_7(glval) = VariableAddress[x] : +# 2022| m2022_8(D) = Store[x] : &:r2022_7, r2022_6 +# 2023| r2023_1(glval) = VariableAddress[y] : +# 2023| m2023_2(D) = Uninitialized[y] : &:r2023_1 +# 2024| r2024_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2024| r2024_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2024_1 +# 2024| m2024_3(unknown) = ^CallSideEffect : ~m2022_5 +# 2024| m2024_4(unknown) = Chi : total:m2022_5, partial:m2024_3 +# 2024| r2024_5(D) = Load[?] : &:r2024_2, ~m2024_4 +# 2024| r2024_6(glval) = VariableAddress[y] : +# 2024| m2024_7(D) = Store[y] : &:r2024_6, r2024_5 +# 2025| r2025_1(glval) = VariableAddress[j] : +# 2025| m2025_2(D) = Uninitialized[j] : &:r2025_1 +# 2026| r2026_1(glval) = VariableAddress[d] : +# 2026| r2026_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2026| r2026_3(D) = Call[ObjectStaticMemberFunction] : func:r2026_2 +# 2026| m2026_4(unknown) = ^CallSideEffect : ~m2024_4 +# 2026| m2026_5(unknown) = Chi : total:m2024_4, partial:m2026_4 +# 2026| r2026_6(glval) = VariableAddress[j] : +# 2026| m2026_7(D) = Store[j] : &:r2026_6, r2026_3 +# 2027| r2027_1(glval) = VariableAddress[k] : +# 2027| m2027_2(D) = Uninitialized[k] : &:r2027_1 +# 2028| r2028_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2028| r2028_2(D) = Call[ObjectStaticMemberFunction] : func:r2028_1 +# 2028| m2028_3(unknown) = ^CallSideEffect : ~m2026_5 +# 2028| m2028_4(unknown) = Chi : total:m2026_5, partial:m2028_3 +# 2028| r2028_5(glval) = VariableAddress[k] : +# 2028| m2028_6(D) = Store[k] : &:r2028_5, r2028_2 +# 2029| v2029_1(void) = NoOp : +# 2013| v2013_5(void) = ReturnVoid : +# 2013| v2013_6(void) = AliasedUse : ~m2028_4 +# 2013| v2013_7(void) = ExitFunction : + +# 2031| void test_volatile() +# 2031| Block 0 +# 2031| v2031_1(void) = EnterFunction : +# 2031| m2031_2(unknown) = AliasedDefinition : +# 2031| m2031_3(unknown) = InitializeNonLocal : +# 2031| m2031_4(unknown) = Chi : total:m2031_2, partial:m2031_3 +# 2032| r2032_1(glval) = VariableAddress[x] : +# 2032| m2032_2(int) = Uninitialized[x] : &:r2032_1 +# 2033| r2033_1(glval) = VariableAddress[x] : +# 2033| r2033_2(int) = Load[x] : &:r2033_1, m2032_2 +# 2034| v2034_1(void) = NoOp : +# 2031| v2031_5(void) = ReturnVoid : +# 2031| v2031_6(void) = AliasedUse : m2031_3 +# 2031| v2031_7(void) = ExitFunction : + +# 2042| void value_category_test() +# 2042| Block 0 +# 2042| v2042_1(void) = EnterFunction : +# 2042| m2042_2(unknown) = AliasedDefinition : +# 2042| m2042_3(unknown) = InitializeNonLocal : +# 2042| m2042_4(unknown) = Chi : total:m2042_2, partial:m2042_3 +# 2043| r2043_1(glval) = VariableAddress[c] : +# 2043| m2043_2(ValCat) = Uninitialized[c] : &:r2043_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 -# 2031| r2031_1(glval) = VariableAddress[c] : -# 2031| r2031_2(glval) = FunctionAddress[lvalue] : -# 2031| r2031_3(ValCat &) = Call[lvalue] : func:r2031_2 -# 2031| m2031_4(unknown) = ^CallSideEffect : ~m2028_4 -# 2031| m2031_5(unknown) = Chi : total:m2028_4, partial:m2031_4 -# 2031| r2031_6(glval) = CopyValue : r2031_3 -# 2031| m2031_7(ValCat) = Store[?] : &:r2031_6, r0_3 -# 2031| m2031_8(unknown) = Chi : total:m2031_5, partial:m2031_7 +# 2045| r2045_1(glval) = VariableAddress[c] : +# 2045| r2045_2(glval) = FunctionAddress[lvalue] : +# 2045| r2045_3(ValCat &) = Call[lvalue] : func:r2045_2 +# 2045| m2045_4(unknown) = ^CallSideEffect : ~m2042_4 +# 2045| m2045_5(unknown) = Chi : total:m2042_4, partial:m2045_4 +# 2045| r2045_6(glval) = CopyValue : r2045_3 +# 2045| m2045_7(ValCat) = Store[?] : &:r2045_6, r0_3 +# 2045| m2045_8(unknown) = Chi : total:m2045_5, partial:m2045_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 -# 2032| r2032_1(glval) = VariableAddress[c] : -# 2032| r2032_2(glval) = FunctionAddress[xvalue] : -# 2032| r2032_3(ValCat &&) = Call[xvalue] : func:r2032_2 -# 2032| m2032_4(unknown) = ^CallSideEffect : ~m2031_8 -# 2032| m2032_5(unknown) = Chi : total:m2031_8, partial:m2032_4 -# 2032| r2032_6(glval) = CopyValue : r2032_3 -# 2032| m2032_7(ValCat) = Store[?] : &:r2032_6, r0_6 -# 2032| m2032_8(unknown) = Chi : total:m2032_5, partial:m2032_7 +# 2046| r2046_1(glval) = VariableAddress[c] : +# 2046| r2046_2(glval) = FunctionAddress[xvalue] : +# 2046| r2046_3(ValCat &&) = Call[xvalue] : func:r2046_2 +# 2046| m2046_4(unknown) = ^CallSideEffect : ~m2045_8 +# 2046| m2046_5(unknown) = Chi : total:m2045_8, partial:m2046_4 +# 2046| r2046_6(glval) = CopyValue : r2046_3 +# 2046| m2046_7(ValCat) = Store[?] : &:r2046_6, r0_6 +# 2046| m2046_8(unknown) = Chi : total:m2046_5, partial:m2046_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 -# 2033| r2033_1(glval) = VariableAddress[#temp2033:5] : -# 2033| r2033_2(glval) = VariableAddress[c] : -# 2033| r2033_3(glval) = FunctionAddress[prvalue] : -# 2033| r2033_4(ValCat) = Call[prvalue] : func:r2033_3 -# 2033| m2033_5(unknown) = ^CallSideEffect : ~m2032_8 -# 2033| m2033_6(unknown) = Chi : total:m2032_8, partial:m2033_5 -# 2033| m2033_7(ValCat) = Store[#temp2033:5] : &:r2033_1, r2033_4 -# 2033| m2033_8(ValCat) = Store[#temp2033:5] : &:r2033_1, r0_9 +# 2047| r2047_1(glval) = VariableAddress[#temp2047:5] : +# 2047| r2047_2(glval) = VariableAddress[c] : +# 2047| r2047_3(glval) = FunctionAddress[prvalue] : +# 2047| r2047_4(ValCat) = Call[prvalue] : func:r2047_3 +# 2047| m2047_5(unknown) = ^CallSideEffect : ~m2046_8 +# 2047| m2047_6(unknown) = Chi : total:m2046_8, partial:m2047_5 +# 2047| m2047_7(ValCat) = Store[#temp2047:5] : &:r2047_1, r2047_4 +# 2047| m2047_8(ValCat) = Store[#temp2047:5] : &:r2047_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 -# 2034| r2034_1(glval) = FunctionAddress[lvalue] : -# 2034| r2034_2(ValCat &) = Call[lvalue] : func:r2034_1 -# 2034| m2034_3(unknown) = ^CallSideEffect : ~m2033_6 -# 2034| m2034_4(unknown) = Chi : total:m2033_6, partial:m2034_3 -# 2034| r2034_5(glval) = CopyValue : r2034_2 -# 2034| m2034_6(ValCat) = Store[?] : &:r2034_5, r0_12 -# 2034| m2034_7(unknown) = Chi : total:m2034_4, partial:m2034_6 +# 2048| r2048_1(glval) = FunctionAddress[lvalue] : +# 2048| r2048_2(ValCat &) = Call[lvalue] : func:r2048_1 +# 2048| m2048_3(unknown) = ^CallSideEffect : ~m2047_6 +# 2048| m2048_4(unknown) = Chi : total:m2047_6, partial:m2048_3 +# 2048| r2048_5(glval) = CopyValue : r2048_2 +# 2048| m2048_6(ValCat) = Store[?] : &:r2048_5, r0_12 +# 2048| m2048_7(unknown) = Chi : total:m2048_4, partial:m2048_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 -# 2035| r2035_1(glval) = FunctionAddress[xvalue] : -# 2035| r2035_2(ValCat &&) = Call[xvalue] : func:r2035_1 -# 2035| m2035_3(unknown) = ^CallSideEffect : ~m2034_7 -# 2035| m2035_4(unknown) = Chi : total:m2034_7, partial:m2035_3 -# 2035| r2035_5(glval) = CopyValue : r2035_2 -# 2035| m2035_6(ValCat) = Store[?] : &:r2035_5, r0_15 -# 2035| m2035_7(unknown) = Chi : total:m2035_4, partial:m2035_6 +# 2049| r2049_1(glval) = FunctionAddress[xvalue] : +# 2049| r2049_2(ValCat &&) = Call[xvalue] : func:r2049_1 +# 2049| m2049_3(unknown) = ^CallSideEffect : ~m2048_7 +# 2049| m2049_4(unknown) = Chi : total:m2048_7, partial:m2049_3 +# 2049| r2049_5(glval) = CopyValue : r2049_2 +# 2049| m2049_6(ValCat) = Store[?] : &:r2049_5, r0_15 +# 2049| m2049_7(unknown) = Chi : total:m2049_4, partial:m2049_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 -# 2036| r2036_1(glval) = VariableAddress[#temp2036:5] : -# 2036| r2036_2(glval) = FunctionAddress[prvalue] : -# 2036| r2036_3(ValCat) = Call[prvalue] : func:r2036_2 -# 2036| m2036_4(unknown) = ^CallSideEffect : ~m2035_7 -# 2036| m2036_5(unknown) = Chi : total:m2035_7, partial:m2036_4 -# 2036| m2036_6(ValCat) = Store[#temp2036:5] : &:r2036_1, r2036_3 -# 2036| m2036_7(ValCat) = Store[#temp2036:5] : &:r2036_1, r0_18 -# 2037| v2037_1(void) = NoOp : -# 2028| v2028_5(void) = ReturnVoid : -# 2028| v2028_6(void) = AliasedUse : ~m2036_5 -# 2028| v2028_7(void) = ExitFunction : - -# 2039| void SetStaticFuncPtr() -# 2039| Block 0 -# 2039| v2039_1(void) = EnterFunction : -# 2039| m2039_2(unknown) = AliasedDefinition : -# 2039| m2039_3(unknown) = InitializeNonLocal : -# 2039| m2039_4(unknown) = Chi : total:m2039_2, partial:m2039_3 -# 2040| r2040_1(glval) = VariableAddress[c] : -# 2040| m2040_2(C) = Uninitialized[c] : &:r2040_1 -# 2040| r2040_3(glval) = FunctionAddress[C] : -# 2040| v2040_4(void) = Call[C] : func:r2040_3, this:r2040_1 -# 2040| m2040_5(unknown) = ^CallSideEffect : ~m2039_4 -# 2040| m2040_6(unknown) = Chi : total:m2039_4, partial:m2040_5 -# 2040| m2040_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2040_1 -# 2040| m2040_8(C) = Chi : total:m2040_2, partial:m2040_7 -# 2041| r2041_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 2041| r2041_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 2041| m2041_3(..(*)(..)) = Store[pfn] : &:r2041_1, r2041_2 -# 2042| r2042_1(glval) = VariableAddress[c] : -# 2042| r2042_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 2042| r2042_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 2042| m2042_4(..(*)(..)) = Store[pfn] : &:r2042_3, r2042_2 -# 2043| v2043_1(void) = NoOp : -# 2043| r2043_2(glval) = VariableAddress[c] : -# 2043| r2043_3(glval) = FunctionAddress[~C] : -# 2043| v2043_4(void) = Call[~C] : func:r2043_3, this:r2043_2 -# 2043| m2043_5(unknown) = ^CallSideEffect : ~m2040_6 -# 2043| m2043_6(unknown) = Chi : total:m2040_6, partial:m2043_5 -# 2043| v2043_7(void) = ^IndirectReadSideEffect[-1] : &:r2043_2, m2040_8 -# 2043| m2043_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r2043_2 -# 2043| m2043_9(C) = Chi : total:m2040_8, partial:m2043_8 -# 2039| v2039_5(void) = ReturnVoid : -# 2039| v2039_6(void) = AliasedUse : ~m2043_6 -# 2039| v2039_7(void) = ExitFunction : - -# 2045| void TernaryTestInt(bool, int, int, int) -# 2045| Block 0 -# 2045| v2045_1(void) = EnterFunction : -# 2045| m2045_2(unknown) = AliasedDefinition : -# 2045| m2045_3(unknown) = InitializeNonLocal : -# 2045| m2045_4(unknown) = Chi : total:m2045_2, partial:m2045_3 -# 2045| r2045_5(glval) = VariableAddress[a] : -# 2045| m2045_6(bool) = InitializeParameter[a] : &:r2045_5 -# 2045| r2045_7(glval) = VariableAddress[x] : -# 2045| m2045_8(int) = InitializeParameter[x] : &:r2045_7 -# 2045| r2045_9(glval) = VariableAddress[y] : -# 2045| m2045_10(int) = InitializeParameter[y] : &:r2045_9 -# 2045| r2045_11(glval) = VariableAddress[z] : -# 2045| m2045_12(int) = InitializeParameter[z] : &:r2045_11 -# 2046| r2046_1(glval) = VariableAddress[a] : -# 2046| r2046_2(bool) = Load[a] : &:r2046_1, m2045_6 -# 2046| v2046_3(void) = ConditionalBranch : r2046_2 +# 2050| r2050_1(glval) = VariableAddress[#temp2050:5] : +# 2050| r2050_2(glval) = FunctionAddress[prvalue] : +# 2050| r2050_3(ValCat) = Call[prvalue] : func:r2050_2 +# 2050| m2050_4(unknown) = ^CallSideEffect : ~m2049_7 +# 2050| m2050_5(unknown) = Chi : total:m2049_7, partial:m2050_4 +# 2050| m2050_6(ValCat) = Store[#temp2050:5] : &:r2050_1, r2050_3 +# 2050| m2050_7(ValCat) = Store[#temp2050:5] : &:r2050_1, r0_18 +# 2051| v2051_1(void) = NoOp : +# 2042| v2042_5(void) = ReturnVoid : +# 2042| v2042_6(void) = AliasedUse : ~m2050_5 +# 2042| v2042_7(void) = ExitFunction : + +# 2053| void SetStaticFuncPtr() +# 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 +# 2054| r2054_1(glval) = VariableAddress[c] : +# 2054| m2054_2(C) = Uninitialized[c] : &:r2054_1 +# 2054| r2054_3(glval) = FunctionAddress[C] : +# 2054| v2054_4(void) = Call[C] : func:r2054_3, this:r2054_1 +# 2054| m2054_5(unknown) = ^CallSideEffect : ~m2053_4 +# 2054| m2054_6(unknown) = Chi : total:m2053_4, partial:m2054_5 +# 2054| m2054_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2054_1 +# 2054| m2054_8(C) = Chi : total:m2054_2, partial:m2054_7 +# 2055| r2055_1(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2055| r2055_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2055| m2055_3(..(*)(..)) = Store[pfn] : &:r2055_1, r2055_2 +# 2056| r2056_1(glval) = VariableAddress[c] : +# 2056| r2056_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2056| r2056_3(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2056| m2056_4(..(*)(..)) = Store[pfn] : &:r2056_3, r2056_2 +# 2057| v2057_1(void) = NoOp : +# 2057| r2057_2(glval) = VariableAddress[c] : +# 2057| r2057_3(glval) = FunctionAddress[~C] : +# 2057| v2057_4(void) = Call[~C] : func:r2057_3, this:r2057_2 +# 2057| m2057_5(unknown) = ^CallSideEffect : ~m2054_6 +# 2057| m2057_6(unknown) = Chi : total:m2054_6, partial:m2057_5 +# 2057| v2057_7(void) = ^IndirectReadSideEffect[-1] : &:r2057_2, m2054_8 +# 2057| m2057_8(C) = ^IndirectMayWriteSideEffect[-1] : &:r2057_2 +# 2057| m2057_9(C) = Chi : total:m2054_8, partial:m2057_8 +# 2053| v2053_5(void) = ReturnVoid : +# 2053| v2053_6(void) = AliasedUse : ~m2057_6 +# 2053| v2053_7(void) = ExitFunction : + +# 2059| void TernaryTestInt(bool, int, int, int) +# 2059| Block 0 +# 2059| v2059_1(void) = EnterFunction : +# 2059| m2059_2(unknown) = AliasedDefinition : +# 2059| m2059_3(unknown) = InitializeNonLocal : +# 2059| m2059_4(unknown) = Chi : total:m2059_2, partial:m2059_3 +# 2059| r2059_5(glval) = VariableAddress[a] : +# 2059| m2059_6(bool) = InitializeParameter[a] : &:r2059_5 +# 2059| r2059_7(glval) = VariableAddress[x] : +# 2059| m2059_8(int) = InitializeParameter[x] : &:r2059_7 +# 2059| r2059_9(glval) = VariableAddress[y] : +# 2059| m2059_10(int) = InitializeParameter[y] : &:r2059_9 +# 2059| r2059_11(glval) = VariableAddress[z] : +# 2059| m2059_12(int) = InitializeParameter[z] : &:r2059_11 +# 2060| r2060_1(glval) = VariableAddress[a] : +# 2060| r2060_2(bool) = Load[a] : &:r2060_1, m2059_6 +# 2060| v2060_3(void) = ConditionalBranch : r2060_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2046| Block 1 -# 2046| m2046_4(int) = Phi : from 2:m2046_12, from 3:m2046_16 -# 2046| r2046_5(glval) = VariableAddress[#temp2046:9] : -# 2046| r2046_6(int) = Load[#temp2046:9] : &:r2046_5, m2046_4 -# 2046| r2046_7(glval) = VariableAddress[z] : -# 2046| m2046_8(int) = Store[z] : &:r2046_7, r2046_6 -# 2047| r2047_1(glval) = VariableAddress[a] : -# 2047| r2047_2(bool) = Load[a] : &:r2047_1, m2045_6 -# 2047| v2047_3(void) = ConditionalBranch : r2047_2 +# 2060| Block 1 +# 2060| m2060_4(int) = Phi : from 2:m2060_12, from 3:m2060_16 +# 2060| r2060_5(glval) = VariableAddress[#temp2060:9] : +# 2060| r2060_6(int) = Load[#temp2060:9] : &:r2060_5, m2060_4 +# 2060| r2060_7(glval) = VariableAddress[z] : +# 2060| m2060_8(int) = Store[z] : &:r2060_7, r2060_6 +# 2061| r2061_1(glval) = VariableAddress[a] : +# 2061| r2061_2(bool) = Load[a] : &:r2061_1, m2059_6 +# 2061| v2061_3(void) = ConditionalBranch : r2061_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 2046| Block 2 -# 2046| r2046_9(glval) = VariableAddress[x] : -# 2046| r2046_10(int) = Load[x] : &:r2046_9, m2045_8 -# 2046| r2046_11(glval) = VariableAddress[#temp2046:9] : -# 2046| m2046_12(int) = Store[#temp2046:9] : &:r2046_11, r2046_10 +# 2060| Block 2 +# 2060| r2060_9(glval) = VariableAddress[x] : +# 2060| r2060_10(int) = Load[x] : &:r2060_9, m2059_8 +# 2060| r2060_11(glval) = VariableAddress[#temp2060:9] : +# 2060| m2060_12(int) = Store[#temp2060:9] : &:r2060_11, r2060_10 #-----| Goto -> Block 1 -# 2046| Block 3 -# 2046| r2046_13(glval) = VariableAddress[y] : -# 2046| r2046_14(int) = Load[y] : &:r2046_13, m2045_10 -# 2046| r2046_15(glval) = VariableAddress[#temp2046:9] : -# 2046| m2046_16(int) = Store[#temp2046:9] : &:r2046_15, r2046_14 +# 2060| Block 3 +# 2060| r2060_13(glval) = VariableAddress[y] : +# 2060| r2060_14(int) = Load[y] : &:r2060_13, m2059_10 +# 2060| r2060_15(glval) = VariableAddress[#temp2060:9] : +# 2060| m2060_16(int) = Store[#temp2060:9] : &:r2060_15, r2060_14 #-----| Goto -> Block 1 -# 2047| Block 4 -# 2047| m2047_4(int) = Phi : from 5:m2047_12, from 6:m2047_15 -# 2047| r2047_5(glval) = VariableAddress[#temp2047:9] : -# 2047| r2047_6(int) = Load[#temp2047:9] : &:r2047_5, m2047_4 -# 2047| r2047_7(glval) = VariableAddress[z] : -# 2047| m2047_8(int) = Store[z] : &:r2047_7, r2047_6 -# 2048| r2048_1(glval) = VariableAddress[a] : -# 2048| r2048_2(bool) = Load[a] : &:r2048_1, m2045_6 -# 2048| v2048_3(void) = ConditionalBranch : r2048_2 +# 2061| Block 4 +# 2061| m2061_4(int) = Phi : from 5:m2061_12, from 6:m2061_15 +# 2061| r2061_5(glval) = VariableAddress[#temp2061:9] : +# 2061| r2061_6(int) = Load[#temp2061:9] : &:r2061_5, m2061_4 +# 2061| r2061_7(glval) = VariableAddress[z] : +# 2061| m2061_8(int) = Store[z] : &:r2061_7, r2061_6 +# 2062| r2062_1(glval) = VariableAddress[a] : +# 2062| r2062_2(bool) = Load[a] : &:r2062_1, m2059_6 +# 2062| v2062_3(void) = ConditionalBranch : r2062_2 #-----| False -> Block 9 #-----| True -> Block 8 -# 2047| Block 5 -# 2047| r2047_9(glval) = VariableAddress[x] : -# 2047| r2047_10(int) = Load[x] : &:r2047_9, m2045_8 -# 2047| r2047_11(glval) = VariableAddress[#temp2047:9] : -# 2047| m2047_12(int) = Store[#temp2047:9] : &:r2047_11, r2047_10 +# 2061| Block 5 +# 2061| r2061_9(glval) = VariableAddress[x] : +# 2061| r2061_10(int) = Load[x] : &:r2061_9, m2059_8 +# 2061| r2061_11(glval) = VariableAddress[#temp2061:9] : +# 2061| m2061_12(int) = Store[#temp2061:9] : &:r2061_11, r2061_10 #-----| Goto -> Block 4 -# 2047| Block 6 -# 2047| r2047_13(int) = Constant[5] : -# 2047| r2047_14(glval) = VariableAddress[#temp2047:9] : -# 2047| m2047_15(int) = Store[#temp2047:9] : &:r2047_14, r2047_13 +# 2061| Block 6 +# 2061| r2061_13(int) = Constant[5] : +# 2061| r2061_14(glval) = VariableAddress[#temp2061:9] : +# 2061| m2061_15(int) = Store[#temp2061:9] : &:r2061_14, r2061_13 #-----| Goto -> Block 4 -# 2048| Block 7 -# 2048| m2048_4(int) = Phi : from 8:m2048_11, from 9:m2048_14 -# 2048| r2048_5(glval) = VariableAddress[#temp2048:9] : -# 2048| r2048_6(int) = Load[#temp2048:9] : &:r2048_5, m2048_4 -# 2048| r2048_7(glval) = VariableAddress[z] : -# 2048| m2048_8(int) = Store[z] : &:r2048_7, r2048_6 -# 2049| r2049_1(int) = Constant[7] : -# 2049| r2049_2(glval) = VariableAddress[a] : -# 2049| r2049_3(bool) = Load[a] : &:r2049_2, m2045_6 -# 2049| v2049_4(void) = ConditionalBranch : r2049_3 +# 2062| Block 7 +# 2062| m2062_4(int) = Phi : from 8:m2062_11, from 9:m2062_14 +# 2062| r2062_5(glval) = VariableAddress[#temp2062:9] : +# 2062| r2062_6(int) = Load[#temp2062:9] : &:r2062_5, m2062_4 +# 2062| r2062_7(glval) = VariableAddress[z] : +# 2062| m2062_8(int) = Store[z] : &:r2062_7, r2062_6 +# 2063| r2063_1(int) = Constant[7] : +# 2063| r2063_2(glval) = VariableAddress[a] : +# 2063| r2063_3(bool) = Load[a] : &:r2063_2, m2059_6 +# 2063| v2063_4(void) = ConditionalBranch : r2063_3 #-----| False -> Block 12 #-----| True -> Block 11 -# 2048| Block 8 -# 2048| r2048_9(int) = Constant[3] : -# 2048| r2048_10(glval) = VariableAddress[#temp2048:9] : -# 2048| m2048_11(int) = Store[#temp2048:9] : &:r2048_10, r2048_9 +# 2062| Block 8 +# 2062| r2062_9(int) = Constant[3] : +# 2062| r2062_10(glval) = VariableAddress[#temp2062:9] : +# 2062| m2062_11(int) = Store[#temp2062:9] : &:r2062_10, r2062_9 #-----| Goto -> Block 7 -# 2048| Block 9 -# 2048| r2048_12(int) = Constant[5] : -# 2048| r2048_13(glval) = VariableAddress[#temp2048:9] : -# 2048| m2048_14(int) = Store[#temp2048:9] : &:r2048_13, r2048_12 +# 2062| Block 9 +# 2062| r2062_12(int) = Constant[5] : +# 2062| r2062_13(glval) = VariableAddress[#temp2062:9] : +# 2062| m2062_14(int) = Store[#temp2062:9] : &:r2062_13, r2062_12 #-----| Goto -> Block 7 -# 2049| Block 10 -# 2049| m2049_5(glval) = Phi : from 11:m2049_12, from 12:m2049_15 -# 2049| r2049_6(glval) = VariableAddress[#temp2049:6] : -# 2049| r2049_7(glval) = Load[#temp2049:6] : &:r2049_6, m2049_5 -# 2049| m2049_8(int) = Store[?] : &:r2049_7, r2049_1 -# 2049| m2049_9(unknown) = Chi : total:m2045_4, partial:m2049_8 -# 2050| v2050_1(void) = NoOp : -# 2045| v2045_13(void) = ReturnVoid : -# 2045| v2045_14(void) = AliasedUse : ~m2049_9 -# 2045| v2045_15(void) = ExitFunction : - -# 2049| Block 11 -# 2049| r2049_10(glval) = VariableAddress[x] : -# 2049| r2049_11(glval) = VariableAddress[#temp2049:6] : -# 2049| m2049_12(glval) = Store[#temp2049:6] : &:r2049_11, r2049_10 +# 2063| Block 10 +# 2063| m2063_5(glval) = Phi : from 11:m2063_12, from 12:m2063_15 +# 2063| r2063_6(glval) = VariableAddress[#temp2063:6] : +# 2063| r2063_7(glval) = Load[#temp2063:6] : &:r2063_6, m2063_5 +# 2063| m2063_8(int) = Store[?] : &:r2063_7, r2063_1 +# 2063| m2063_9(unknown) = Chi : total:m2059_4, partial:m2063_8 +# 2064| v2064_1(void) = NoOp : +# 2059| v2059_13(void) = ReturnVoid : +# 2059| v2059_14(void) = AliasedUse : ~m2063_9 +# 2059| v2059_15(void) = ExitFunction : + +# 2063| Block 11 +# 2063| r2063_10(glval) = VariableAddress[x] : +# 2063| r2063_11(glval) = VariableAddress[#temp2063:6] : +# 2063| m2063_12(glval) = Store[#temp2063:6] : &:r2063_11, r2063_10 #-----| Goto -> Block 10 -# 2049| Block 12 -# 2049| r2049_13(glval) = VariableAddress[y] : -# 2049| r2049_14(glval) = VariableAddress[#temp2049:6] : -# 2049| m2049_15(glval) = Store[#temp2049:6] : &:r2049_14, r2049_13 +# 2063| Block 12 +# 2063| r2063_13(glval) = VariableAddress[y] : +# 2063| r2063_14(glval) = VariableAddress[#temp2063:6] : +# 2063| m2063_15(glval) = Store[#temp2063:6] : &:r2063_14, r2063_13 #-----| Goto -> Block 10 -# 2055| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2055| Block 0 -# 2055| v2055_1(void) = EnterFunction : -# 2055| m2055_2(unknown) = AliasedDefinition : -# 2055| m2055_3(unknown) = InitializeNonLocal : -# 2055| m2055_4(unknown) = Chi : total:m2055_2, partial:m2055_3 -# 2055| r2055_5(glval) = VariableAddress[a] : -# 2055| m2055_6(bool) = InitializeParameter[a] : &:r2055_5 -# 2055| r2055_7(glval) = VariableAddress[x] : -# 2055| m2055_8(TernaryPodObj) = InitializeParameter[x] : &:r2055_7 -# 2055| r2055_9(glval) = VariableAddress[y] : -# 2055| m2055_10(TernaryPodObj) = InitializeParameter[y] : &:r2055_9 -# 2055| r2055_11(glval) = VariableAddress[z] : -# 2055| m2055_12(TernaryPodObj) = InitializeParameter[z] : &:r2055_11 -# 2056| r2056_1(glval) = VariableAddress[a] : -# 2056| r2056_2(bool) = Load[a] : &:r2056_1, m2055_6 -# 2056| v2056_3(void) = ConditionalBranch : r2056_2 +# 2069| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2069| Block 0 +# 2069| v2069_1(void) = EnterFunction : +# 2069| m2069_2(unknown) = AliasedDefinition : +# 2069| m2069_3(unknown) = InitializeNonLocal : +# 2069| m2069_4(unknown) = Chi : total:m2069_2, partial:m2069_3 +# 2069| r2069_5(glval) = VariableAddress[a] : +# 2069| m2069_6(bool) = InitializeParameter[a] : &:r2069_5 +# 2069| r2069_7(glval) = VariableAddress[x] : +# 2069| m2069_8(TernaryPodObj) = InitializeParameter[x] : &:r2069_7 +# 2069| r2069_9(glval) = VariableAddress[y] : +# 2069| m2069_10(TernaryPodObj) = InitializeParameter[y] : &:r2069_9 +# 2069| r2069_11(glval) = VariableAddress[z] : +# 2069| m2069_12(TernaryPodObj) = InitializeParameter[z] : &:r2069_11 +# 2070| r2070_1(glval) = VariableAddress[a] : +# 2070| r2070_2(bool) = Load[a] : &:r2070_1, m2069_6 +# 2070| v2070_3(void) = ConditionalBranch : r2070_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2056| Block 1 -# 2056| m2056_4(TernaryPodObj) = Phi : from 2:m2056_12, from 3:m2056_16 -# 2056| r2056_5(glval) = VariableAddress[#temp2056:9] : -# 2056| r2056_6(TernaryPodObj) = Load[#temp2056:9] : &:r2056_5, m2056_4 -# 2056| r2056_7(glval) = VariableAddress[z] : -# 2056| m2056_8(TernaryPodObj) = Store[z] : &:r2056_7, r2056_6 -# 2057| r2057_1(glval) = VariableAddress[#temp2057:9] : -# 2057| r2057_2(glval) = VariableAddress[a] : -# 2057| r2057_3(bool) = Load[a] : &:r2057_2, m2055_6 -# 2057| v2057_4(void) = ConditionalBranch : r2057_3 +# 2070| Block 1 +# 2070| m2070_4(TernaryPodObj) = Phi : from 2:m2070_12, from 3:m2070_16 +# 2070| r2070_5(glval) = VariableAddress[#temp2070:9] : +# 2070| r2070_6(TernaryPodObj) = Load[#temp2070:9] : &:r2070_5, m2070_4 +# 2070| r2070_7(glval) = VariableAddress[z] : +# 2070| m2070_8(TernaryPodObj) = Store[z] : &:r2070_7, r2070_6 +# 2071| r2071_1(glval) = VariableAddress[#temp2071:9] : +# 2071| r2071_2(glval) = VariableAddress[a] : +# 2071| r2071_3(bool) = Load[a] : &:r2071_2, m2069_6 +# 2071| v2071_4(void) = ConditionalBranch : r2071_3 #-----| False -> Block 6 #-----| True -> Block 5 -# 2056| Block 2 -# 2056| r2056_9(glval) = VariableAddress[x] : -# 2056| r2056_10(TernaryPodObj) = Load[x] : &:r2056_9, m2055_8 -# 2056| r2056_11(glval) = VariableAddress[#temp2056:9] : -# 2056| m2056_12(TernaryPodObj) = Store[#temp2056:9] : &:r2056_11, r2056_10 +# 2070| Block 2 +# 2070| r2070_9(glval) = VariableAddress[x] : +# 2070| r2070_10(TernaryPodObj) = Load[x] : &:r2070_9, m2069_8 +# 2070| r2070_11(glval) = VariableAddress[#temp2070:9] : +# 2070| m2070_12(TernaryPodObj) = Store[#temp2070:9] : &:r2070_11, r2070_10 #-----| Goto -> Block 1 -# 2056| Block 3 -# 2056| r2056_13(glval) = VariableAddress[y] : -# 2056| r2056_14(TernaryPodObj) = Load[y] : &:r2056_13, m2055_10 -# 2056| r2056_15(glval) = VariableAddress[#temp2056:9] : -# 2056| m2056_16(TernaryPodObj) = Store[#temp2056:9] : &:r2056_15, r2056_14 +# 2070| Block 3 +# 2070| r2070_13(glval) = VariableAddress[y] : +# 2070| r2070_14(TernaryPodObj) = Load[y] : &:r2070_13, m2069_10 +# 2070| r2070_15(glval) = VariableAddress[#temp2070:9] : +# 2070| m2070_16(TernaryPodObj) = Store[#temp2070:9] : &:r2070_15, r2070_14 #-----| Goto -> Block 1 -# 2057| Block 4 -# 2057| m2057_5(TernaryPodObj) = Phi : from 5:m2057_18, from 6:m2057_24 -# 2057| r2057_6(glval) = VariableAddress[#temp2057:9] : -# 2057| r2057_7(TernaryPodObj) = Load[#temp2057:9] : &:r2057_6, m2057_5 -# 2057| m2057_8(TernaryPodObj) = Store[#temp2057:9] : &:r2057_1, r2057_7 -# 2057| r2057_9(TernaryPodObj) = Load[#temp2057:9] : &:r2057_1, m2057_8 -# 2057| r2057_10(glval) = VariableAddress[z] : -# 2057| m2057_11(TernaryPodObj) = Store[z] : &:r2057_10, r2057_9 -# 2058| r2058_1(glval) = VariableAddress[#temp2058:9] : -# 2058| r2058_2(glval) = VariableAddress[a] : -# 2058| r2058_3(bool) = Load[a] : &:r2058_2, m2055_6 -# 2058| v2058_4(void) = ConditionalBranch : r2058_3 +# 2071| Block 4 +# 2071| m2071_5(TernaryPodObj) = Phi : from 5:m2071_18, from 6:m2071_24 +# 2071| r2071_6(glval) = VariableAddress[#temp2071:9] : +# 2071| r2071_7(TernaryPodObj) = Load[#temp2071:9] : &:r2071_6, m2071_5 +# 2071| m2071_8(TernaryPodObj) = Store[#temp2071:9] : &:r2071_1, r2071_7 +# 2071| r2071_9(TernaryPodObj) = Load[#temp2071:9] : &:r2071_1, m2071_8 +# 2071| r2071_10(glval) = VariableAddress[z] : +# 2071| m2071_11(TernaryPodObj) = Store[z] : &:r2071_10, r2071_9 +# 2072| r2072_1(glval) = VariableAddress[#temp2072:9] : +# 2072| r2072_2(glval) = VariableAddress[a] : +# 2072| r2072_3(bool) = Load[a] : &:r2072_2, m2069_6 +# 2072| v2072_4(void) = ConditionalBranch : r2072_3 #-----| False -> Block 9 #-----| True -> Block 8 -# 2057| Block 5 -# 2057| r2057_12(glval) = VariableAddress[#temp2057:13] : -# 2057| r2057_13(glval) = VariableAddress[x] : -# 2057| r2057_14(TernaryPodObj) = Load[x] : &:r2057_13, m2055_8 -# 2057| m2057_15(TernaryPodObj) = Store[#temp2057:13] : &:r2057_12, r2057_14 -# 2057| r2057_16(TernaryPodObj) = Load[#temp2057:13] : &:r2057_12, m2057_15 -# 2057| r2057_17(glval) = VariableAddress[#temp2057:9] : -# 2057| m2057_18(TernaryPodObj) = Store[#temp2057:9] : &:r2057_17, r2057_16 +# 2071| Block 5 +# 2071| r2071_12(glval) = VariableAddress[#temp2071:13] : +# 2071| r2071_13(glval) = VariableAddress[x] : +# 2071| r2071_14(TernaryPodObj) = Load[x] : &:r2071_13, m2069_8 +# 2071| m2071_15(TernaryPodObj) = Store[#temp2071:13] : &:r2071_12, r2071_14 +# 2071| r2071_16(TernaryPodObj) = Load[#temp2071:13] : &:r2071_12, m2071_15 +# 2071| r2071_17(glval) = VariableAddress[#temp2071:9] : +# 2071| m2071_18(TernaryPodObj) = Store[#temp2071:9] : &:r2071_17, r2071_16 #-----| Goto -> Block 4 -# 2057| Block 6 -# 2057| r2057_19(glval) = VariableAddress[#temp2057:17] : -# 2057| r2057_20(TernaryPodObj) = Constant[0] : -# 2057| m2057_21(TernaryPodObj) = Store[#temp2057:17] : &:r2057_19, r2057_20 -# 2057| r2057_22(TernaryPodObj) = Load[#temp2057:17] : &:r2057_19, m2057_21 -# 2057| r2057_23(glval) = VariableAddress[#temp2057:9] : -# 2057| m2057_24(TernaryPodObj) = Store[#temp2057:9] : &:r2057_23, r2057_22 +# 2071| Block 6 +# 2071| r2071_19(glval) = VariableAddress[#temp2071:17] : +# 2071| r2071_20(TernaryPodObj) = Constant[0] : +# 2071| m2071_21(TernaryPodObj) = Store[#temp2071:17] : &:r2071_19, r2071_20 +# 2071| r2071_22(TernaryPodObj) = Load[#temp2071:17] : &:r2071_19, m2071_21 +# 2071| r2071_23(glval) = VariableAddress[#temp2071:9] : +# 2071| m2071_24(TernaryPodObj) = Store[#temp2071:9] : &:r2071_23, r2071_22 #-----| Goto -> Block 4 -# 2058| Block 7 -# 2058| m2058_5(TernaryPodObj) = Phi : from 8:m2058_17, from 9:m2058_23 -# 2058| r2058_6(glval) = VariableAddress[#temp2058:9] : -# 2058| r2058_7(TernaryPodObj) = Load[#temp2058:9] : &:r2058_6, m2058_5 -# 2058| m2058_8(TernaryPodObj) = Store[#temp2058:9] : &:r2058_1, r2058_7 -# 2058| r2058_9(TernaryPodObj) = Load[#temp2058:9] : &:r2058_1, m2058_8 -# 2058| r2058_10(glval) = VariableAddress[z] : -# 2058| m2058_11(TernaryPodObj) = Store[z] : &:r2058_10, r2058_9 -# 2059| r2059_1(glval) = VariableAddress[#temp2059:23] : -# 2059| r2059_2(TernaryPodObj) = Constant[0] : -# 2059| m2059_3(TernaryPodObj) = Store[#temp2059:23] : &:r2059_1, r2059_2 -# 2059| r2059_4(TernaryPodObj) = Load[#temp2059:23] : &:r2059_1, m2059_3 -# 2059| r2059_5(glval) = VariableAddress[a] : -# 2059| r2059_6(bool) = Load[a] : &:r2059_5, m2055_6 -# 2059| v2059_7(void) = ConditionalBranch : r2059_6 +# 2072| Block 7 +# 2072| m2072_5(TernaryPodObj) = Phi : from 8:m2072_17, from 9:m2072_23 +# 2072| r2072_6(glval) = VariableAddress[#temp2072:9] : +# 2072| r2072_7(TernaryPodObj) = Load[#temp2072:9] : &:r2072_6, m2072_5 +# 2072| m2072_8(TernaryPodObj) = Store[#temp2072:9] : &:r2072_1, r2072_7 +# 2072| r2072_9(TernaryPodObj) = Load[#temp2072:9] : &:r2072_1, m2072_8 +# 2072| r2072_10(glval) = VariableAddress[z] : +# 2072| m2072_11(TernaryPodObj) = Store[z] : &:r2072_10, r2072_9 +# 2073| r2073_1(glval) = VariableAddress[#temp2073:23] : +# 2073| r2073_2(TernaryPodObj) = Constant[0] : +# 2073| m2073_3(TernaryPodObj) = Store[#temp2073:23] : &:r2073_1, r2073_2 +# 2073| r2073_4(TernaryPodObj) = Load[#temp2073:23] : &:r2073_1, m2073_3 +# 2073| r2073_5(glval) = VariableAddress[a] : +# 2073| r2073_6(bool) = Load[a] : &:r2073_5, m2069_6 +# 2073| v2073_7(void) = ConditionalBranch : r2073_6 #-----| False -> Block 12 #-----| True -> Block 11 -# 2058| Block 8 -# 2058| r2058_12(glval) = VariableAddress[#temp2058:13] : -# 2058| r2058_13(TernaryPodObj) = Constant[0] : -# 2058| m2058_14(TernaryPodObj) = Store[#temp2058:13] : &:r2058_12, r2058_13 -# 2058| r2058_15(TernaryPodObj) = Load[#temp2058:13] : &:r2058_12, m2058_14 -# 2058| r2058_16(glval) = VariableAddress[#temp2058:9] : -# 2058| m2058_17(TernaryPodObj) = Store[#temp2058:9] : &:r2058_16, r2058_15 +# 2072| Block 8 +# 2072| r2072_12(glval) = VariableAddress[#temp2072:13] : +# 2072| r2072_13(TernaryPodObj) = Constant[0] : +# 2072| m2072_14(TernaryPodObj) = Store[#temp2072:13] : &:r2072_12, r2072_13 +# 2072| r2072_15(TernaryPodObj) = Load[#temp2072:13] : &:r2072_12, m2072_14 +# 2072| r2072_16(glval) = VariableAddress[#temp2072:9] : +# 2072| m2072_17(TernaryPodObj) = Store[#temp2072:9] : &:r2072_16, r2072_15 #-----| Goto -> Block 7 -# 2058| Block 9 -# 2058| r2058_18(glval) = VariableAddress[#temp2058:31] : -# 2058| r2058_19(TernaryPodObj) = Constant[0] : -# 2058| m2058_20(TernaryPodObj) = Store[#temp2058:31] : &:r2058_18, r2058_19 -# 2058| r2058_21(TernaryPodObj) = Load[#temp2058:31] : &:r2058_18, m2058_20 -# 2058| r2058_22(glval) = VariableAddress[#temp2058:9] : -# 2058| m2058_23(TernaryPodObj) = Store[#temp2058:9] : &:r2058_22, r2058_21 +# 2072| Block 9 +# 2072| r2072_18(glval) = VariableAddress[#temp2072:31] : +# 2072| r2072_19(TernaryPodObj) = Constant[0] : +# 2072| m2072_20(TernaryPodObj) = Store[#temp2072:31] : &:r2072_18, r2072_19 +# 2072| r2072_21(TernaryPodObj) = Load[#temp2072:31] : &:r2072_18, m2072_20 +# 2072| r2072_22(glval) = VariableAddress[#temp2072:9] : +# 2072| m2072_23(TernaryPodObj) = Store[#temp2072:9] : &:r2072_22, r2072_21 #-----| Goto -> Block 7 -# 2059| Block 10 -# 2059| m2059_8(TernaryPodObj) = Phi : from 11:m2059_18, from 12:m2059_22 -# 2059| r2059_9(glval) = VariableAddress[#temp2059:10] : -# 2059| r2059_10(TernaryPodObj) = Load[#temp2059:10] : &:r2059_9, m2059_8 -# 2059| r2059_11(glval) = VariableAddress[z] : -# 2059| m2059_12(TernaryPodObj) = Store[z] : &:r2059_11, r2059_10 -# 2059| r2059_13(glval) = CopyValue : r2059_11 -# 2059| m2059_14(TernaryPodObj) = Store[?] : &:r2059_13, r2059_4 -# 2060| v2060_1(void) = NoOp : -# 2055| v2055_13(void) = ReturnVoid : -# 2055| v2055_14(void) = AliasedUse : m2055_3 -# 2055| v2055_15(void) = ExitFunction : - -# 2059| Block 11 -# 2059| r2059_15(glval) = VariableAddress[x] : -# 2059| r2059_16(TernaryPodObj) = Load[x] : &:r2059_15, m2055_8 -# 2059| r2059_17(glval) = VariableAddress[#temp2059:10] : -# 2059| m2059_18(TernaryPodObj) = Store[#temp2059:10] : &:r2059_17, r2059_16 +# 2073| Block 10 +# 2073| m2073_8(TernaryPodObj) = Phi : from 11:m2073_18, from 12:m2073_22 +# 2073| r2073_9(glval) = VariableAddress[#temp2073:10] : +# 2073| r2073_10(TernaryPodObj) = Load[#temp2073:10] : &:r2073_9, m2073_8 +# 2073| r2073_11(glval) = VariableAddress[z] : +# 2073| m2073_12(TernaryPodObj) = Store[z] : &:r2073_11, r2073_10 +# 2073| r2073_13(glval) = CopyValue : r2073_11 +# 2073| m2073_14(TernaryPodObj) = Store[?] : &:r2073_13, r2073_4 +# 2074| v2074_1(void) = NoOp : +# 2069| v2069_13(void) = ReturnVoid : +# 2069| v2069_14(void) = AliasedUse : m2069_3 +# 2069| v2069_15(void) = ExitFunction : + +# 2073| Block 11 +# 2073| r2073_15(glval) = VariableAddress[x] : +# 2073| r2073_16(TernaryPodObj) = Load[x] : &:r2073_15, m2069_8 +# 2073| r2073_17(glval) = VariableAddress[#temp2073:10] : +# 2073| m2073_18(TernaryPodObj) = Store[#temp2073:10] : &:r2073_17, r2073_16 #-----| Goto -> Block 10 -# 2059| Block 12 -# 2059| r2059_19(glval) = VariableAddress[y] : -# 2059| r2059_20(TernaryPodObj) = Load[y] : &:r2059_19, m2055_10 -# 2059| r2059_21(glval) = VariableAddress[#temp2059:10] : -# 2059| m2059_22(TernaryPodObj) = Store[#temp2059:10] : &:r2059_21, r2059_20 +# 2073| Block 12 +# 2073| r2073_19(glval) = VariableAddress[y] : +# 2073| r2073_20(TernaryPodObj) = Load[y] : &:r2073_19, m2069_10 +# 2073| r2073_21(glval) = VariableAddress[#temp2073:10] : +# 2073| m2073_22(TernaryPodObj) = Store[#temp2073:10] : &:r2073_21, r2073_20 #-----| Goto -> Block 10 -# 2062| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2062| Block 0 -# 2062| v2062_1(void) = EnterFunction : -# 2062| m2062_2(unknown) = AliasedDefinition : -# 2062| m2062_3(unknown) = InitializeNonLocal : -# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 -# 2062| r2062_5(glval) = VariableAddress[#this] : -# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 -# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 -# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 +# 2076| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2076| Block 0 +# 2076| v2076_1(void) = EnterFunction : +# 2076| m2076_2(unknown) = AliasedDefinition : +# 2076| m2076_3(unknown) = InitializeNonLocal : +# 2076| m2076_4(unknown) = Chi : total:m2076_2, partial:m2076_3 +# 2076| r2076_5(glval) = VariableAddress[#this] : +# 2076| m2076_6(glval) = InitializeParameter[#this] : &:r2076_5 +# 2076| r2076_7(glval) = Load[#this] : &:r2076_5, m2076_6 +# 2076| m2076_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_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, m2062_6 +#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, m2076_6 #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| m0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 +# 2076| v2076_9(void) = ReturnIndirection[#this] : &:r2076_7, m2076_8 #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2062| r2062_10(glval) = VariableAddress[#return] : -# 2062| v2062_11(void) = ReturnValue : &:r2062_10, m0_10 -# 2062| v2062_12(void) = AliasedUse : m2062_3 -# 2062| v2062_13(void) = ExitFunction : - -# 2062| void TernaryNonPodObj::TernaryNonPodObj() -# 2062| Block 0 -# 2062| v2062_1(void) = EnterFunction : -# 2062| m2062_2(unknown) = AliasedDefinition : -# 2062| m2062_3(unknown) = InitializeNonLocal : -# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 -# 2062| r2062_5(glval) = VariableAddress[#this] : -# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 -# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 -# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 -# 2062| v2062_9(void) = NoOp : -# 2062| v2062_10(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 -# 2062| v2062_11(void) = ReturnVoid : -# 2062| v2062_12(void) = AliasedUse : m2062_3 -# 2062| v2062_13(void) = ExitFunction : - -# 2062| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2062| Block 0 -# 2062| v2062_1(void) = EnterFunction : -# 2062| m2062_2(unknown) = AliasedDefinition : -# 2062| m2062_3(unknown) = InitializeNonLocal : -# 2062| m2062_4(unknown) = Chi : total:m2062_2, partial:m2062_3 -# 2062| r2062_5(glval) = VariableAddress[#this] : -# 2062| m2062_6(glval) = InitializeParameter[#this] : &:r2062_5 -# 2062| r2062_7(glval) = Load[#this] : &:r2062_5, m2062_6 -# 2062| m2062_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_7 +# 2076| r2076_10(glval) = VariableAddress[#return] : +# 2076| v2076_11(void) = ReturnValue : &:r2076_10, m0_10 +# 2076| v2076_12(void) = AliasedUse : m2076_3 +# 2076| v2076_13(void) = ExitFunction : + +# 2076| void TernaryNonPodObj::TernaryNonPodObj() +# 2076| Block 0 +# 2076| v2076_1(void) = EnterFunction : +# 2076| m2076_2(unknown) = AliasedDefinition : +# 2076| m2076_3(unknown) = InitializeNonLocal : +# 2076| m2076_4(unknown) = Chi : total:m2076_2, partial:m2076_3 +# 2076| r2076_5(glval) = VariableAddress[#this] : +# 2076| m2076_6(glval) = InitializeParameter[#this] : &:r2076_5 +# 2076| r2076_7(glval) = Load[#this] : &:r2076_5, m2076_6 +# 2076| m2076_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_7 +# 2076| v2076_9(void) = NoOp : +# 2076| v2076_10(void) = ReturnIndirection[#this] : &:r2076_7, m2076_8 +# 2076| v2076_11(void) = ReturnVoid : +# 2076| v2076_12(void) = AliasedUse : m2076_3 +# 2076| v2076_13(void) = ExitFunction : + +# 2076| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2076| Block 0 +# 2076| v2076_1(void) = EnterFunction : +# 2076| m2076_2(unknown) = AliasedDefinition : +# 2076| m2076_3(unknown) = InitializeNonLocal : +# 2076| m2076_4(unknown) = Chi : total:m2076_2, partial:m2076_3 +# 2076| r2076_5(glval) = VariableAddress[#this] : +# 2076| m2076_6(glval) = InitializeParameter[#this] : &:r2076_5 +# 2076| r2076_7(glval) = Load[#this] : &:r2076_5, m2076_6 +# 2076| m2076_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_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 -# 2062| v2062_9(void) = NoOp : -# 2062| v2062_10(void) = ReturnIndirection[#this] : &:r2062_7, m2062_8 +# 2076| v2076_9(void) = NoOp : +# 2076| v2076_10(void) = ReturnIndirection[#this] : &:r2076_7, m2076_8 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2062| v2062_11(void) = ReturnVoid : -# 2062| v2062_12(void) = AliasedUse : m2062_3 -# 2062| v2062_13(void) = ExitFunction : - -# 2063| void TernaryNonPodObj::~TernaryNonPodObj() -# 2063| Block 0 -# 2063| v2063_1(void) = EnterFunction : -# 2063| m2063_2(unknown) = AliasedDefinition : -# 2063| m2063_3(unknown) = InitializeNonLocal : -# 2063| m2063_4(unknown) = Chi : total:m2063_2, partial:m2063_3 -# 2063| r2063_5(glval) = VariableAddress[#this] : -# 2063| m2063_6(glval) = InitializeParameter[#this] : &:r2063_5 -# 2063| r2063_7(glval) = Load[#this] : &:r2063_5, m2063_6 -# 2063| m2063_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2063_7 -# 2063| v2063_9(void) = NoOp : -# 2063| v2063_10(void) = ReturnIndirection[#this] : &:r2063_7, m2063_8 -# 2063| v2063_11(void) = ReturnVoid : -# 2063| v2063_12(void) = AliasedUse : m2063_3 -# 2063| v2063_13(void) = ExitFunction : - -# 2066| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2066| Block 0 -# 2066| v2066_1(void) = EnterFunction : -# 2066| m2066_2(unknown) = AliasedDefinition : -# 2066| m2066_3(unknown) = InitializeNonLocal : -# 2066| m2066_4(unknown) = Chi : total:m2066_2, partial:m2066_3 -# 2066| r2066_5(glval) = VariableAddress[a] : -# 2066| m2066_6(bool) = InitializeParameter[a] : &:r2066_5 -# 2066| r2066_7(glval) = VariableAddress[x] : -# 2066| m2066_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2066_7 -# 2066| r2066_9(glval) = VariableAddress[y] : -# 2066| m2066_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2066_9 -# 2066| r2066_11(glval) = VariableAddress[z] : -# 2066| m2066_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2066_11 -# 2067| r2067_1(glval) = VariableAddress[z] : -# 2067| r2067_2(glval) = FunctionAddress[operator=] : -# 2067| r2067_3(glval) = VariableAddress[a] : -# 2067| r2067_4(bool) = Load[a] : &:r2067_3, m2066_6 -# 2067| v2067_5(void) = ConditionalBranch : r2067_4 +# 2076| v2076_11(void) = ReturnVoid : +# 2076| v2076_12(void) = AliasedUse : m2076_3 +# 2076| v2076_13(void) = ExitFunction : + +# 2077| void TernaryNonPodObj::~TernaryNonPodObj() +# 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 +# 2077| r2077_5(glval) = VariableAddress[#this] : +# 2077| m2077_6(glval) = InitializeParameter[#this] : &:r2077_5 +# 2077| r2077_7(glval) = Load[#this] : &:r2077_5, m2077_6 +# 2077| m2077_8(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2077_7 +# 2077| v2077_9(void) = NoOp : +# 2077| v2077_10(void) = ReturnIndirection[#this] : &:r2077_7, m2077_8 +# 2077| v2077_11(void) = ReturnVoid : +# 2077| v2077_12(void) = AliasedUse : m2077_3 +# 2077| v2077_13(void) = ExitFunction : + +# 2080| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2080| Block 0 +# 2080| v2080_1(void) = EnterFunction : +# 2080| m2080_2(unknown) = AliasedDefinition : +# 2080| m2080_3(unknown) = InitializeNonLocal : +# 2080| m2080_4(unknown) = Chi : total:m2080_2, partial:m2080_3 +# 2080| r2080_5(glval) = VariableAddress[a] : +# 2080| m2080_6(bool) = InitializeParameter[a] : &:r2080_5 +# 2080| r2080_7(glval) = VariableAddress[x] : +# 2080| m2080_8(TernaryNonPodObj) = InitializeParameter[x] : &:r2080_7 +# 2080| r2080_9(glval) = VariableAddress[y] : +# 2080| m2080_10(TernaryNonPodObj) = InitializeParameter[y] : &:r2080_9 +# 2080| r2080_11(glval) = VariableAddress[z] : +# 2080| m2080_12(TernaryNonPodObj) = InitializeParameter[z] : &:r2080_11 +# 2081| r2081_1(glval) = VariableAddress[z] : +# 2081| r2081_2(glval) = FunctionAddress[operator=] : +# 2081| r2081_3(glval) = VariableAddress[a] : +# 2081| r2081_4(bool) = Load[a] : &:r2081_3, m2080_6 +# 2081| v2081_5(void) = ConditionalBranch : r2081_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2067| Block 1 -# 2067| m2067_6(glval) = Phi : from 2:m2067_21, from 3:m2067_24 -# 2067| r2067_7(glval) = VariableAddress[#temp2067:9] : -# 2067| r2067_8(glval) = Load[#temp2067:9] : &:r2067_7, m2067_6 -# 2067| r2067_9(glval) = Convert : r2067_8 -# 2067| r2067_10(TernaryNonPodObj &) = CopyValue : r2067_9 -# 2067| r2067_11(TernaryNonPodObj &) = Call[operator=] : func:r2067_2, this:r2067_1, 0:r2067_10 -# 2067| m2067_12(unknown) = ^CallSideEffect : ~m2066_4 -# 2067| m2067_13(unknown) = Chi : total:m2066_4, partial:m2067_12 -# 2067| v2067_14(void) = ^IndirectReadSideEffect[-1] : &:r2067_1, m2066_12 -# 2067| v2067_15(void) = ^BufferReadSideEffect[0] : &:r2067_10, ~m2067_13 -# 2067| m2067_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2067_1 -# 2067| m2067_17(TernaryNonPodObj) = Chi : total:m2066_12, partial:m2067_16 -# 2067| r2067_18(glval) = CopyValue : r2067_11 -# 2068| r2068_1(glval) = VariableAddress[z] : -# 2068| r2068_2(glval) = FunctionAddress[operator=] : -# 2068| r2068_3(glval) = VariableAddress[#temp2068:9] : -# 2068| r2068_4(glval) = VariableAddress[a] : -# 2068| r2068_5(bool) = Load[a] : &:r2068_4, m2066_6 -# 2068| v2068_6(void) = ConditionalBranch : r2068_5 +# 2081| Block 1 +# 2081| m2081_6(glval) = Phi : from 2:m2081_21, from 3:m2081_24 +# 2081| r2081_7(glval) = VariableAddress[#temp2081:9] : +# 2081| r2081_8(glval) = Load[#temp2081:9] : &:r2081_7, m2081_6 +# 2081| r2081_9(glval) = Convert : r2081_8 +# 2081| r2081_10(TernaryNonPodObj &) = CopyValue : r2081_9 +# 2081| r2081_11(TernaryNonPodObj &) = Call[operator=] : func:r2081_2, this:r2081_1, 0:r2081_10 +# 2081| m2081_12(unknown) = ^CallSideEffect : ~m2080_4 +# 2081| m2081_13(unknown) = Chi : total:m2080_4, partial:m2081_12 +# 2081| v2081_14(void) = ^IndirectReadSideEffect[-1] : &:r2081_1, m2080_12 +# 2081| v2081_15(void) = ^BufferReadSideEffect[0] : &:r2081_10, ~m2081_13 +# 2081| m2081_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2081_1 +# 2081| m2081_17(TernaryNonPodObj) = Chi : total:m2080_12, partial:m2081_16 +# 2081| r2081_18(glval) = CopyValue : r2081_11 +# 2082| r2082_1(glval) = VariableAddress[z] : +# 2082| r2082_2(glval) = FunctionAddress[operator=] : +# 2082| r2082_3(glval) = VariableAddress[#temp2082:9] : +# 2082| r2082_4(glval) = VariableAddress[a] : +# 2082| r2082_5(bool) = Load[a] : &:r2082_4, m2080_6 +# 2082| v2082_6(void) = ConditionalBranch : r2082_5 #-----| False -> Block 6 #-----| True -> Block 5 -# 2067| Block 2 -# 2067| r2067_19(glval) = VariableAddress[x] : -# 2067| r2067_20(glval) = VariableAddress[#temp2067:9] : -# 2067| m2067_21(glval) = Store[#temp2067:9] : &:r2067_20, r2067_19 +# 2081| Block 2 +# 2081| r2081_19(glval) = VariableAddress[x] : +# 2081| r2081_20(glval) = VariableAddress[#temp2081:9] : +# 2081| m2081_21(glval) = Store[#temp2081:9] : &:r2081_20, r2081_19 #-----| Goto -> Block 1 -# 2067| Block 3 -# 2067| r2067_22(glval) = VariableAddress[y] : -# 2067| r2067_23(glval) = VariableAddress[#temp2067:9] : -# 2067| m2067_24(glval) = Store[#temp2067:9] : &:r2067_23, r2067_22 +# 2081| Block 3 +# 2081| r2081_22(glval) = VariableAddress[y] : +# 2081| r2081_23(glval) = VariableAddress[#temp2081:9] : +# 2081| m2081_24(glval) = Store[#temp2081:9] : &:r2081_23, r2081_22 #-----| Goto -> Block 1 -# 2068| Block 4 -# 2068| m2068_7(unknown) = Phi : from 5:~m2068_30, from 6:~m2068_42 -# 2068| m2068_8(TernaryNonPodObj) = Phi : from 5:m2068_36, from 6:m2068_47 -# 2068| r2068_9(glval) = VariableAddress[#temp2068:9] : -# 2068| r2068_10(TernaryNonPodObj) = Load[#temp2068:9] : &:r2068_9, m2068_8 -# 2068| m2068_11(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_3, r2068_10 -# 2068| r2068_12(glval) = Convert : r2068_3 -# 2068| r2068_13(TernaryNonPodObj &) = CopyValue : r2068_12 -# 2068| r2068_14(TernaryNonPodObj &) = Call[operator=] : func:r2068_2, this:r2068_1, 0:r2068_13 -# 2068| m2068_15(unknown) = ^CallSideEffect : ~m2068_7 -# 2068| m2068_16(unknown) = Chi : total:m2068_7, partial:m2068_15 -# 2068| v2068_17(void) = ^IndirectReadSideEffect[-1] : &:r2068_1, m2067_17 -# 2068| v2068_18(void) = ^BufferReadSideEffect[0] : &:r2068_13, ~m2068_11 -# 2068| m2068_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_1 -# 2068| m2068_20(TernaryNonPodObj) = Chi : total:m2067_17, partial:m2068_19 -# 2068| r2068_21(glval) = CopyValue : r2068_14 -# 2069| r2069_1(glval) = VariableAddress[z] : -# 2069| r2069_2(glval) = FunctionAddress[operator=] : -# 2069| r2069_3(glval) = VariableAddress[#temp2069:9] : -# 2069| r2069_4(glval) = VariableAddress[a] : -# 2069| r2069_5(bool) = Load[a] : &:r2069_4, m2066_6 -# 2069| v2069_6(void) = ConditionalBranch : r2069_5 +# 2082| Block 4 +# 2082| m2082_7(unknown) = Phi : from 5:~m2082_30, from 6:~m2082_42 +# 2082| m2082_8(TernaryNonPodObj) = Phi : from 5:m2082_36, from 6:m2082_47 +# 2082| r2082_9(glval) = VariableAddress[#temp2082:9] : +# 2082| r2082_10(TernaryNonPodObj) = Load[#temp2082:9] : &:r2082_9, m2082_8 +# 2082| m2082_11(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_3, r2082_10 +# 2082| r2082_12(glval) = Convert : r2082_3 +# 2082| r2082_13(TernaryNonPodObj &) = CopyValue : r2082_12 +# 2082| r2082_14(TernaryNonPodObj &) = Call[operator=] : func:r2082_2, this:r2082_1, 0:r2082_13 +# 2082| m2082_15(unknown) = ^CallSideEffect : ~m2082_7 +# 2082| m2082_16(unknown) = Chi : total:m2082_7, partial:m2082_15 +# 2082| v2082_17(void) = ^IndirectReadSideEffect[-1] : &:r2082_1, m2081_17 +# 2082| v2082_18(void) = ^BufferReadSideEffect[0] : &:r2082_13, ~m2082_11 +# 2082| m2082_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_1 +# 2082| m2082_20(TernaryNonPodObj) = Chi : total:m2081_17, partial:m2082_19 +# 2082| r2082_21(glval) = CopyValue : r2082_14 +# 2083| r2083_1(glval) = VariableAddress[z] : +# 2083| r2083_2(glval) = FunctionAddress[operator=] : +# 2083| r2083_3(glval) = VariableAddress[#temp2083:9] : +# 2083| r2083_4(glval) = VariableAddress[a] : +# 2083| r2083_5(bool) = Load[a] : &:r2083_4, m2080_6 +# 2083| v2083_6(void) = ConditionalBranch : r2083_5 #-----| False -> Block 9 #-----| True -> Block 8 -# 2068| Block 5 -# 2068| r2068_22(glval) = VariableAddress[#temp2068:13] : -# 2068| m2068_23(TernaryNonPodObj) = Uninitialized[#temp2068:13] : &:r2068_22 -# 2068| r2068_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2068| r2068_25(glval) = VariableAddress[x] : -# 2068| r2068_26(glval) = Convert : r2068_25 -# 2068| r2068_27(TernaryNonPodObj &) = CopyValue : r2068_26 -# 2068| v2068_28(void) = Call[TernaryNonPodObj] : func:r2068_24, this:r2068_22, 0:r2068_27 -# 2068| m2068_29(unknown) = ^CallSideEffect : ~m2067_13 -# 2068| m2068_30(unknown) = Chi : total:m2067_13, partial:m2068_29 -# 2068| v2068_31(void) = ^BufferReadSideEffect[0] : &:r2068_27, ~m2066_8 -# 2068| m2068_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_22 -# 2068| m2068_33(TernaryNonPodObj) = Chi : total:m2068_23, partial:m2068_32 -# 2068| r2068_34(TernaryNonPodObj) = Load[#temp2068:13] : &:r2068_22, m2068_33 -# 2068| r2068_35(glval) = VariableAddress[#temp2068:9] : -# 2068| m2068_36(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_35, r2068_34 +# 2082| Block 5 +# 2082| r2082_22(glval) = VariableAddress[#temp2082:13] : +# 2082| m2082_23(TernaryNonPodObj) = Uninitialized[#temp2082:13] : &:r2082_22 +# 2082| r2082_24(glval) = FunctionAddress[TernaryNonPodObj] : +# 2082| r2082_25(glval) = VariableAddress[x] : +# 2082| r2082_26(glval) = Convert : r2082_25 +# 2082| r2082_27(TernaryNonPodObj &) = CopyValue : r2082_26 +# 2082| v2082_28(void) = Call[TernaryNonPodObj] : func:r2082_24, this:r2082_22, 0:r2082_27 +# 2082| m2082_29(unknown) = ^CallSideEffect : ~m2081_13 +# 2082| m2082_30(unknown) = Chi : total:m2081_13, partial:m2082_29 +# 2082| v2082_31(void) = ^BufferReadSideEffect[0] : &:r2082_27, ~m2080_8 +# 2082| m2082_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_22 +# 2082| m2082_33(TernaryNonPodObj) = Chi : total:m2082_23, partial:m2082_32 +# 2082| r2082_34(TernaryNonPodObj) = Load[#temp2082:13] : &:r2082_22, m2082_33 +# 2082| r2082_35(glval) = VariableAddress[#temp2082:9] : +# 2082| m2082_36(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_35, r2082_34 #-----| Goto -> Block 4 -# 2068| Block 6 -# 2068| r2068_37(glval) = VariableAddress[#temp2068:17] : -# 2068| m2068_38(TernaryNonPodObj) = Uninitialized[#temp2068:17] : &:r2068_37 -# 2068| r2068_39(glval) = FunctionAddress[TernaryNonPodObj] : -# 2068| v2068_40(void) = Call[TernaryNonPodObj] : func:r2068_39, this:r2068_37 -# 2068| m2068_41(unknown) = ^CallSideEffect : ~m2067_13 -# 2068| m2068_42(unknown) = Chi : total:m2067_13, partial:m2068_41 -# 2068| m2068_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_37 -# 2068| m2068_44(TernaryNonPodObj) = Chi : total:m2068_38, partial:m2068_43 -# 2068| r2068_45(TernaryNonPodObj) = Load[#temp2068:17] : &:r2068_37, m2068_44 -# 2068| r2068_46(glval) = VariableAddress[#temp2068:9] : -# 2068| m2068_47(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_46, r2068_45 +# 2082| Block 6 +# 2082| r2082_37(glval) = VariableAddress[#temp2082:17] : +# 2082| m2082_38(TernaryNonPodObj) = Uninitialized[#temp2082:17] : &:r2082_37 +# 2082| r2082_39(glval) = FunctionAddress[TernaryNonPodObj] : +# 2082| v2082_40(void) = Call[TernaryNonPodObj] : func:r2082_39, this:r2082_37 +# 2082| m2082_41(unknown) = ^CallSideEffect : ~m2081_13 +# 2082| m2082_42(unknown) = Chi : total:m2081_13, partial:m2082_41 +# 2082| m2082_43(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_37 +# 2082| m2082_44(TernaryNonPodObj) = Chi : total:m2082_38, partial:m2082_43 +# 2082| r2082_45(TernaryNonPodObj) = Load[#temp2082:17] : &:r2082_37, m2082_44 +# 2082| r2082_46(glval) = VariableAddress[#temp2082:9] : +# 2082| m2082_47(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_46, r2082_45 #-----| Goto -> Block 4 -# 2069| Block 7 -# 2069| m2069_7(unknown) = Phi : from 8:~m2069_27, from 9:~m2069_38 -# 2069| m2069_8(TernaryNonPodObj) = Phi : from 8:m2069_32, from 9:m2069_43 -# 2069| r2069_9(glval) = VariableAddress[#temp2069:9] : -# 2069| r2069_10(TernaryNonPodObj) = Load[#temp2069:9] : &:r2069_9, m2069_8 -# 2069| m2069_11(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_3, r2069_10 -# 2069| r2069_12(glval) = Convert : r2069_3 -# 2069| r2069_13(TernaryNonPodObj &) = CopyValue : r2069_12 -# 2069| r2069_14(TernaryNonPodObj &) = Call[operator=] : func:r2069_2, this:r2069_1, 0:r2069_13 -# 2069| m2069_15(unknown) = ^CallSideEffect : ~m2069_7 -# 2069| m2069_16(unknown) = Chi : total:m2069_7, partial:m2069_15 -# 2069| v2069_17(void) = ^IndirectReadSideEffect[-1] : &:r2069_1, m2068_20 -# 2069| v2069_18(void) = ^BufferReadSideEffect[0] : &:r2069_13, ~m2069_11 -# 2069| m2069_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_1 -# 2069| m2069_20(TernaryNonPodObj) = Chi : total:m2068_20, partial:m2069_19 -# 2069| r2069_21(glval) = CopyValue : r2069_14 -# 2070| r2070_1(glval) = VariableAddress[z] : -# 2070| r2070_2(glval) = FunctionAddress[operator=] : -# 2070| r2070_3(glval) = VariableAddress[a] : -# 2070| r2070_4(bool) = Load[a] : &:r2070_3, m2066_6 -# 2070| v2070_5(void) = ConditionalBranch : r2070_4 +# 2083| Block 7 +# 2083| m2083_7(unknown) = Phi : from 8:~m2083_27, from 9:~m2083_38 +# 2083| m2083_8(TernaryNonPodObj) = Phi : from 8:m2083_32, from 9:m2083_43 +# 2083| r2083_9(glval) = VariableAddress[#temp2083:9] : +# 2083| r2083_10(TernaryNonPodObj) = Load[#temp2083:9] : &:r2083_9, m2083_8 +# 2083| m2083_11(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_3, r2083_10 +# 2083| r2083_12(glval) = Convert : r2083_3 +# 2083| r2083_13(TernaryNonPodObj &) = CopyValue : r2083_12 +# 2083| r2083_14(TernaryNonPodObj &) = Call[operator=] : func:r2083_2, this:r2083_1, 0:r2083_13 +# 2083| m2083_15(unknown) = ^CallSideEffect : ~m2083_7 +# 2083| m2083_16(unknown) = Chi : total:m2083_7, partial:m2083_15 +# 2083| v2083_17(void) = ^IndirectReadSideEffect[-1] : &:r2083_1, m2082_20 +# 2083| v2083_18(void) = ^BufferReadSideEffect[0] : &:r2083_13, ~m2083_11 +# 2083| m2083_19(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_1 +# 2083| m2083_20(TernaryNonPodObj) = Chi : total:m2082_20, partial:m2083_19 +# 2083| r2083_21(glval) = CopyValue : r2083_14 +# 2084| r2084_1(glval) = VariableAddress[z] : +# 2084| r2084_2(glval) = FunctionAddress[operator=] : +# 2084| r2084_3(glval) = VariableAddress[a] : +# 2084| r2084_4(bool) = Load[a] : &:r2084_3, m2080_6 +# 2084| v2084_5(void) = ConditionalBranch : r2084_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 2069| Block 8 -# 2069| r2069_22(glval) = VariableAddress[#temp2069:13] : -# 2069| m2069_23(TernaryNonPodObj) = Uninitialized[#temp2069:13] : &:r2069_22 -# 2069| r2069_24(glval) = FunctionAddress[TernaryNonPodObj] : -# 2069| v2069_25(void) = Call[TernaryNonPodObj] : func:r2069_24, this:r2069_22 -# 2069| m2069_26(unknown) = ^CallSideEffect : ~m2068_16 -# 2069| m2069_27(unknown) = Chi : total:m2068_16, partial:m2069_26 -# 2069| m2069_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_22 -# 2069| m2069_29(TernaryNonPodObj) = Chi : total:m2069_23, partial:m2069_28 -# 2069| r2069_30(TernaryNonPodObj) = Load[#temp2069:13] : &:r2069_22, m2069_29 -# 2069| r2069_31(glval) = VariableAddress[#temp2069:9] : -# 2069| m2069_32(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_31, r2069_30 +# 2083| Block 8 +# 2083| r2083_22(glval) = VariableAddress[#temp2083:13] : +# 2083| m2083_23(TernaryNonPodObj) = Uninitialized[#temp2083:13] : &:r2083_22 +# 2083| r2083_24(glval) = FunctionAddress[TernaryNonPodObj] : +# 2083| v2083_25(void) = Call[TernaryNonPodObj] : func:r2083_24, this:r2083_22 +# 2083| m2083_26(unknown) = ^CallSideEffect : ~m2082_16 +# 2083| m2083_27(unknown) = Chi : total:m2082_16, partial:m2083_26 +# 2083| m2083_28(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_22 +# 2083| m2083_29(TernaryNonPodObj) = Chi : total:m2083_23, partial:m2083_28 +# 2083| r2083_30(TernaryNonPodObj) = Load[#temp2083:13] : &:r2083_22, m2083_29 +# 2083| r2083_31(glval) = VariableAddress[#temp2083:9] : +# 2083| m2083_32(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_31, r2083_30 #-----| Goto -> Block 7 -# 2069| Block 9 -# 2069| r2069_33(glval) = VariableAddress[#temp2069:34] : -# 2069| m2069_34(TernaryNonPodObj) = Uninitialized[#temp2069:34] : &:r2069_33 -# 2069| r2069_35(glval) = FunctionAddress[TernaryNonPodObj] : -# 2069| v2069_36(void) = Call[TernaryNonPodObj] : func:r2069_35, this:r2069_33 -# 2069| m2069_37(unknown) = ^CallSideEffect : ~m2068_16 -# 2069| m2069_38(unknown) = Chi : total:m2068_16, partial:m2069_37 -# 2069| m2069_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_33 -# 2069| m2069_40(TernaryNonPodObj) = Chi : total:m2069_34, partial:m2069_39 -# 2069| r2069_41(TernaryNonPodObj) = Load[#temp2069:34] : &:r2069_33, m2069_40 -# 2069| r2069_42(glval) = VariableAddress[#temp2069:9] : -# 2069| m2069_43(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_42, r2069_41 +# 2083| Block 9 +# 2083| r2083_33(glval) = VariableAddress[#temp2083:34] : +# 2083| m2083_34(TernaryNonPodObj) = Uninitialized[#temp2083:34] : &:r2083_33 +# 2083| r2083_35(glval) = FunctionAddress[TernaryNonPodObj] : +# 2083| v2083_36(void) = Call[TernaryNonPodObj] : func:r2083_35, this:r2083_33 +# 2083| m2083_37(unknown) = ^CallSideEffect : ~m2082_16 +# 2083| m2083_38(unknown) = Chi : total:m2082_16, partial:m2083_37 +# 2083| m2083_39(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_33 +# 2083| m2083_40(TernaryNonPodObj) = Chi : total:m2083_34, partial:m2083_39 +# 2083| r2083_41(TernaryNonPodObj) = Load[#temp2083:34] : &:r2083_33, m2083_40 +# 2083| r2083_42(glval) = VariableAddress[#temp2083:9] : +# 2083| m2083_43(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_42, r2083_41 #-----| Goto -> Block 7 -# 2070| Block 10 -# 2070| m2070_6(glval) = Phi : from 11:m2070_40, from 12:m2070_43 -# 2070| r2070_7(glval) = VariableAddress[#temp2070:10] : -# 2070| r2070_8(glval) = Load[#temp2070:10] : &:r2070_7, m2070_6 -# 2070| r2070_9(glval) = Convert : r2070_8 -# 2070| r2070_10(TernaryNonPodObj &) = CopyValue : r2070_9 -# 2070| r2070_11(TernaryNonPodObj &) = Call[operator=] : func:r2070_2, this:r2070_1, 0:r2070_10 -# 2070| m2070_12(unknown) = ^CallSideEffect : ~m2069_16 -# 2070| m2070_13(unknown) = Chi : total:m2069_16, partial:m2070_12 -# 2070| v2070_14(void) = ^IndirectReadSideEffect[-1] : &:r2070_1, m2069_20 -# 2070| v2070_15(void) = ^BufferReadSideEffect[0] : &:r2070_10, ~m2070_13 -# 2070| m2070_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_1 -# 2070| m2070_17(TernaryNonPodObj) = Chi : total:m2069_20, partial:m2070_16 -# 2070| r2070_18(glval) = CopyValue : r2070_11 -# 2070| r2070_19(glval) = FunctionAddress[operator=] : -# 2070| r2070_20(glval) = VariableAddress[#temp2070:23] : -# 2070| m2070_21(TernaryNonPodObj) = Uninitialized[#temp2070:23] : &:r2070_20 -# 2070| r2070_22(glval) = FunctionAddress[TernaryNonPodObj] : -# 2070| v2070_23(void) = Call[TernaryNonPodObj] : func:r2070_22, this:r2070_20 -# 2070| m2070_24(unknown) = ^CallSideEffect : ~m2070_13 -# 2070| m2070_25(unknown) = Chi : total:m2070_13, partial:m2070_24 -# 2070| m2070_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_20 -# 2070| m2070_27(TernaryNonPodObj) = Chi : total:m2070_21, partial:m2070_26 -# 2070| r2070_28(glval) = Convert : r2070_20 -# 2070| r2070_29(TernaryNonPodObj &) = CopyValue : r2070_28 -# 2070| r2070_30(TernaryNonPodObj &) = Call[operator=] : func:r2070_19, this:r2070_18, 0:r2070_29 -# 2070| m2070_31(unknown) = ^CallSideEffect : ~m2070_25 -# 2070| m2070_32(unknown) = Chi : total:m2070_25, partial:m2070_31 -# 2070| v2070_33(void) = ^IndirectReadSideEffect[-1] : &:r2070_18, m2070_17 -# 2070| v2070_34(void) = ^BufferReadSideEffect[0] : &:r2070_29, ~m2070_27 -# 2070| m2070_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_18 -# 2070| m2070_36(TernaryNonPodObj) = Chi : total:m2070_17, partial:m2070_35 -# 2070| r2070_37(glval) = CopyValue : r2070_30 -# 2071| v2071_1(void) = NoOp : -# 2066| v2066_13(void) = ReturnVoid : -# 2066| v2066_14(void) = AliasedUse : ~m2070_32 -# 2066| v2066_15(void) = ExitFunction : - -# 2070| Block 11 -# 2070| r2070_38(glval) = VariableAddress[x] : -# 2070| r2070_39(glval) = VariableAddress[#temp2070:10] : -# 2070| m2070_40(glval) = Store[#temp2070:10] : &:r2070_39, r2070_38 +# 2084| Block 10 +# 2084| m2084_6(glval) = Phi : from 11:m2084_40, from 12:m2084_43 +# 2084| r2084_7(glval) = VariableAddress[#temp2084:10] : +# 2084| r2084_8(glval) = Load[#temp2084:10] : &:r2084_7, m2084_6 +# 2084| r2084_9(glval) = Convert : r2084_8 +# 2084| r2084_10(TernaryNonPodObj &) = CopyValue : r2084_9 +# 2084| r2084_11(TernaryNonPodObj &) = Call[operator=] : func:r2084_2, this:r2084_1, 0:r2084_10 +# 2084| m2084_12(unknown) = ^CallSideEffect : ~m2083_16 +# 2084| m2084_13(unknown) = Chi : total:m2083_16, partial:m2084_12 +# 2084| v2084_14(void) = ^IndirectReadSideEffect[-1] : &:r2084_1, m2083_20 +# 2084| v2084_15(void) = ^BufferReadSideEffect[0] : &:r2084_10, ~m2084_13 +# 2084| m2084_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_1 +# 2084| m2084_17(TernaryNonPodObj) = Chi : total:m2083_20, partial:m2084_16 +# 2084| r2084_18(glval) = CopyValue : r2084_11 +# 2084| r2084_19(glval) = FunctionAddress[operator=] : +# 2084| r2084_20(glval) = VariableAddress[#temp2084:23] : +# 2084| m2084_21(TernaryNonPodObj) = Uninitialized[#temp2084:23] : &:r2084_20 +# 2084| r2084_22(glval) = FunctionAddress[TernaryNonPodObj] : +# 2084| v2084_23(void) = Call[TernaryNonPodObj] : func:r2084_22, this:r2084_20 +# 2084| m2084_24(unknown) = ^CallSideEffect : ~m2084_13 +# 2084| m2084_25(unknown) = Chi : total:m2084_13, partial:m2084_24 +# 2084| m2084_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_20 +# 2084| m2084_27(TernaryNonPodObj) = Chi : total:m2084_21, partial:m2084_26 +# 2084| r2084_28(glval) = Convert : r2084_20 +# 2084| r2084_29(TernaryNonPodObj &) = CopyValue : r2084_28 +# 2084| r2084_30(TernaryNonPodObj &) = Call[operator=] : func:r2084_19, this:r2084_18, 0:r2084_29 +# 2084| m2084_31(unknown) = ^CallSideEffect : ~m2084_25 +# 2084| m2084_32(unknown) = Chi : total:m2084_25, partial:m2084_31 +# 2084| v2084_33(void) = ^IndirectReadSideEffect[-1] : &:r2084_18, m2084_17 +# 2084| v2084_34(void) = ^BufferReadSideEffect[0] : &:r2084_29, ~m2084_27 +# 2084| m2084_35(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_18 +# 2084| m2084_36(TernaryNonPodObj) = Chi : total:m2084_17, partial:m2084_35 +# 2084| r2084_37(glval) = CopyValue : r2084_30 +# 2085| v2085_1(void) = NoOp : +# 2080| v2080_13(void) = ReturnVoid : +# 2080| v2080_14(void) = AliasedUse : ~m2084_32 +# 2080| v2080_15(void) = ExitFunction : + +# 2084| Block 11 +# 2084| r2084_38(glval) = VariableAddress[x] : +# 2084| r2084_39(glval) = VariableAddress[#temp2084:10] : +# 2084| m2084_40(glval) = Store[#temp2084:10] : &:r2084_39, r2084_38 #-----| Goto -> Block 10 -# 2070| Block 12 -# 2070| r2070_41(glval) = VariableAddress[y] : -# 2070| r2070_42(glval) = VariableAddress[#temp2070:10] : -# 2070| m2070_43(glval) = Store[#temp2070:10] : &:r2070_42, r2070_41 +# 2084| Block 12 +# 2084| r2084_41(glval) = VariableAddress[y] : +# 2084| r2084_42(glval) = VariableAddress[#temp2084:10] : +# 2084| m2084_43(glval) = Store[#temp2084:10] : &:r2084_42, r2084_41 #-----| Goto -> Block 10 -# 2075| unsigned int CommaTest(unsigned int) -# 2075| Block 0 -# 2075| v2075_1(void) = EnterFunction : -# 2075| m2075_2(unknown) = AliasedDefinition : -# 2075| m2075_3(unknown) = InitializeNonLocal : -# 2075| m2075_4(unknown) = Chi : total:m2075_2, partial:m2075_3 -# 2075| r2075_5(glval) = VariableAddress[x] : -# 2075| m2075_6(unsigned int) = InitializeParameter[x] : &:r2075_5 -# 2076| r2076_1(glval) = VariableAddress[y] : -# 2076| m2076_2(unsigned int) = Uninitialized[y] : &:r2076_1 -# 2077| r2077_1(glval) = VariableAddress[x] : -# 2077| r2077_2(unsigned int) = Load[x] : &:r2077_1, m2075_6 -# 2077| r2077_3(unsigned int) = Constant[100] : -# 2077| r2077_4(bool) = CompareLT : r2077_2, r2077_3 -# 2077| v2077_5(void) = ConditionalBranch : r2077_4 +# 2089| unsigned int CommaTest(unsigned int) +# 2089| Block 0 +# 2089| v2089_1(void) = EnterFunction : +# 2089| m2089_2(unknown) = AliasedDefinition : +# 2089| m2089_3(unknown) = InitializeNonLocal : +# 2089| m2089_4(unknown) = Chi : total:m2089_2, partial:m2089_3 +# 2089| r2089_5(glval) = VariableAddress[x] : +# 2089| m2089_6(unsigned int) = InitializeParameter[x] : &:r2089_5 +# 2090| r2090_1(glval) = VariableAddress[y] : +# 2090| m2090_2(unsigned int) = Uninitialized[y] : &:r2090_1 +# 2091| r2091_1(glval) = VariableAddress[x] : +# 2091| r2091_2(unsigned int) = Load[x] : &:r2091_1, m2089_6 +# 2091| r2091_3(unsigned int) = Constant[100] : +# 2091| r2091_4(bool) = CompareLT : r2091_2, r2091_3 +# 2091| v2091_5(void) = ConditionalBranch : r2091_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2077| Block 1 -# 2077| m2077_6(unknown) = Phi : from 2:~m2078_6, from 3:~m2079_6 -# 2077| m2077_7(unsigned int) = Phi : from 2:m2077_13, from 3:m2077_15 -# 2077| r2077_8(glval) = VariableAddress[#temp2077:7] : -# 2077| r2077_9(unsigned int) = Load[#temp2077:7] : &:r2077_8, m2077_7 -# 2077| r2077_10(glval) = VariableAddress[y] : -# 2077| m2077_11(unsigned int) = Store[y] : &:r2077_10, r2077_9 -# 2080| r2080_1(glval) = VariableAddress[#return] : -# 2080| m2080_2(unsigned int) = Uninitialized[#return] : &:r2080_1 -# 2075| r2075_7(glval) = VariableAddress[#return] : -# 2075| v2075_8(void) = ReturnValue : &:r2075_7, m2080_2 -# 2075| v2075_9(void) = AliasedUse : ~m2077_6 -# 2075| v2075_10(void) = ExitFunction : - -# 2078| Block 2 -# 2078| r2078_1(glval) = FunctionAddress[CommaTestHelper] : -# 2078| r2078_2(glval) = VariableAddress[x] : -# 2078| r2078_3(unsigned int) = Load[x] : &:r2078_2, m2075_6 -# 2078| v2078_4(void) = Call[CommaTestHelper] : func:r2078_1, 0:r2078_3 -# 2078| m2078_5(unknown) = ^CallSideEffect : ~m2075_4 -# 2078| m2078_6(unknown) = Chi : total:m2075_4, partial:m2078_5 -# 2078| r2078_7(glval) = VariableAddress[x] : -# 2078| r2078_8(unsigned int) = Load[x] : &:r2078_7, m2075_6 -# 2078| r2078_9(unsigned int) = CopyValue : r2078_8 -# 2077| r2077_12(glval) = VariableAddress[#temp2077:7] : -# 2077| m2077_13(unsigned int) = Store[#temp2077:7] : &:r2077_12, r2078_9 +# 2091| Block 1 +# 2091| m2091_6(unknown) = Phi : from 2:~m2092_6, from 3:~m2093_6 +# 2091| m2091_7(unsigned int) = Phi : from 2:m2091_13, from 3:m2091_15 +# 2091| r2091_8(glval) = VariableAddress[#temp2091:7] : +# 2091| r2091_9(unsigned int) = Load[#temp2091:7] : &:r2091_8, m2091_7 +# 2091| r2091_10(glval) = VariableAddress[y] : +# 2091| m2091_11(unsigned int) = Store[y] : &:r2091_10, r2091_9 +# 2094| r2094_1(glval) = VariableAddress[#return] : +# 2094| m2094_2(unsigned int) = Uninitialized[#return] : &:r2094_1 +# 2089| r2089_7(glval) = VariableAddress[#return] : +# 2089| v2089_8(void) = ReturnValue : &:r2089_7, m2094_2 +# 2089| v2089_9(void) = AliasedUse : ~m2091_6 +# 2089| v2089_10(void) = ExitFunction : + +# 2092| Block 2 +# 2092| r2092_1(glval) = FunctionAddress[CommaTestHelper] : +# 2092| r2092_2(glval) = VariableAddress[x] : +# 2092| r2092_3(unsigned int) = Load[x] : &:r2092_2, m2089_6 +# 2092| v2092_4(void) = Call[CommaTestHelper] : func:r2092_1, 0:r2092_3 +# 2092| m2092_5(unknown) = ^CallSideEffect : ~m2089_4 +# 2092| m2092_6(unknown) = Chi : total:m2089_4, partial:m2092_5 +# 2092| r2092_7(glval) = VariableAddress[x] : +# 2092| r2092_8(unsigned int) = Load[x] : &:r2092_7, m2089_6 +# 2092| r2092_9(unsigned int) = CopyValue : r2092_8 +# 2091| r2091_12(glval) = VariableAddress[#temp2091:7] : +# 2091| m2091_13(unsigned int) = Store[#temp2091:7] : &:r2091_12, r2092_9 #-----| Goto -> Block 1 -# 2079| Block 3 -# 2079| r2079_1(glval) = FunctionAddress[CommaTestHelper] : -# 2079| r2079_2(glval) = VariableAddress[x] : -# 2079| r2079_3(unsigned int) = Load[x] : &:r2079_2, m2075_6 -# 2079| v2079_4(void) = Call[CommaTestHelper] : func:r2079_1, 0:r2079_3 -# 2079| m2079_5(unknown) = ^CallSideEffect : ~m2075_4 -# 2079| m2079_6(unknown) = Chi : total:m2075_4, partial:m2079_5 -# 2079| r2079_7(int) = Constant[10] : -# 2079| r2079_8(int) = CopyValue : r2079_7 -# 2079| r2079_9(unsigned int) = Convert : r2079_8 -# 2077| r2077_14(glval) = VariableAddress[#temp2077:7] : -# 2077| m2077_15(unsigned int) = Store[#temp2077:7] : &:r2077_14, r2079_9 +# 2093| Block 3 +# 2093| r2093_1(glval) = FunctionAddress[CommaTestHelper] : +# 2093| r2093_2(glval) = VariableAddress[x] : +# 2093| r2093_3(unsigned int) = Load[x] : &:r2093_2, m2089_6 +# 2093| v2093_4(void) = Call[CommaTestHelper] : func:r2093_1, 0:r2093_3 +# 2093| m2093_5(unknown) = ^CallSideEffect : ~m2089_4 +# 2093| m2093_6(unknown) = Chi : total:m2089_4, partial:m2093_5 +# 2093| r2093_7(int) = Constant[10] : +# 2093| r2093_8(int) = CopyValue : r2093_7 +# 2093| r2093_9(unsigned int) = Convert : r2093_8 +# 2091| r2091_14(glval) = VariableAddress[#temp2091:7] : +# 2091| m2091_15(unsigned int) = Store[#temp2091:7] : &:r2091_14, r2093_9 #-----| Goto -> Block 1 -# 2082| void NewDeleteMem() -# 2082| Block 0 -# 2082| v2082_1(void) = EnterFunction : -# 2082| m2082_2(unknown) = AliasedDefinition : -# 2082| m2082_3(unknown) = InitializeNonLocal : -# 2082| m2082_4(unknown) = Chi : total:m2082_2, partial:m2082_3 -# 2083| r2083_1(glval) = VariableAddress[x] : -# 2083| r2083_2(glval) = FunctionAddress[operator new] : -# 2083| r2083_3(unsigned long) = Constant[4] : -# 2083| r2083_4(void *) = Call[operator new] : func:r2083_2, 0:r2083_3 -# 2083| m2083_5(unknown) = ^CallSideEffect : ~m2082_4 -# 2083| m2083_6(unknown) = Chi : total:m2082_4, partial:m2083_5 -# 2083| m2083_7(unknown) = ^InitializeDynamicAllocation : &:r2083_4 -# 2083| r2083_8(int *) = Convert : r2083_4 -# 2083| m2083_9(int *) = Store[x] : &:r2083_1, r2083_8 -# 2084| r2084_1(int) = Constant[6] : -# 2084| r2084_2(glval) = VariableAddress[x] : -# 2084| r2084_3(int *) = Load[x] : &:r2084_2, m2083_9 -# 2084| r2084_4(glval) = CopyValue : r2084_3 -# 2084| m2084_5(int) = Store[?] : &:r2084_4, r2084_1 -# 2084| m2084_6(unknown) = Chi : total:m2083_7, partial:m2084_5 -# 2085| r2085_1(glval) = FunctionAddress[operator delete] : -# 2085| r2085_2(glval) = VariableAddress[x] : -# 2085| r2085_3(int *) = Load[x] : &:r2085_2, m2083_9 -# 2085| v2085_4(void) = Call[operator delete] : func:r2085_1, 0:r2085_3 -# 2085| m2085_5(unknown) = ^CallSideEffect : ~m2083_6 -# 2085| m2085_6(unknown) = Chi : total:m2083_6, partial:m2085_5 -# 2086| v2086_1(void) = NoOp : -# 2082| v2082_5(void) = ReturnVoid : -# 2082| v2082_6(void) = AliasedUse : ~m2085_6 -# 2082| v2082_7(void) = ExitFunction : - -# 2088| void Base2::Base2() -# 2088| Block 0 -# 2088| v2088_1(void) = EnterFunction : -# 2088| m2088_2(unknown) = AliasedDefinition : -# 2088| m2088_3(unknown) = InitializeNonLocal : -# 2088| m2088_4(unknown) = Chi : total:m2088_2, partial:m2088_3 -# 2088| r2088_5(glval) = VariableAddress[#this] : -# 2088| m2088_6(glval) = InitializeParameter[#this] : &:r2088_5 -# 2088| r2088_7(glval) = Load[#this] : &:r2088_5, m2088_6 -# 2088| m2088_8(Base2) = InitializeIndirection[#this] : &:r2088_7 -# 2088| v2088_9(void) = NoOp : -# 2088| v2088_10(void) = ReturnIndirection[#this] : &:r2088_7, m2088_8 -# 2088| v2088_11(void) = ReturnVoid : -# 2088| v2088_12(void) = AliasedUse : m2088_3 -# 2088| v2088_13(void) = ExitFunction : - -# 2090| void Base2::operator delete(void*) -# 2090| Block 0 -# 2090| v2090_1(void) = EnterFunction : -# 2090| m2090_2(unknown) = AliasedDefinition : -# 2090| m2090_3(unknown) = InitializeNonLocal : -# 2090| m2090_4(unknown) = Chi : total:m2090_2, partial:m2090_3 -# 2090| r2090_5(glval) = VariableAddress[p] : -# 2090| m2090_6(void *) = InitializeParameter[p] : &:r2090_5 -# 2090| r2090_7(void *) = Load[p] : &:r2090_5, m2090_6 -# 2090| m2090_8(unknown) = InitializeIndirection[p] : &:r2090_7 -# 2091| v2091_1(void) = NoOp : -# 2090| v2090_9(void) = ReturnIndirection[p] : &:r2090_7, m2090_8 -# 2090| v2090_10(void) = ReturnVoid : -# 2090| v2090_11(void) = AliasedUse : m2090_3 -# 2090| v2090_12(void) = ExitFunction : - -# 2092| void Base2::~Base2() -# 2092| Block 0 -# 2092| v2092_1(void) = EnterFunction : -# 2092| m2092_2(unknown) = AliasedDefinition : -# 2092| m2092_3(unknown) = InitializeNonLocal : -# 2092| m2092_4(unknown) = Chi : total:m2092_2, partial:m2092_3 -# 2092| r2092_5(glval) = VariableAddress[#this] : -# 2092| m2092_6(glval) = InitializeParameter[#this] : &:r2092_5 -# 2092| r2092_7(glval) = Load[#this] : &:r2092_5, m2092_6 -# 2092| m2092_8(Base2) = InitializeIndirection[#this] : &:r2092_7 -# 2092| v2092_9(void) = NoOp : -# 2092| v2092_10(void) = ReturnIndirection[#this] : &:r2092_7, m2092_8 -# 2092| v2092_11(void) = ReturnVoid : -# 2092| v2092_12(void) = AliasedUse : m2092_3 -# 2092| v2092_13(void) = ExitFunction : - -# 2095| void Derived2::Derived2() -# 2095| Block 0 -# 2095| v2095_1(void) = EnterFunction : -# 2095| m2095_2(unknown) = AliasedDefinition : -# 2095| m2095_3(unknown) = InitializeNonLocal : -# 2095| m2095_4(unknown) = Chi : total:m2095_2, partial:m2095_3 -# 2095| r2095_5(glval) = VariableAddress[#this] : -# 2095| m2095_6(glval) = InitializeParameter[#this] : &:r2095_5 -# 2095| r2095_7(glval) = Load[#this] : &:r2095_5, m2095_6 -# 2095| m2095_8(Derived2) = InitializeIndirection[#this] : &:r2095_7 -# 2095| r2095_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2095_6 -# 2095| r2095_10(glval) = FunctionAddress[Base2] : -# 2095| v2095_11(void) = Call[Base2] : func:r2095_10, this:r2095_9 -# 2095| m2095_12(unknown) = ^CallSideEffect : ~m2095_4 -# 2095| m2095_13(unknown) = Chi : total:m2095_4, partial:m2095_12 -# 2095| m2095_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2095_9 -# 2095| m2095_15(unknown) = Chi : total:m2095_8, partial:m2095_14 -# 2095| v2095_16(void) = NoOp : -# 2095| v2095_17(void) = ReturnIndirection[#this] : &:r2095_7, m2095_15 -# 2095| v2095_18(void) = ReturnVoid : -# 2095| v2095_19(void) = AliasedUse : ~m2095_13 -# 2095| v2095_20(void) = ExitFunction : - -# 2098| void Derived2::~Derived2() -# 2098| Block 0 -# 2098| v2098_1(void) = EnterFunction : -# 2098| m2098_2(unknown) = AliasedDefinition : -# 2098| m2098_3(unknown) = InitializeNonLocal : -# 2098| m2098_4(unknown) = Chi : total:m2098_2, partial:m2098_3 -# 2098| r2098_5(glval) = VariableAddress[#this] : -# 2098| m2098_6(glval) = InitializeParameter[#this] : &:r2098_5 -# 2098| r2098_7(glval) = Load[#this] : &:r2098_5, m2098_6 -# 2098| m2098_8(Derived2) = InitializeIndirection[#this] : &:r2098_7 -# 2098| v2098_9(void) = NoOp : -# 2098| r2098_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2098_6 -# 2098| r2098_11(glval) = FunctionAddress[~Base2] : -# 2098| v2098_12(void) = Call[~Base2] : func:r2098_11, this:r2098_10 -# 2098| m2098_13(unknown) = ^CallSideEffect : ~m2098_4 -# 2098| m2098_14(unknown) = Chi : total:m2098_4, partial:m2098_13 -# 2098| v2098_15(void) = ReturnIndirection[#this] : &:r2098_7, m2098_8 -# 2098| v2098_16(void) = ReturnVoid : -# 2098| v2098_17(void) = AliasedUse : ~m2098_14 -# 2098| v2098_18(void) = ExitFunction : - -# 2100| void Derived2::operator delete(void*) -# 2100| Block 0 -# 2100| v2100_1(void) = EnterFunction : -# 2100| m2100_2(unknown) = AliasedDefinition : -# 2100| m2100_3(unknown) = InitializeNonLocal : -# 2100| m2100_4(unknown) = Chi : total:m2100_2, partial:m2100_3 -# 2100| r2100_5(glval) = VariableAddress[p] : -# 2100| m2100_6(void *) = InitializeParameter[p] : &:r2100_5 -# 2100| r2100_7(void *) = Load[p] : &:r2100_5, m2100_6 -# 2100| m2100_8(unknown) = InitializeIndirection[p] : &:r2100_7 -# 2101| v2101_1(void) = NoOp : -# 2100| v2100_9(void) = ReturnIndirection[p] : &:r2100_7, m2100_8 -# 2100| v2100_10(void) = ReturnVoid : -# 2100| v2100_11(void) = AliasedUse : m2100_3 -# 2100| v2100_12(void) = ExitFunction : - -# 2105| int virtual_delete() -# 2105| Block 0 -# 2105| v2105_1(void) = EnterFunction : -# 2105| m2105_2(unknown) = AliasedDefinition : -# 2105| m2105_3(unknown) = InitializeNonLocal : -# 2105| m2105_4(unknown) = Chi : total:m2105_2, partial:m2105_3 -# 2107| r2107_1(glval) = VariableAddress[b1] : -# 2107| r2107_2(glval) = FunctionAddress[operator new] : -# 2107| r2107_3(unsigned long) = Constant[8] : -# 2107| r2107_4(void *) = Call[operator new] : func:r2107_2, 0:r2107_3 -# 2107| m2107_5(unknown) = ^CallSideEffect : ~m2105_4 -# 2107| m2107_6(unknown) = Chi : total:m2105_4, partial:m2107_5 -# 2107| m2107_7(unknown) = ^InitializeDynamicAllocation : &:r2107_4 -# 2107| r2107_8(Base2 *) = Convert : r2107_4 -# 2107| r2107_9(glval) = FunctionAddress[Base2] : -# 2107| v2107_10(void) = Call[Base2] : func:r2107_9, this:r2107_8 -# 2107| m2107_11(unknown) = ^CallSideEffect : ~m2107_6 -# 2107| m2107_12(unknown) = Chi : total:m2107_6, partial:m2107_11 -# 2107| m2107_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2107_8 -# 2107| m2107_14(unknown) = Chi : total:m2107_7, partial:m2107_13 -# 2107| m2107_15(Base2 *) = Store[b1] : &:r2107_1, r2107_8 -# 2108| r2108_1(glval) = VariableAddress[b1] : -# 2108| r2108_2(Base2 *) = Load[b1] : &:r2108_1, m2107_15 -# 2108| r2108_3(glval) = FunctionAddress[~Base2] : -# 2108| v2108_4(void) = Call[~Base2] : func:r2108_3 -# 2108| m2108_5(unknown) = ^CallSideEffect : ~m2107_12 -# 2108| m2108_6(unknown) = Chi : total:m2107_12, partial:m2108_5 -# 2108| v2108_7(void) = ^IndirectReadSideEffect[-1] : &:r2108_2, ~m2107_14 -# 2108| m2108_8(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2108_2 -# 2108| m2108_9(unknown) = Chi : total:m2107_14, partial:m2108_8 -# 2108| r2108_10(glval) = VirtualDeleteFunctionAddress : -# 2108| r2108_11(Base2 *) = CopyValue : r2108_1 -# 2108| v2108_12(void) = Call[?] : func:r2108_10, 0:r2108_11 -# 2108| m2108_13(unknown) = ^CallSideEffect : ~m2108_6 -# 2108| m2108_14(unknown) = Chi : total:m2108_6, partial:m2108_13 -# 2110| r2110_1(glval) = VariableAddress[b2] : -# 2110| r2110_2(glval) = FunctionAddress[operator new] : -# 2110| r2110_3(unsigned long) = Constant[16] : -# 2110| r2110_4(void *) = Call[operator new] : func:r2110_2, 0:r2110_3 -# 2110| m2110_5(unknown) = ^CallSideEffect : ~m2108_14 -# 2110| m2110_6(unknown) = Chi : total:m2108_14, partial:m2110_5 -# 2110| m2110_7(unknown) = ^InitializeDynamicAllocation : &:r2110_4 -# 2110| r2110_8(Derived2 *) = Convert : r2110_4 -# 2110| r2110_9(glval) = FunctionAddress[Derived2] : -# 2110| v2110_10(void) = Call[Derived2] : func:r2110_9, this:r2110_8 -# 2110| m2110_11(unknown) = ^CallSideEffect : ~m2110_6 -# 2110| m2110_12(unknown) = Chi : total:m2110_6, partial:m2110_11 -# 2110| m2110_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2110_8 -# 2110| m2110_14(unknown) = Chi : total:m2110_7, partial:m2110_13 -# 2110| r2110_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2110_8 -# 2110| m2110_16(Base2 *) = Store[b2] : &:r2110_1, r2110_15 -# 2111| r2111_1(glval) = VariableAddress[b2] : -# 2111| r2111_2(Base2 *) = Load[b2] : &:r2111_1, m2110_16 -# 2111| r2111_3(glval) = FunctionAddress[~Base2] : -# 2111| v2111_4(void) = Call[~Base2] : func:r2111_3 -# 2111| m2111_5(unknown) = ^CallSideEffect : ~m2110_12 -# 2111| m2111_6(unknown) = Chi : total:m2110_12, partial:m2111_5 -# 2111| v2111_7(void) = ^IndirectReadSideEffect[-1] : &:r2111_2, ~m2110_14 -# 2111| m2111_8(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2111_2 -# 2111| m2111_9(unknown) = Chi : total:m2110_14, partial:m2111_8 -# 2111| r2111_10(glval) = VirtualDeleteFunctionAddress : -# 2111| r2111_11(Base2 *) = CopyValue : r2111_1 -# 2111| v2111_12(void) = Call[?] : func:r2111_10, 0:r2111_11 -# 2111| m2111_13(unknown) = ^CallSideEffect : ~m2111_6 -# 2111| m2111_14(unknown) = Chi : total:m2111_6, partial:m2111_13 -# 2113| r2113_1(glval) = VariableAddress[d] : -# 2113| r2113_2(glval) = FunctionAddress[operator new] : -# 2113| r2113_3(unsigned long) = Constant[16] : -# 2113| r2113_4(void *) = Call[operator new] : func:r2113_2, 0:r2113_3 -# 2113| m2113_5(unknown) = ^CallSideEffect : ~m2111_14 -# 2113| m2113_6(unknown) = Chi : total:m2111_14, partial:m2113_5 -# 2113| m2113_7(unknown) = ^InitializeDynamicAllocation : &:r2113_4 -# 2113| r2113_8(Derived2 *) = Convert : r2113_4 -# 2113| r2113_9(glval) = FunctionAddress[Derived2] : -# 2113| v2113_10(void) = Call[Derived2] : func:r2113_9, this:r2113_8 -# 2113| m2113_11(unknown) = ^CallSideEffect : ~m2113_6 -# 2113| m2113_12(unknown) = Chi : total:m2113_6, partial:m2113_11 -# 2113| m2113_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2113_8 -# 2113| m2113_14(unknown) = Chi : total:m2113_7, partial:m2113_13 -# 2113| m2113_15(Derived2 *) = Store[d] : &:r2113_1, r2113_8 -# 2114| r2114_1(glval) = VariableAddress[d] : -# 2114| r2114_2(Derived2 *) = Load[d] : &:r2114_1, m2113_15 -# 2114| r2114_3(glval) = FunctionAddress[~Derived2] : -# 2114| v2114_4(void) = Call[~Derived2] : func:r2114_3 -# 2114| m2114_5(unknown) = ^CallSideEffect : ~m2113_12 -# 2114| m2114_6(unknown) = Chi : total:m2113_12, partial:m2114_5 -# 2114| v2114_7(void) = ^IndirectReadSideEffect[-1] : &:r2114_2, ~m2113_14 -# 2114| m2114_8(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2114_2 -# 2114| m2114_9(unknown) = Chi : total:m2113_14, partial:m2114_8 -# 2114| r2114_10(glval) = VirtualDeleteFunctionAddress : -# 2114| r2114_11(Derived2 *) = CopyValue : r2114_1 -# 2114| v2114_12(void) = Call[?] : func:r2114_10, 0:r2114_11 -# 2114| m2114_13(unknown) = ^CallSideEffect : ~m2114_6 -# 2114| m2114_14(unknown) = Chi : total:m2114_6, partial:m2114_13 -# 2115| r2115_1(glval) = VariableAddress[#return] : -# 2115| m2115_2(int) = Uninitialized[#return] : &:r2115_1 -# 2105| r2105_5(glval) = VariableAddress[#return] : -# 2105| v2105_6(void) = ReturnValue : &:r2105_5, m2115_2 -# 2105| v2105_7(void) = AliasedUse : ~m2114_14 -# 2105| v2105_8(void) = ExitFunction : - -# 2119| void test_constant_folding() +# 2096| void NewDeleteMem() +# 2096| Block 0 +# 2096| v2096_1(void) = EnterFunction : +# 2096| m2096_2(unknown) = AliasedDefinition : +# 2096| m2096_3(unknown) = InitializeNonLocal : +# 2096| m2096_4(unknown) = Chi : total:m2096_2, partial:m2096_3 +# 2097| r2097_1(glval) = VariableAddress[x] : +# 2097| r2097_2(glval) = FunctionAddress[operator new] : +# 2097| r2097_3(unsigned long) = Constant[4] : +# 2097| r2097_4(void *) = Call[operator new] : func:r2097_2, 0:r2097_3 +# 2097| m2097_5(unknown) = ^CallSideEffect : ~m2096_4 +# 2097| m2097_6(unknown) = Chi : total:m2096_4, partial:m2097_5 +# 2097| m2097_7(unknown) = ^InitializeDynamicAllocation : &:r2097_4 +# 2097| r2097_8(int *) = Convert : r2097_4 +# 2097| m2097_9(int *) = Store[x] : &:r2097_1, r2097_8 +# 2098| r2098_1(int) = Constant[6] : +# 2098| r2098_2(glval) = VariableAddress[x] : +# 2098| r2098_3(int *) = Load[x] : &:r2098_2, m2097_9 +# 2098| r2098_4(glval) = CopyValue : r2098_3 +# 2098| m2098_5(int) = Store[?] : &:r2098_4, r2098_1 +# 2098| m2098_6(unknown) = Chi : total:m2097_7, partial:m2098_5 +# 2099| r2099_1(glval) = FunctionAddress[operator delete] : +# 2099| r2099_2(glval) = VariableAddress[x] : +# 2099| r2099_3(int *) = Load[x] : &:r2099_2, m2097_9 +# 2099| v2099_4(void) = Call[operator delete] : func:r2099_1, 0:r2099_3 +# 2099| m2099_5(unknown) = ^CallSideEffect : ~m2097_6 +# 2099| m2099_6(unknown) = Chi : total:m2097_6, partial:m2099_5 +# 2100| v2100_1(void) = NoOp : +# 2096| v2096_5(void) = ReturnVoid : +# 2096| v2096_6(void) = AliasedUse : ~m2099_6 +# 2096| v2096_7(void) = ExitFunction : + +# 2102| void Base2::Base2() +# 2102| Block 0 +# 2102| v2102_1(void) = EnterFunction : +# 2102| m2102_2(unknown) = AliasedDefinition : +# 2102| m2102_3(unknown) = InitializeNonLocal : +# 2102| m2102_4(unknown) = Chi : total:m2102_2, partial:m2102_3 +# 2102| r2102_5(glval) = VariableAddress[#this] : +# 2102| m2102_6(glval) = InitializeParameter[#this] : &:r2102_5 +# 2102| r2102_7(glval) = Load[#this] : &:r2102_5, m2102_6 +# 2102| m2102_8(Base2) = InitializeIndirection[#this] : &:r2102_7 +# 2102| v2102_9(void) = NoOp : +# 2102| v2102_10(void) = ReturnIndirection[#this] : &:r2102_7, m2102_8 +# 2102| v2102_11(void) = ReturnVoid : +# 2102| v2102_12(void) = AliasedUse : m2102_3 +# 2102| v2102_13(void) = ExitFunction : + +# 2104| void Base2::operator delete(void*) +# 2104| Block 0 +# 2104| v2104_1(void) = EnterFunction : +# 2104| m2104_2(unknown) = AliasedDefinition : +# 2104| m2104_3(unknown) = InitializeNonLocal : +# 2104| m2104_4(unknown) = Chi : total:m2104_2, partial:m2104_3 +# 2104| r2104_5(glval) = VariableAddress[p] : +# 2104| m2104_6(void *) = InitializeParameter[p] : &:r2104_5 +# 2104| r2104_7(void *) = Load[p] : &:r2104_5, m2104_6 +# 2104| m2104_8(unknown) = InitializeIndirection[p] : &:r2104_7 +# 2105| v2105_1(void) = NoOp : +# 2104| v2104_9(void) = ReturnIndirection[p] : &:r2104_7, m2104_8 +# 2104| v2104_10(void) = ReturnVoid : +# 2104| v2104_11(void) = AliasedUse : m2104_3 +# 2104| v2104_12(void) = ExitFunction : + +# 2106| void Base2::~Base2() +# 2106| Block 0 +# 2106| v2106_1(void) = EnterFunction : +# 2106| m2106_2(unknown) = AliasedDefinition : +# 2106| m2106_3(unknown) = InitializeNonLocal : +# 2106| m2106_4(unknown) = Chi : total:m2106_2, partial:m2106_3 +# 2106| r2106_5(glval) = VariableAddress[#this] : +# 2106| m2106_6(glval) = InitializeParameter[#this] : &:r2106_5 +# 2106| r2106_7(glval) = Load[#this] : &:r2106_5, m2106_6 +# 2106| m2106_8(Base2) = InitializeIndirection[#this] : &:r2106_7 +# 2106| v2106_9(void) = NoOp : +# 2106| v2106_10(void) = ReturnIndirection[#this] : &:r2106_7, m2106_8 +# 2106| v2106_11(void) = ReturnVoid : +# 2106| v2106_12(void) = AliasedUse : m2106_3 +# 2106| v2106_13(void) = ExitFunction : + +# 2109| void Derived2::Derived2() +# 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[#this] : +# 2109| m2109_6(glval) = InitializeParameter[#this] : &:r2109_5 +# 2109| r2109_7(glval) = Load[#this] : &:r2109_5, m2109_6 +# 2109| m2109_8(Derived2) = InitializeIndirection[#this] : &:r2109_7 +# 2109| r2109_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2109_6 +# 2109| r2109_10(glval) = FunctionAddress[Base2] : +# 2109| v2109_11(void) = Call[Base2] : func:r2109_10, this:r2109_9 +# 2109| m2109_12(unknown) = ^CallSideEffect : ~m2109_4 +# 2109| m2109_13(unknown) = Chi : total:m2109_4, partial:m2109_12 +# 2109| m2109_14(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2109_9 +# 2109| m2109_15(unknown) = Chi : total:m2109_8, partial:m2109_14 +# 2109| v2109_16(void) = NoOp : +# 2109| v2109_17(void) = ReturnIndirection[#this] : &:r2109_7, m2109_15 +# 2109| v2109_18(void) = ReturnVoid : +# 2109| v2109_19(void) = AliasedUse : ~m2109_13 +# 2109| v2109_20(void) = ExitFunction : + +# 2112| void Derived2::~Derived2() +# 2112| Block 0 +# 2112| v2112_1(void) = EnterFunction : +# 2112| m2112_2(unknown) = AliasedDefinition : +# 2112| m2112_3(unknown) = InitializeNonLocal : +# 2112| m2112_4(unknown) = Chi : total:m2112_2, partial:m2112_3 +# 2112| r2112_5(glval) = VariableAddress[#this] : +# 2112| m2112_6(glval) = InitializeParameter[#this] : &:r2112_5 +# 2112| r2112_7(glval) = Load[#this] : &:r2112_5, m2112_6 +# 2112| m2112_8(Derived2) = InitializeIndirection[#this] : &:r2112_7 +# 2112| v2112_9(void) = NoOp : +# 2112| r2112_10(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : m2112_6 +# 2112| r2112_11(glval) = FunctionAddress[~Base2] : +# 2112| v2112_12(void) = Call[~Base2] : func:r2112_11, this:r2112_10 +# 2112| m2112_13(unknown) = ^CallSideEffect : ~m2112_4 +# 2112| m2112_14(unknown) = Chi : total:m2112_4, partial:m2112_13 +# 2112| v2112_15(void) = ReturnIndirection[#this] : &:r2112_7, m2112_8 +# 2112| v2112_16(void) = ReturnVoid : +# 2112| v2112_17(void) = AliasedUse : ~m2112_14 +# 2112| v2112_18(void) = ExitFunction : + +# 2114| void Derived2::operator delete(void*) +# 2114| Block 0 +# 2114| v2114_1(void) = EnterFunction : +# 2114| m2114_2(unknown) = AliasedDefinition : +# 2114| m2114_3(unknown) = InitializeNonLocal : +# 2114| m2114_4(unknown) = Chi : total:m2114_2, partial:m2114_3 +# 2114| r2114_5(glval) = VariableAddress[p] : +# 2114| m2114_6(void *) = InitializeParameter[p] : &:r2114_5 +# 2114| r2114_7(void *) = Load[p] : &:r2114_5, m2114_6 +# 2114| m2114_8(unknown) = InitializeIndirection[p] : &:r2114_7 +# 2115| v2115_1(void) = NoOp : +# 2114| v2114_9(void) = ReturnIndirection[p] : &:r2114_7, m2114_8 +# 2114| v2114_10(void) = ReturnVoid : +# 2114| v2114_11(void) = AliasedUse : m2114_3 +# 2114| v2114_12(void) = ExitFunction : + +# 2119| int virtual_delete() # 2119| Block 0 -# 2119| v2119_1(void) = EnterFunction : -# 2119| m2119_2(unknown) = AliasedDefinition : -# 2119| m2119_3(unknown) = InitializeNonLocal : -# 2119| m2119_4(unknown) = Chi : total:m2119_2, partial:m2119_3 -# 2120| r2120_1(glval) = VariableAddress[x] : -# 2120| r2120_2(int) = Constant[116] : -# 2120| m2120_3(int) = Store[x] : &:r2120_1, r2120_2 -# 2121| r2121_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2121| r2121_2(int) = Constant[116] : -# 2121| v2121_3(void) = Call[test_constant_folding_use] : func:r2121_1, 0:r2121_2 -# 2121| m2121_4(unknown) = ^CallSideEffect : ~m2119_4 -# 2121| m2121_5(unknown) = Chi : total:m2119_4, partial:m2121_4 -# 2122| v2122_1(void) = NoOp : -# 2119| v2119_5(void) = ReturnVoid : -# 2119| v2119_6(void) = AliasedUse : ~m2121_5 -# 2119| v2119_7(void) = ExitFunction : - -# 2126| int NonExit() -# 2126| Block 0 -# 2126| v2126_1(void) = EnterFunction : -# 2126| m2126_2(unknown) = AliasedDefinition : -# 2126| m2126_3(unknown) = InitializeNonLocal : -# 2126| m2126_4(unknown) = Chi : total:m2126_2, partial:m2126_3 -# 2127| r2127_1(glval) = VariableAddress[x] : -# 2127| r2127_2(glval) = FunctionAddress[Add] : -# 2127| r2127_3(int) = Constant[3] : -# 2127| r2127_4(int) = Constant[4] : -# 2127| r2127_5(int) = Call[Add] : func:r2127_2, 0:r2127_3, 1:r2127_4 -# 2127| m2127_6(unknown) = ^CallSideEffect : ~m2126_4 -# 2127| m2127_7(unknown) = Chi : total:m2126_4, partial:m2127_6 -# 2127| m2127_8(int) = Store[x] : &:r2127_1, r2127_5 -# 2128| r2128_1(glval) = VariableAddress[x] : -# 2128| r2128_2(int) = Load[x] : &:r2128_1, m2127_8 -# 2128| r2128_3(int) = Constant[7] : -# 2128| r2128_4(bool) = CompareEQ : r2128_2, r2128_3 -# 2128| v2128_5(void) = ConditionalBranch : r2128_4 +# 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 +# 2121| r2121_1(glval) = VariableAddress[b1] : +# 2121| r2121_2(glval) = FunctionAddress[operator new] : +# 2121| r2121_3(unsigned long) = Constant[8] : +# 2121| r2121_4(void *) = Call[operator new] : func:r2121_2, 0:r2121_3 +# 2121| m2121_5(unknown) = ^CallSideEffect : ~m2119_4 +# 2121| m2121_6(unknown) = Chi : total:m2119_4, partial:m2121_5 +# 2121| m2121_7(unknown) = ^InitializeDynamicAllocation : &:r2121_4 +# 2121| r2121_8(Base2 *) = Convert : r2121_4 +# 2121| r2121_9(glval) = FunctionAddress[Base2] : +# 2121| v2121_10(void) = Call[Base2] : func:r2121_9, this:r2121_8 +# 2121| m2121_11(unknown) = ^CallSideEffect : ~m2121_6 +# 2121| m2121_12(unknown) = Chi : total:m2121_6, partial:m2121_11 +# 2121| m2121_13(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2121_8 +# 2121| m2121_14(unknown) = Chi : total:m2121_7, partial:m2121_13 +# 2121| m2121_15(Base2 *) = Store[b1] : &:r2121_1, r2121_8 +# 2122| r2122_1(glval) = VariableAddress[b1] : +# 2122| r2122_2(Base2 *) = Load[b1] : &:r2122_1, m2121_15 +# 2122| r2122_3(glval) = FunctionAddress[~Base2] : +# 2122| v2122_4(void) = Call[~Base2] : func:r2122_3 +# 2122| m2122_5(unknown) = ^CallSideEffect : ~m2121_12 +# 2122| m2122_6(unknown) = Chi : total:m2121_12, partial:m2122_5 +# 2122| v2122_7(void) = ^IndirectReadSideEffect[-1] : &:r2122_2, ~m2121_14 +# 2122| m2122_8(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2122_2 +# 2122| m2122_9(unknown) = Chi : total:m2121_14, partial:m2122_8 +# 2122| r2122_10(glval) = VirtualDeleteFunctionAddress : +# 2122| r2122_11(Base2 *) = CopyValue : r2122_1 +# 2122| v2122_12(void) = Call[?] : func:r2122_10, 0:r2122_11 +# 2122| m2122_13(unknown) = ^CallSideEffect : ~m2122_6 +# 2122| m2122_14(unknown) = Chi : total:m2122_6, partial:m2122_13 +# 2124| r2124_1(glval) = VariableAddress[b2] : +# 2124| r2124_2(glval) = FunctionAddress[operator new] : +# 2124| r2124_3(unsigned long) = Constant[16] : +# 2124| r2124_4(void *) = Call[operator new] : func:r2124_2, 0:r2124_3 +# 2124| m2124_5(unknown) = ^CallSideEffect : ~m2122_14 +# 2124| m2124_6(unknown) = Chi : total:m2122_14, partial:m2124_5 +# 2124| m2124_7(unknown) = ^InitializeDynamicAllocation : &:r2124_4 +# 2124| r2124_8(Derived2 *) = Convert : r2124_4 +# 2124| r2124_9(glval) = FunctionAddress[Derived2] : +# 2124| v2124_10(void) = Call[Derived2] : func:r2124_9, this:r2124_8 +# 2124| m2124_11(unknown) = ^CallSideEffect : ~m2124_6 +# 2124| m2124_12(unknown) = Chi : total:m2124_6, partial:m2124_11 +# 2124| m2124_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2124_8 +# 2124| m2124_14(unknown) = Chi : total:m2124_7, partial:m2124_13 +# 2124| r2124_15(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2124_8 +# 2124| m2124_16(Base2 *) = Store[b2] : &:r2124_1, r2124_15 +# 2125| r2125_1(glval) = VariableAddress[b2] : +# 2125| r2125_2(Base2 *) = Load[b2] : &:r2125_1, m2124_16 +# 2125| r2125_3(glval) = FunctionAddress[~Base2] : +# 2125| v2125_4(void) = Call[~Base2] : func:r2125_3 +# 2125| m2125_5(unknown) = ^CallSideEffect : ~m2124_12 +# 2125| m2125_6(unknown) = Chi : total:m2124_12, partial:m2125_5 +# 2125| v2125_7(void) = ^IndirectReadSideEffect[-1] : &:r2125_2, ~m2124_14 +# 2125| m2125_8(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2125_2 +# 2125| m2125_9(unknown) = Chi : total:m2124_14, partial:m2125_8 +# 2125| r2125_10(glval) = VirtualDeleteFunctionAddress : +# 2125| r2125_11(Base2 *) = CopyValue : r2125_1 +# 2125| v2125_12(void) = Call[?] : func:r2125_10, 0:r2125_11 +# 2125| m2125_13(unknown) = ^CallSideEffect : ~m2125_6 +# 2125| m2125_14(unknown) = Chi : total:m2125_6, partial:m2125_13 +# 2127| r2127_1(glval) = VariableAddress[d] : +# 2127| r2127_2(glval) = FunctionAddress[operator new] : +# 2127| r2127_3(unsigned long) = Constant[16] : +# 2127| r2127_4(void *) = Call[operator new] : func:r2127_2, 0:r2127_3 +# 2127| m2127_5(unknown) = ^CallSideEffect : ~m2125_14 +# 2127| m2127_6(unknown) = Chi : total:m2125_14, partial:m2127_5 +# 2127| m2127_7(unknown) = ^InitializeDynamicAllocation : &:r2127_4 +# 2127| r2127_8(Derived2 *) = Convert : r2127_4 +# 2127| r2127_9(glval) = FunctionAddress[Derived2] : +# 2127| v2127_10(void) = Call[Derived2] : func:r2127_9, this:r2127_8 +# 2127| m2127_11(unknown) = ^CallSideEffect : ~m2127_6 +# 2127| m2127_12(unknown) = Chi : total:m2127_6, partial:m2127_11 +# 2127| m2127_13(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2127_8 +# 2127| m2127_14(unknown) = Chi : total:m2127_7, partial:m2127_13 +# 2127| m2127_15(Derived2 *) = Store[d] : &:r2127_1, r2127_8 +# 2128| r2128_1(glval) = VariableAddress[d] : +# 2128| r2128_2(Derived2 *) = Load[d] : &:r2128_1, m2127_15 +# 2128| r2128_3(glval) = FunctionAddress[~Derived2] : +# 2128| v2128_4(void) = Call[~Derived2] : func:r2128_3 +# 2128| m2128_5(unknown) = ^CallSideEffect : ~m2127_12 +# 2128| m2128_6(unknown) = Chi : total:m2127_12, partial:m2128_5 +# 2128| v2128_7(void) = ^IndirectReadSideEffect[-1] : &:r2128_2, ~m2127_14 +# 2128| m2128_8(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2128_2 +# 2128| m2128_9(unknown) = Chi : total:m2127_14, partial:m2128_8 +# 2128| r2128_10(glval) = VirtualDeleteFunctionAddress : +# 2128| r2128_11(Derived2 *) = CopyValue : r2128_1 +# 2128| v2128_12(void) = Call[?] : func:r2128_10, 0:r2128_11 +# 2128| m2128_13(unknown) = ^CallSideEffect : ~m2128_6 +# 2128| m2128_14(unknown) = Chi : total:m2128_6, partial:m2128_13 +# 2129| r2129_1(glval) = VariableAddress[#return] : +# 2129| m2129_2(int) = Uninitialized[#return] : &:r2129_1 +# 2119| r2119_5(glval) = VariableAddress[#return] : +# 2119| v2119_6(void) = ReturnValue : &:r2119_5, m2129_2 +# 2119| v2119_7(void) = AliasedUse : ~m2128_14 +# 2119| v2119_8(void) = ExitFunction : + +# 2133| void test_constant_folding() +# 2133| Block 0 +# 2133| v2133_1(void) = EnterFunction : +# 2133| m2133_2(unknown) = AliasedDefinition : +# 2133| m2133_3(unknown) = InitializeNonLocal : +# 2133| m2133_4(unknown) = Chi : total:m2133_2, partial:m2133_3 +# 2134| r2134_1(glval) = VariableAddress[x] : +# 2134| r2134_2(int) = Constant[116] : +# 2134| m2134_3(int) = Store[x] : &:r2134_1, r2134_2 +# 2135| r2135_1(glval) = FunctionAddress[test_constant_folding_use] : +# 2135| r2135_2(int) = Constant[116] : +# 2135| v2135_3(void) = Call[test_constant_folding_use] : func:r2135_1, 0:r2135_2 +# 2135| m2135_4(unknown) = ^CallSideEffect : ~m2133_4 +# 2135| m2135_5(unknown) = Chi : total:m2133_4, partial:m2135_4 +# 2136| v2136_1(void) = NoOp : +# 2133| v2133_5(void) = ReturnVoid : +# 2133| v2133_6(void) = AliasedUse : ~m2135_5 +# 2133| v2133_7(void) = ExitFunction : + +# 2140| int NonExit() +# 2140| Block 0 +# 2140| v2140_1(void) = EnterFunction : +# 2140| m2140_2(unknown) = AliasedDefinition : +# 2140| m2140_3(unknown) = InitializeNonLocal : +# 2140| m2140_4(unknown) = Chi : total:m2140_2, partial:m2140_3 +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(glval) = FunctionAddress[Add] : +# 2141| r2141_3(int) = Constant[3] : +# 2141| r2141_4(int) = Constant[4] : +# 2141| r2141_5(int) = Call[Add] : func:r2141_2, 0:r2141_3, 1:r2141_4 +# 2141| m2141_6(unknown) = ^CallSideEffect : ~m2140_4 +# 2141| m2141_7(unknown) = Chi : total:m2140_4, partial:m2141_6 +# 2141| m2141_8(int) = Store[x] : &:r2141_1, r2141_5 +# 2142| r2142_1(glval) = VariableAddress[x] : +# 2142| r2142_2(int) = Load[x] : &:r2142_1, m2141_8 +# 2142| r2142_3(int) = Constant[7] : +# 2142| r2142_4(bool) = CompareEQ : r2142_2, r2142_3 +# 2142| v2142_5(void) = ConditionalBranch : r2142_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2129| Block 1 -# 2129| r2129_1(glval) = FunctionAddress[exit] : -# 2129| r2129_2(int) = Constant[3] : -# 2129| v2129_3(void) = Call[exit] : func:r2129_1, 0:r2129_2 -# 2129| m2129_4(unknown) = ^CallSideEffect : ~m2127_7 -# 2129| m2129_5(unknown) = Chi : total:m2127_7, partial:m2129_4 -# 2126| v2126_5(void) = Unreached : - -# 2130| Block 2 -# 2130| r2130_1(glval) = FunctionAddress[VoidFunc] : -# 2130| v2130_2(void) = Call[VoidFunc] : func:r2130_1 -# 2130| m2130_3(unknown) = ^CallSideEffect : ~m2127_7 -# 2130| m2130_4(unknown) = Chi : total:m2127_7, partial:m2130_3 -# 2131| r2131_1(glval) = VariableAddress[#return] : -# 2131| r2131_2(glval) = VariableAddress[x] : -# 2131| r2131_3(int) = Load[x] : &:r2131_2, m2127_8 -# 2131| m2131_4(int) = Store[#return] : &:r2131_1, r2131_3 -# 2126| r2126_6(glval) = VariableAddress[#return] : -# 2126| v2126_7(void) = ReturnValue : &:r2126_6, m2131_4 -# 2126| v2126_8(void) = AliasedUse : ~m2130_4 -# 2126| v2126_9(void) = ExitFunction : - -# 2134| void CallsNonExit() -# 2134| Block 0 -# 2134| v2134_1(void) = EnterFunction : -# 2134| m2134_2(unknown) = AliasedDefinition : -# 2134| m2134_3(unknown) = InitializeNonLocal : -# 2134| m2134_4(unknown) = Chi : total:m2134_2, partial:m2134_3 -# 2135| r2135_1(glval) = FunctionAddress[VoidFunc] : -# 2135| v2135_2(void) = Call[VoidFunc] : func:r2135_1 -# 2135| m2135_3(unknown) = ^CallSideEffect : ~m2134_4 -# 2135| m2135_4(unknown) = Chi : total:m2134_4, partial:m2135_3 -# 2136| r2136_1(glval) = FunctionAddress[exit] : -# 2136| r2136_2(int) = Constant[3] : -# 2136| v2136_3(void) = Call[exit] : func:r2136_1, 0:r2136_2 -# 2136| m2136_4(unknown) = ^CallSideEffect : ~m2135_4 -# 2136| m2136_5(unknown) = Chi : total:m2135_4, partial:m2136_4 -# 2134| v2134_5(void) = Unreached : - -# 2139| int TransNonExit() -# 2139| Block 0 -# 2139| v2139_1(void) = EnterFunction : -# 2139| m2139_2(unknown) = AliasedDefinition : -# 2139| m2139_3(unknown) = InitializeNonLocal : -# 2139| m2139_4(unknown) = Chi : total:m2139_2, partial:m2139_3 -# 2140| r2140_1(glval) = VariableAddress[x] : -# 2140| r2140_2(glval) = FunctionAddress[Add] : -# 2140| r2140_3(int) = Constant[3] : -# 2140| r2140_4(int) = Constant[4] : -# 2140| r2140_5(int) = Call[Add] : func:r2140_2, 0:r2140_3, 1:r2140_4 -# 2140| m2140_6(unknown) = ^CallSideEffect : ~m2139_4 -# 2140| m2140_7(unknown) = Chi : total:m2139_4, partial:m2140_6 -# 2140| m2140_8(int) = Store[x] : &:r2140_1, r2140_5 -# 2141| r2141_1(glval) = VariableAddress[x] : -# 2141| r2141_2(int) = Load[x] : &:r2141_1, m2140_8 -# 2141| r2141_3(int) = Constant[7] : -# 2141| r2141_4(bool) = CompareEQ : r2141_2, r2141_3 -# 2141| v2141_5(void) = ConditionalBranch : r2141_4 +# 2143| Block 1 +# 2143| r2143_1(glval) = FunctionAddress[exit] : +# 2143| r2143_2(int) = Constant[3] : +# 2143| v2143_3(void) = Call[exit] : func:r2143_1, 0:r2143_2 +# 2143| m2143_4(unknown) = ^CallSideEffect : ~m2141_7 +# 2143| m2143_5(unknown) = Chi : total:m2141_7, partial:m2143_4 +# 2140| v2140_5(void) = Unreached : + +# 2144| Block 2 +# 2144| r2144_1(glval) = FunctionAddress[VoidFunc] : +# 2144| v2144_2(void) = Call[VoidFunc] : func:r2144_1 +# 2144| m2144_3(unknown) = ^CallSideEffect : ~m2141_7 +# 2144| m2144_4(unknown) = Chi : total:m2141_7, partial:m2144_3 +# 2145| r2145_1(glval) = VariableAddress[#return] : +# 2145| r2145_2(glval) = VariableAddress[x] : +# 2145| r2145_3(int) = Load[x] : &:r2145_2, m2141_8 +# 2145| m2145_4(int) = Store[#return] : &:r2145_1, r2145_3 +# 2140| r2140_6(glval) = VariableAddress[#return] : +# 2140| v2140_7(void) = ReturnValue : &:r2140_6, m2145_4 +# 2140| v2140_8(void) = AliasedUse : ~m2144_4 +# 2140| v2140_9(void) = ExitFunction : + +# 2148| void CallsNonExit() +# 2148| Block 0 +# 2148| v2148_1(void) = EnterFunction : +# 2148| m2148_2(unknown) = AliasedDefinition : +# 2148| m2148_3(unknown) = InitializeNonLocal : +# 2148| m2148_4(unknown) = Chi : total:m2148_2, partial:m2148_3 +# 2149| r2149_1(glval) = FunctionAddress[VoidFunc] : +# 2149| v2149_2(void) = Call[VoidFunc] : func:r2149_1 +# 2149| m2149_3(unknown) = ^CallSideEffect : ~m2148_4 +# 2149| m2149_4(unknown) = Chi : total:m2148_4, partial:m2149_3 +# 2150| r2150_1(glval) = FunctionAddress[exit] : +# 2150| r2150_2(int) = Constant[3] : +# 2150| v2150_3(void) = Call[exit] : func:r2150_1, 0:r2150_2 +# 2150| m2150_4(unknown) = ^CallSideEffect : ~m2149_4 +# 2150| m2150_5(unknown) = Chi : total:m2149_4, partial:m2150_4 +# 2148| v2148_5(void) = Unreached : + +# 2153| int TransNonExit() +# 2153| Block 0 +# 2153| v2153_1(void) = EnterFunction : +# 2153| m2153_2(unknown) = AliasedDefinition : +# 2153| m2153_3(unknown) = InitializeNonLocal : +# 2153| m2153_4(unknown) = Chi : total:m2153_2, partial:m2153_3 +# 2154| r2154_1(glval) = VariableAddress[x] : +# 2154| r2154_2(glval) = FunctionAddress[Add] : +# 2154| r2154_3(int) = Constant[3] : +# 2154| r2154_4(int) = Constant[4] : +# 2154| r2154_5(int) = Call[Add] : func:r2154_2, 0:r2154_3, 1:r2154_4 +# 2154| m2154_6(unknown) = ^CallSideEffect : ~m2153_4 +# 2154| m2154_7(unknown) = Chi : total:m2153_4, partial:m2154_6 +# 2154| m2154_8(int) = Store[x] : &:r2154_1, r2154_5 +# 2155| r2155_1(glval) = VariableAddress[x] : +# 2155| r2155_2(int) = Load[x] : &:r2155_1, m2154_8 +# 2155| r2155_3(int) = Constant[7] : +# 2155| r2155_4(bool) = CompareEQ : r2155_2, r2155_3 +# 2155| v2155_5(void) = ConditionalBranch : r2155_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2142| Block 1 -# 2142| r2142_1(glval) = FunctionAddress[CallsNonExit] : -# 2142| v2142_2(void) = Call[CallsNonExit] : func:r2142_1 -# 2139| v2139_5(void) = Unreached : - -# 2143| Block 2 -# 2143| r2143_1(glval) = FunctionAddress[VoidFunc] : -# 2143| v2143_2(void) = Call[VoidFunc] : func:r2143_1 -# 2143| m2143_3(unknown) = ^CallSideEffect : ~m2140_7 -# 2143| m2143_4(unknown) = Chi : total:m2140_7, partial:m2143_3 -# 2144| r2144_1(glval) = VariableAddress[#return] : -# 2144| r2144_2(glval) = VariableAddress[x] : -# 2144| r2144_3(int) = Load[x] : &:r2144_2, m2140_8 -# 2144| m2144_4(int) = Store[#return] : &:r2144_1, r2144_3 -# 2139| r2139_6(glval) = VariableAddress[#return] : -# 2139| v2139_7(void) = ReturnValue : &:r2139_6, m2144_4 -# 2139| v2139_8(void) = AliasedUse : ~m2143_4 -# 2139| v2139_9(void) = ExitFunction : - -# 2147| void newArrayCorrectType(size_t) -# 2147| Block 0 -# 2147| v2147_1(void) = EnterFunction : -# 2147| m2147_2(unknown) = AliasedDefinition : -# 2147| m2147_3(unknown) = InitializeNonLocal : -# 2147| m2147_4(unknown) = Chi : total:m2147_2, partial:m2147_3 -# 2147| r2147_5(glval) = VariableAddress[n] : -# 2147| m2147_6(unsigned long) = InitializeParameter[n] : &:r2147_5 -# 2148| r2148_1(glval) = FunctionAddress[operator new[]] : -# 2148| r2148_2(glval) = VariableAddress[n] : -# 2148| r2148_3(unsigned long) = Load[n] : &:r2148_2, m2147_6 -# 2148| r2148_4(unsigned long) = Constant[4] : -# 2148| r2148_5(unsigned long) = Mul : r2148_3, r2148_4 -# 2148| r2148_6(void *) = Call[operator new[]] : func:r2148_1, 0:r2148_5 -# 2148| m2148_7(unknown) = ^CallSideEffect : ~m2147_4 -# 2148| m2148_8(unknown) = Chi : total:m2147_4, partial:m2148_7 -# 2148| m2148_9(unknown) = ^InitializeDynamicAllocation : &:r2148_6 -# 2148| r2148_10(int *) = Convert : r2148_6 -# 2149| r2149_1(glval) = FunctionAddress[operator new[]] : -# 2149| r2149_2(glval) = VariableAddress[n] : -# 2149| r2149_3(unsigned long) = Load[n] : &:r2149_2, m2147_6 -# 2149| r2149_4(unsigned long) = Constant[4] : -# 2149| r2149_5(unsigned long) = Mul : r2149_3, r2149_4 -# 2149| r2149_6(float) = Constant[1.0] : -# 2149| r2149_7(void *) = Call[operator new[]] : func:r2149_1, 0:r2149_5, 1:r2149_6 -# 2149| m2149_8(unknown) = ^CallSideEffect : ~m2148_8 -# 2149| m2149_9(unknown) = Chi : total:m2148_8, partial:m2149_8 -# 2149| m2149_10(unknown) = ^InitializeDynamicAllocation : &:r2149_7 -# 2149| r2149_11(int *) = Convert : r2149_7 -# 2150| r2150_1(glval) = FunctionAddress[operator new[]] : -# 2150| r2150_2(glval) = VariableAddress[n] : -# 2150| r2150_3(unsigned long) = Load[n] : &:r2150_2, m2147_6 -# 2150| r2150_4(unsigned long) = Constant[8] : -# 2150| r2150_5(unsigned long) = Mul : r2150_3, r2150_4 -# 2150| r2150_6(void *) = Call[operator new[]] : func:r2150_1, 0:r2150_5 -# 2150| m2150_7(unknown) = ^CallSideEffect : ~m2149_9 -# 2150| m2150_8(unknown) = Chi : total:m2149_9, partial:m2150_7 -# 2150| m2150_9(unknown) = ^InitializeDynamicAllocation : &:r2150_6 -# 2150| r2150_10(String *) = Convert : r2150_6 -# 2151| r2151_1(glval) = FunctionAddress[operator new[]] : -# 2151| r2151_2(glval) = VariableAddress[n] : -# 2151| r2151_3(unsigned long) = Load[n] : &:r2151_2, m2147_6 -# 2151| r2151_4(unsigned long) = Constant[256] : -# 2151| r2151_5(unsigned long) = Mul : r2151_3, r2151_4 -# 2151| r2151_6(align_val_t) = Constant[128] : -# 2151| r2151_7(void *) = Call[operator new[]] : func:r2151_1, 0:r2151_5, 1:r2151_6 -# 2151| m2151_8(unknown) = ^CallSideEffect : ~m2150_8 -# 2151| m2151_9(unknown) = Chi : total:m2150_8, partial:m2151_8 -# 2151| m2151_10(unknown) = ^InitializeDynamicAllocation : &:r2151_7 -# 2151| r2151_11(Overaligned *) = Convert : r2151_7 -# 2152| r2152_1(glval) = FunctionAddress[operator new[]] : -# 2152| r2152_2(glval) = VariableAddress[n] : -# 2152| r2152_3(unsigned long) = Load[n] : &:r2152_2, m2147_6 -# 2152| r2152_4(unsigned long) = Constant[1] : -# 2152| r2152_5(unsigned long) = Mul : r2152_3, r2152_4 -# 2152| r2152_6(void *) = Call[operator new[]] : func:r2152_1, 0:r2152_5 -# 2152| m2152_7(unknown) = ^CallSideEffect : ~m2151_9 -# 2152| m2152_8(unknown) = Chi : total:m2151_9, partial:m2152_7 -# 2152| m2152_9(unknown) = ^InitializeDynamicAllocation : &:r2152_6 -# 2152| r2152_10(DefaultCtorWithDefaultParam *) = Convert : r2152_6 -# 2153| r2153_1(glval) = FunctionAddress[operator new[]] : -# 2153| r2153_2(glval) = VariableAddress[n] : -# 2153| r2153_3(unsigned long) = Load[n] : &:r2153_2, m2147_6 -# 2153| r2153_4(unsigned long) = Constant[4] : -# 2153| r2153_5(unsigned long) = Mul : r2153_3, r2153_4 -# 2153| r2153_6(void *) = Call[operator new[]] : func:r2153_1, 0:r2153_5 -# 2153| m2153_7(unknown) = ^CallSideEffect : ~m2152_8 -# 2153| m2153_8(unknown) = Chi : total:m2152_8, partial:m2153_7 -# 2153| m2153_9(unknown) = ^InitializeDynamicAllocation : &:r2153_6 -# 2153| r2153_10(int *) = Convert : r2153_6 -# 2154| v2154_1(void) = NoOp : -# 2147| v2147_7(void) = ReturnVoid : -# 2147| v2147_8(void) = AliasedUse : ~m2153_8 -# 2147| v2147_9(void) = ExitFunction : - -# 2158| char* test_strtod(char*) -# 2158| Block 0 -# 2158| v2158_1(void) = EnterFunction : -# 2158| m2158_2(unknown) = AliasedDefinition : -# 2158| m2158_3(unknown) = InitializeNonLocal : -# 2158| m2158_4(unknown) = Chi : total:m2158_2, partial:m2158_3 -# 2158| r2158_5(glval) = VariableAddress[s] : -# 2158| m2158_6(char *) = InitializeParameter[s] : &:r2158_5 -# 2158| r2158_7(char *) = Load[s] : &:r2158_5, m2158_6 -# 2158| m2158_8(unknown) = InitializeIndirection[s] : &:r2158_7 -# 2159| r2159_1(glval) = VariableAddress[end] : -# 2159| m2159_2(char *) = Uninitialized[end] : &:r2159_1 -# 2160| r2160_1(glval) = VariableAddress[d] : -# 2160| r2160_2(glval) = FunctionAddress[strtod] : -# 2160| r2160_3(glval) = VariableAddress[s] : -# 2160| r2160_4(char *) = Load[s] : &:r2160_3, m2158_6 -# 2160| r2160_5(char *) = Convert : r2160_4 -# 2160| r2160_6(glval) = VariableAddress[end] : -# 2160| r2160_7(char **) = CopyValue : r2160_6 -# 2160| r2160_8(double) = Call[strtod] : func:r2160_2, 0:r2160_5, 1:r2160_7 -# 2160| v2160_9(void) = ^BufferReadSideEffect[0] : &:r2160_5, ~m2158_8 -# 2160| m2160_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2160_7 -# 2160| m2160_11(char *) = Chi : total:m2159_2, partial:m2160_10 -# 2160| m2160_12(double) = Store[d] : &:r2160_1, r2160_8 -# 2161| r2161_1(glval) = VariableAddress[#return] : -# 2161| r2161_2(glval) = VariableAddress[end] : -# 2161| r2161_3(char *) = Load[end] : &:r2161_2, m2160_11 -# 2161| m2161_4(char *) = Store[#return] : &:r2161_1, r2161_3 -# 2158| v2158_9(void) = ReturnIndirection[s] : &:r2158_7, m2158_8 -# 2158| r2158_10(glval) = VariableAddress[#return] : -# 2158| v2158_11(void) = ReturnValue : &:r2158_10, m2161_4 -# 2158| v2158_12(void) = AliasedUse : m2158_3 -# 2158| v2158_13(void) = ExitFunction : - -# 2168| void call_as_child_of_ConditionDeclExpr() -# 2168| Block 0 -# 2168| v2168_1(void) = EnterFunction : -# 2168| m2168_2(unknown) = AliasedDefinition : -# 2168| m2168_3(unknown) = InitializeNonLocal : -# 2168| m2168_4(unknown) = Chi : total:m2168_2, partial:m2168_3 -# 2169| r2169_1(glval) = VariableAddress[b] : -# 2169| r2169_2(HasOperatorBool) = Constant[0] : -# 2169| m2169_3(HasOperatorBool) = Store[b] : &:r2169_1, r2169_2 -# 2169| r2169_4(glval) = VariableAddress[b] : -# 2169| r2169_5(glval) = FunctionAddress[operator bool] : -# 2169| r2169_6(bool) = Call[operator bool] : func:r2169_5, this:r2169_4 -# 2169| m2169_7(unknown) = ^CallSideEffect : ~m2168_4 -# 2169| m2169_8(unknown) = Chi : total:m2168_4, partial:m2169_7 -# 2169| v2169_9(void) = ^IndirectReadSideEffect[-1] : &:r2169_4, m2169_3 -# 2169| m2169_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2169_4 -# 2169| m2169_11(HasOperatorBool) = Chi : total:m2169_3, partial:m2169_10 -# 2169| r2169_12(bool) = CopyValue : r2169_6 -# 2169| v2169_13(void) = ConditionalBranch : r2169_12 +# 2156| Block 1 +# 2156| r2156_1(glval) = FunctionAddress[CallsNonExit] : +# 2156| v2156_2(void) = Call[CallsNonExit] : func:r2156_1 +# 2153| v2153_5(void) = Unreached : + +# 2157| Block 2 +# 2157| r2157_1(glval) = FunctionAddress[VoidFunc] : +# 2157| v2157_2(void) = Call[VoidFunc] : func:r2157_1 +# 2157| m2157_3(unknown) = ^CallSideEffect : ~m2154_7 +# 2157| m2157_4(unknown) = Chi : total:m2154_7, partial:m2157_3 +# 2158| r2158_1(glval) = VariableAddress[#return] : +# 2158| r2158_2(glval) = VariableAddress[x] : +# 2158| r2158_3(int) = Load[x] : &:r2158_2, m2154_8 +# 2158| m2158_4(int) = Store[#return] : &:r2158_1, r2158_3 +# 2153| r2153_6(glval) = VariableAddress[#return] : +# 2153| v2153_7(void) = ReturnValue : &:r2153_6, m2158_4 +# 2153| v2153_8(void) = AliasedUse : ~m2157_4 +# 2153| v2153_9(void) = ExitFunction : + +# 2161| void newArrayCorrectType(size_t) +# 2161| Block 0 +# 2161| v2161_1(void) = EnterFunction : +# 2161| m2161_2(unknown) = AliasedDefinition : +# 2161| m2161_3(unknown) = InitializeNonLocal : +# 2161| m2161_4(unknown) = Chi : total:m2161_2, partial:m2161_3 +# 2161| r2161_5(glval) = VariableAddress[n] : +# 2161| m2161_6(unsigned long) = InitializeParameter[n] : &:r2161_5 +# 2162| r2162_1(glval) = FunctionAddress[operator new[]] : +# 2162| r2162_2(glval) = VariableAddress[n] : +# 2162| r2162_3(unsigned long) = Load[n] : &:r2162_2, m2161_6 +# 2162| r2162_4(unsigned long) = Constant[4] : +# 2162| r2162_5(unsigned long) = Mul : r2162_3, r2162_4 +# 2162| r2162_6(void *) = Call[operator new[]] : func:r2162_1, 0:r2162_5 +# 2162| m2162_7(unknown) = ^CallSideEffect : ~m2161_4 +# 2162| m2162_8(unknown) = Chi : total:m2161_4, partial:m2162_7 +# 2162| m2162_9(unknown) = ^InitializeDynamicAllocation : &:r2162_6 +# 2162| r2162_10(int *) = Convert : r2162_6 +# 2163| r2163_1(glval) = FunctionAddress[operator new[]] : +# 2163| r2163_2(glval) = VariableAddress[n] : +# 2163| r2163_3(unsigned long) = Load[n] : &:r2163_2, m2161_6 +# 2163| r2163_4(unsigned long) = Constant[4] : +# 2163| r2163_5(unsigned long) = Mul : r2163_3, r2163_4 +# 2163| r2163_6(float) = Constant[1.0] : +# 2163| r2163_7(void *) = Call[operator new[]] : func:r2163_1, 0:r2163_5, 1:r2163_6 +# 2163| m2163_8(unknown) = ^CallSideEffect : ~m2162_8 +# 2163| m2163_9(unknown) = Chi : total:m2162_8, partial:m2163_8 +# 2163| m2163_10(unknown) = ^InitializeDynamicAllocation : &:r2163_7 +# 2163| r2163_11(int *) = Convert : r2163_7 +# 2164| r2164_1(glval) = FunctionAddress[operator new[]] : +# 2164| r2164_2(glval) = VariableAddress[n] : +# 2164| r2164_3(unsigned long) = Load[n] : &:r2164_2, m2161_6 +# 2164| r2164_4(unsigned long) = Constant[8] : +# 2164| r2164_5(unsigned long) = Mul : r2164_3, r2164_4 +# 2164| r2164_6(void *) = Call[operator new[]] : func:r2164_1, 0:r2164_5 +# 2164| m2164_7(unknown) = ^CallSideEffect : ~m2163_9 +# 2164| m2164_8(unknown) = Chi : total:m2163_9, partial:m2164_7 +# 2164| m2164_9(unknown) = ^InitializeDynamicAllocation : &:r2164_6 +# 2164| r2164_10(String *) = Convert : r2164_6 +# 2165| r2165_1(glval) = FunctionAddress[operator new[]] : +# 2165| r2165_2(glval) = VariableAddress[n] : +# 2165| r2165_3(unsigned long) = Load[n] : &:r2165_2, m2161_6 +# 2165| r2165_4(unsigned long) = Constant[256] : +# 2165| r2165_5(unsigned long) = Mul : r2165_3, r2165_4 +# 2165| r2165_6(align_val_t) = Constant[128] : +# 2165| r2165_7(void *) = Call[operator new[]] : func:r2165_1, 0:r2165_5, 1:r2165_6 +# 2165| m2165_8(unknown) = ^CallSideEffect : ~m2164_8 +# 2165| m2165_9(unknown) = Chi : total:m2164_8, partial:m2165_8 +# 2165| m2165_10(unknown) = ^InitializeDynamicAllocation : &:r2165_7 +# 2165| r2165_11(Overaligned *) = Convert : r2165_7 +# 2166| r2166_1(glval) = FunctionAddress[operator new[]] : +# 2166| r2166_2(glval) = VariableAddress[n] : +# 2166| r2166_3(unsigned long) = Load[n] : &:r2166_2, m2161_6 +# 2166| r2166_4(unsigned long) = Constant[1] : +# 2166| r2166_5(unsigned long) = Mul : r2166_3, r2166_4 +# 2166| r2166_6(void *) = Call[operator new[]] : func:r2166_1, 0:r2166_5 +# 2166| m2166_7(unknown) = ^CallSideEffect : ~m2165_9 +# 2166| m2166_8(unknown) = Chi : total:m2165_9, partial:m2166_7 +# 2166| m2166_9(unknown) = ^InitializeDynamicAllocation : &:r2166_6 +# 2166| r2166_10(DefaultCtorWithDefaultParam *) = Convert : r2166_6 +# 2167| r2167_1(glval) = FunctionAddress[operator new[]] : +# 2167| r2167_2(glval) = VariableAddress[n] : +# 2167| r2167_3(unsigned long) = Load[n] : &:r2167_2, m2161_6 +# 2167| r2167_4(unsigned long) = Constant[4] : +# 2167| r2167_5(unsigned long) = Mul : r2167_3, r2167_4 +# 2167| r2167_6(void *) = Call[operator new[]] : func:r2167_1, 0:r2167_5 +# 2167| m2167_7(unknown) = ^CallSideEffect : ~m2166_8 +# 2167| m2167_8(unknown) = Chi : total:m2166_8, partial:m2167_7 +# 2167| m2167_9(unknown) = ^InitializeDynamicAllocation : &:r2167_6 +# 2167| r2167_10(int *) = Convert : r2167_6 +# 2168| v2168_1(void) = NoOp : +# 2161| v2161_7(void) = ReturnVoid : +# 2161| v2161_8(void) = AliasedUse : ~m2167_8 +# 2161| v2161_9(void) = ExitFunction : + +# 2172| char* test_strtod(char*) +# 2172| Block 0 +# 2172| v2172_1(void) = EnterFunction : +# 2172| m2172_2(unknown) = AliasedDefinition : +# 2172| m2172_3(unknown) = InitializeNonLocal : +# 2172| m2172_4(unknown) = Chi : total:m2172_2, partial:m2172_3 +# 2172| r2172_5(glval) = VariableAddress[s] : +# 2172| m2172_6(char *) = InitializeParameter[s] : &:r2172_5 +# 2172| r2172_7(char *) = Load[s] : &:r2172_5, m2172_6 +# 2172| m2172_8(unknown) = InitializeIndirection[s] : &:r2172_7 +# 2173| r2173_1(glval) = VariableAddress[end] : +# 2173| m2173_2(char *) = Uninitialized[end] : &:r2173_1 +# 2174| r2174_1(glval) = VariableAddress[d] : +# 2174| r2174_2(glval) = FunctionAddress[strtod] : +# 2174| r2174_3(glval) = VariableAddress[s] : +# 2174| r2174_4(char *) = Load[s] : &:r2174_3, m2172_6 +# 2174| r2174_5(char *) = Convert : r2174_4 +# 2174| r2174_6(glval) = VariableAddress[end] : +# 2174| r2174_7(char **) = CopyValue : r2174_6 +# 2174| r2174_8(double) = Call[strtod] : func:r2174_2, 0:r2174_5, 1:r2174_7 +# 2174| v2174_9(void) = ^BufferReadSideEffect[0] : &:r2174_5, ~m2172_8 +# 2174| m2174_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2174_7 +# 2174| m2174_11(char *) = Chi : total:m2173_2, partial:m2174_10 +# 2174| m2174_12(double) = Store[d] : &:r2174_1, r2174_8 +# 2175| r2175_1(glval) = VariableAddress[#return] : +# 2175| r2175_2(glval) = VariableAddress[end] : +# 2175| r2175_3(char *) = Load[end] : &:r2175_2, m2174_11 +# 2175| m2175_4(char *) = Store[#return] : &:r2175_1, r2175_3 +# 2172| v2172_9(void) = ReturnIndirection[s] : &:r2172_7, m2172_8 +# 2172| r2172_10(glval) = VariableAddress[#return] : +# 2172| v2172_11(void) = ReturnValue : &:r2172_10, m2175_4 +# 2172| v2172_12(void) = AliasedUse : m2172_3 +# 2172| v2172_13(void) = ExitFunction : + +# 2182| void call_as_child_of_ConditionDeclExpr() +# 2182| Block 0 +# 2182| v2182_1(void) = EnterFunction : +# 2182| m2182_2(unknown) = AliasedDefinition : +# 2182| m2182_3(unknown) = InitializeNonLocal : +# 2182| m2182_4(unknown) = Chi : total:m2182_2, partial:m2182_3 +# 2183| r2183_1(glval) = VariableAddress[b] : +# 2183| r2183_2(HasOperatorBool) = Constant[0] : +# 2183| m2183_3(HasOperatorBool) = Store[b] : &:r2183_1, r2183_2 +# 2183| r2183_4(glval) = VariableAddress[b] : +# 2183| r2183_5(glval) = FunctionAddress[operator bool] : +# 2183| r2183_6(bool) = Call[operator bool] : func:r2183_5, this:r2183_4 +# 2183| m2183_7(unknown) = ^CallSideEffect : ~m2182_4 +# 2183| m2183_8(unknown) = Chi : total:m2182_4, partial:m2183_7 +# 2183| v2183_9(void) = ^IndirectReadSideEffect[-1] : &:r2183_4, m2183_3 +# 2183| m2183_10(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2183_4 +# 2183| m2183_11(HasOperatorBool) = Chi : total:m2183_3, partial:m2183_10 +# 2183| r2183_12(bool) = CopyValue : r2183_6 +# 2183| v2183_13(void) = ConditionalBranch : r2183_12 #-----| False -> Block 2 #-----| True -> Block 1 -# 2169| Block 1 -# 2169| v2169_14(void) = NoOp : +# 2183| Block 1 +# 2183| v2183_14(void) = NoOp : #-----| Goto -> Block 2 -# 2170| Block 2 -# 2170| v2170_1(void) = NoOp : -# 2168| v2168_5(void) = ReturnVoid : -# 2168| v2168_6(void) = AliasedUse : ~m2169_8 -# 2168| v2168_7(void) = ExitFunction : - -# 2172| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2172| Block 0 -# 2172| v2172_1(void) = EnterFunction : -# 2172| m2172_2(unknown) = AliasedDefinition : -# 2172| m2172_3(unknown) = InitializeNonLocal : -# 2172| m2172_4(unknown) = Chi : total:m2172_2, partial:m2172_3 -# 2172| r2172_5(glval) = VariableAddress[#this] : -# 2172| m2172_6(glval) = InitializeParameter[#this] : &:r2172_5 -# 2172| r2172_7(glval) = Load[#this] : &:r2172_5, m2172_6 -# 2172| m2172_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2172_7 +# 2184| Block 2 +# 2184| v2184_1(void) = NoOp : +# 2182| v2182_5(void) = ReturnVoid : +# 2182| v2182_6(void) = AliasedUse : ~m2183_8 +# 2182| v2182_7(void) = ExitFunction : + +# 2186| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2186| Block 0 +# 2186| v2186_1(void) = EnterFunction : +# 2186| m2186_2(unknown) = AliasedDefinition : +# 2186| m2186_3(unknown) = InitializeNonLocal : +# 2186| m2186_4(unknown) = Chi : total:m2186_2, partial:m2186_3 +# 2186| r2186_5(glval) = VariableAddress[#this] : +# 2186| m2186_6(glval) = InitializeParameter[#this] : &:r2186_5 +# 2186| r2186_7(glval) = Load[#this] : &:r2186_5, m2186_6 +# 2186| m2186_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2186_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 -# 2172| r2172_9(glval) = FieldAddress[x] : m2172_6 -# 2172| r2172_10(glval) = VariableAddress[(unnamed parameter 0)] : -# 2172| r2172_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2172_10, m0_2 -# 2172| r2172_12(glval) = CopyValue : r2172_11 -# 2172| r2172_13(glval) = FieldAddress[x] : r2172_12 -# 2172| r2172_14(char *) = Load[?] : &:r2172_13, ~m0_4 -# 2172| m2172_15(char *) = Store[?] : &:r2172_9, r2172_14 -# 2172| m2172_16(unknown) = Chi : total:m2172_8, partial:m2172_15 -# 2172| v2172_17(void) = NoOp : -# 2172| v2172_18(void) = ReturnIndirection[#this] : &:r2172_7, m2172_16 +# 2186| r2186_9(glval) = FieldAddress[x] : m2186_6 +# 2186| r2186_10(glval) = VariableAddress[(unnamed parameter 0)] : +# 2186| r2186_11(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2186_10, m0_2 +# 2186| r2186_12(glval) = CopyValue : r2186_11 +# 2186| r2186_13(glval) = FieldAddress[x] : r2186_12 +# 2186| r2186_14(char *) = Load[?] : &:r2186_13, ~m0_4 +# 2186| m2186_15(char *) = Store[?] : &:r2186_9, r2186_14 +# 2186| m2186_16(unknown) = Chi : total:m2186_8, partial:m2186_15 +# 2186| v2186_17(void) = NoOp : +# 2186| v2186_18(void) = ReturnIndirection[#this] : &:r2186_7, m2186_16 #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, m0_4 -# 2172| v2172_19(void) = ReturnVoid : -# 2172| v2172_20(void) = AliasedUse : m2172_3 -# 2172| v2172_21(void) = ExitFunction : - -# 2175| void ClassWithDestructor::ClassWithDestructor() -# 2175| Block 0 -# 2175| v2175_1(void) = EnterFunction : -# 2175| m2175_2(unknown) = AliasedDefinition : -# 2175| m2175_3(unknown) = InitializeNonLocal : -# 2175| m2175_4(unknown) = Chi : total:m2175_2, partial:m2175_3 -# 2175| r2175_5(glval) = VariableAddress[#this] : -# 2175| m2175_6(glval) = InitializeParameter[#this] : &:r2175_5 -# 2175| r2175_7(glval) = Load[#this] : &:r2175_5, m2175_6 -# 2175| m2175_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2175_7 -# 2175| r2175_9(glval) = FunctionAddress[operator new] : -# 2175| r2175_10(unsigned long) = Constant[1] : -# 2175| r2175_11(void *) = Call[operator new] : func:r2175_9, 0:r2175_10 -# 2175| m2175_12(unknown) = ^CallSideEffect : ~m2175_4 -# 2175| m2175_13(unknown) = Chi : total:m2175_4, partial:m2175_12 -# 2175| m2175_14(unknown) = ^InitializeDynamicAllocation : &:r2175_11 -# 2175| r2175_15(char *) = Convert : r2175_11 -# 2175| r2175_16(glval) = VariableAddress[#this] : -# 2175| r2175_17(ClassWithDestructor *) = Load[#this] : &:r2175_16, m2175_6 -# 2175| r2175_18(glval) = FieldAddress[x] : r2175_17 -# 2175| m2175_19(char *) = Store[?] : &:r2175_18, r2175_15 -# 2175| m2175_20(unknown) = Chi : total:m2175_8, partial:m2175_19 -# 2175| v2175_21(void) = NoOp : -# 2175| v2175_22(void) = ReturnIndirection[#this] : &:r2175_7, m2175_20 -# 2175| v2175_23(void) = ReturnVoid : -# 2175| v2175_24(void) = AliasedUse : ~m2175_13 -# 2175| v2175_25(void) = ExitFunction : - -# 2176| void ClassWithDestructor::~ClassWithDestructor() -# 2176| Block 0 -# 2176| v2176_1(void) = EnterFunction : -# 2176| m2176_2(unknown) = AliasedDefinition : -# 2176| m2176_3(unknown) = InitializeNonLocal : -# 2176| m2176_4(unknown) = Chi : total:m2176_2, partial:m2176_3 -# 2176| r2176_5(glval) = VariableAddress[#this] : -# 2176| m2176_6(glval) = InitializeParameter[#this] : &:r2176_5 -# 2176| r2176_7(glval) = Load[#this] : &:r2176_5, m2176_6 -# 2176| m2176_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2176_7 -# 2176| r2176_9(glval) = FunctionAddress[operator delete] : -# 2176| r2176_10(glval) = VariableAddress[#this] : -# 2176| r2176_11(ClassWithDestructor *) = Load[#this] : &:r2176_10, m2176_6 -# 2176| r2176_12(glval) = FieldAddress[x] : r2176_11 -# 2176| r2176_13(char *) = Load[?] : &:r2176_12, ~m2176_8 -# 2176| v2176_14(void) = Call[operator delete] : func:r2176_9, 0:r2176_13 -# 2176| m2176_15(unknown) = ^CallSideEffect : ~m2176_4 -# 2176| m2176_16(unknown) = Chi : total:m2176_4, partial:m2176_15 -# 2176| v2176_17(void) = NoOp : -# 2176| v2176_18(void) = ReturnIndirection[#this] : &:r2176_7, m2176_8 -# 2176| v2176_19(void) = ReturnVoid : -# 2176| v2176_20(void) = AliasedUse : ~m2176_16 -# 2176| v2176_21(void) = ExitFunction : - -# 2178| void ClassWithDestructor::set_x(char) -# 2178| Block 0 -# 2178| v2178_1(void) = EnterFunction : -# 2178| m2178_2(unknown) = AliasedDefinition : -# 2178| m2178_3(unknown) = InitializeNonLocal : -# 2178| m2178_4(unknown) = Chi : total:m2178_2, partial:m2178_3 -# 2178| r2178_5(glval) = VariableAddress[#this] : -# 2178| m2178_6(glval) = InitializeParameter[#this] : &:r2178_5 -# 2178| r2178_7(glval) = Load[#this] : &:r2178_5, m2178_6 -# 2178| m2178_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2178_7 -# 2178| r2178_9(glval) = VariableAddress[y] : -# 2178| m2178_10(char) = InitializeParameter[y] : &:r2178_9 -# 2178| r2178_11(glval) = VariableAddress[y] : -# 2178| r2178_12(char) = Load[y] : &:r2178_11, m2178_10 -# 2178| r2178_13(glval) = VariableAddress[#this] : -# 2178| r2178_14(ClassWithDestructor *) = Load[#this] : &:r2178_13, m2178_6 -# 2178| r2178_15(glval) = FieldAddress[x] : r2178_14 -# 2178| r2178_16(char *) = Load[?] : &:r2178_15, ~m2178_8 -# 2178| r2178_17(glval) = CopyValue : r2178_16 -# 2178| m2178_18(char) = Store[?] : &:r2178_17, r2178_12 -# 2178| m2178_19(unknown) = Chi : total:m2178_4, partial:m2178_18 -# 2178| v2178_20(void) = NoOp : -# 2178| v2178_21(void) = ReturnIndirection[#this] : &:r2178_7, m2178_8 -# 2178| v2178_22(void) = ReturnVoid : -# 2178| v2178_23(void) = AliasedUse : ~m2178_19 -# 2178| v2178_24(void) = ExitFunction : - -# 2179| char ClassWithDestructor::get_x() -# 2179| Block 0 -# 2179| v2179_1(void) = EnterFunction : -# 2179| m2179_2(unknown) = AliasedDefinition : -# 2179| m2179_3(unknown) = InitializeNonLocal : -# 2179| m2179_4(unknown) = Chi : total:m2179_2, partial:m2179_3 -# 2179| r2179_5(glval) = VariableAddress[#this] : -# 2179| m2179_6(glval) = InitializeParameter[#this] : &:r2179_5 -# 2179| r2179_7(glval) = Load[#this] : &:r2179_5, m2179_6 -# 2179| m2179_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2179_7 -# 2179| r2179_9(glval) = VariableAddress[#return] : -# 2179| r2179_10(glval) = VariableAddress[#this] : -# 2179| r2179_11(ClassWithDestructor *) = Load[#this] : &:r2179_10, m2179_6 -# 2179| r2179_12(glval) = FieldAddress[x] : r2179_11 -# 2179| r2179_13(char *) = Load[?] : &:r2179_12, ~m2179_8 -# 2179| r2179_14(char) = Load[?] : &:r2179_13, ~m2179_4 -# 2179| m2179_15(char) = Store[#return] : &:r2179_9, r2179_14 -# 2179| v2179_16(void) = ReturnIndirection[#this] : &:r2179_7, m2179_8 -# 2179| r2179_17(glval) = VariableAddress[#return] : -# 2179| v2179_18(void) = ReturnValue : &:r2179_17, m2179_15 -# 2179| v2179_19(void) = AliasedUse : m2179_3 -# 2179| v2179_20(void) = ExitFunction : - -# 2182| bool initialization_with_destructor_bool -# 2182| Block 0 -# 2182| v2182_1(void) = EnterFunction : -# 2182| m2182_2(unknown) = AliasedDefinition : -# 2182| r2182_3(glval) = VariableAddress[initialization_with_destructor_bool] : -# 2182| r2182_4(bool) = Constant[1] : -# 2182| m2182_5(bool) = Store[initialization_with_destructor_bool] : &:r2182_3, r2182_4 -# 2182| m2182_6(unknown) = Chi : total:m2182_2, partial:m2182_5 -# 2182| v2182_7(void) = ReturnVoid : -# 2182| v2182_8(void) = AliasedUse : ~m2182_6 -# 2182| v2182_9(void) = ExitFunction : - -# 2184| void initialization_with_destructor(bool, char) -# 2184| Block 0 -# 2184| v2184_1(void) = EnterFunction : -# 2184| m2184_2(unknown) = AliasedDefinition : -# 2184| m2184_3(unknown) = InitializeNonLocal : -# 2184| m2184_4(unknown) = Chi : total:m2184_2, partial:m2184_3 -# 2184| r2184_5(glval) = VariableAddress[b] : -# 2184| m2184_6(bool) = InitializeParameter[b] : &:r2184_5 -# 2184| r2184_7(glval) = VariableAddress[c] : -# 2184| m2184_8(char) = InitializeParameter[c] : &:r2184_7 -# 2185| r2185_1(glval) = VariableAddress[x] : -# 2185| m2185_2(ClassWithDestructor) = Uninitialized[x] : &:r2185_1 -# 2185| r2185_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2185| v2185_4(void) = Call[ClassWithDestructor] : func:r2185_3, this:r2185_1 -# 2185| m2185_5(unknown) = ^CallSideEffect : ~m2184_4 -# 2185| m2185_6(unknown) = Chi : total:m2184_4, partial:m2185_5 -# 2185| m2185_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1 -# 2185| m2185_8(ClassWithDestructor) = Chi : total:m2185_2, partial:m2185_7 -# 2185| r2185_9(glval) = VariableAddress[b] : -# 2185| r2185_10(bool) = Load[b] : &:r2185_9, m2184_6 -# 2185| v2185_11(void) = ConditionalBranch : r2185_10 +# 2186| v2186_19(void) = ReturnVoid : +# 2186| v2186_20(void) = AliasedUse : m2186_3 +# 2186| v2186_21(void) = ExitFunction : + +# 2189| void ClassWithDestructor::ClassWithDestructor() +# 2189| Block 0 +# 2189| v2189_1(void) = EnterFunction : +# 2189| m2189_2(unknown) = AliasedDefinition : +# 2189| m2189_3(unknown) = InitializeNonLocal : +# 2189| m2189_4(unknown) = Chi : total:m2189_2, partial:m2189_3 +# 2189| r2189_5(glval) = VariableAddress[#this] : +# 2189| m2189_6(glval) = InitializeParameter[#this] : &:r2189_5 +# 2189| r2189_7(glval) = Load[#this] : &:r2189_5, m2189_6 +# 2189| m2189_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2189_7 +# 2189| r2189_9(glval) = FunctionAddress[operator new] : +# 2189| r2189_10(unsigned long) = Constant[1] : +# 2189| r2189_11(void *) = Call[operator new] : func:r2189_9, 0:r2189_10 +# 2189| m2189_12(unknown) = ^CallSideEffect : ~m2189_4 +# 2189| m2189_13(unknown) = Chi : total:m2189_4, partial:m2189_12 +# 2189| m2189_14(unknown) = ^InitializeDynamicAllocation : &:r2189_11 +# 2189| r2189_15(char *) = Convert : r2189_11 +# 2189| r2189_16(glval) = VariableAddress[#this] : +# 2189| r2189_17(ClassWithDestructor *) = Load[#this] : &:r2189_16, m2189_6 +# 2189| r2189_18(glval) = FieldAddress[x] : r2189_17 +# 2189| m2189_19(char *) = Store[?] : &:r2189_18, r2189_15 +# 2189| m2189_20(unknown) = Chi : total:m2189_8, partial:m2189_19 +# 2189| v2189_21(void) = NoOp : +# 2189| v2189_22(void) = ReturnIndirection[#this] : &:r2189_7, m2189_20 +# 2189| v2189_23(void) = ReturnVoid : +# 2189| v2189_24(void) = AliasedUse : ~m2189_13 +# 2189| v2189_25(void) = ExitFunction : + +# 2190| void ClassWithDestructor::~ClassWithDestructor() +# 2190| Block 0 +# 2190| v2190_1(void) = EnterFunction : +# 2190| m2190_2(unknown) = AliasedDefinition : +# 2190| m2190_3(unknown) = InitializeNonLocal : +# 2190| m2190_4(unknown) = Chi : total:m2190_2, partial:m2190_3 +# 2190| r2190_5(glval) = VariableAddress[#this] : +# 2190| m2190_6(glval) = InitializeParameter[#this] : &:r2190_5 +# 2190| r2190_7(glval) = Load[#this] : &:r2190_5, m2190_6 +# 2190| m2190_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2190_7 +# 2190| r2190_9(glval) = FunctionAddress[operator delete] : +# 2190| r2190_10(glval) = VariableAddress[#this] : +# 2190| r2190_11(ClassWithDestructor *) = Load[#this] : &:r2190_10, m2190_6 +# 2190| r2190_12(glval) = FieldAddress[x] : r2190_11 +# 2190| r2190_13(char *) = Load[?] : &:r2190_12, ~m2190_8 +# 2190| v2190_14(void) = Call[operator delete] : func:r2190_9, 0:r2190_13 +# 2190| m2190_15(unknown) = ^CallSideEffect : ~m2190_4 +# 2190| m2190_16(unknown) = Chi : total:m2190_4, partial:m2190_15 +# 2190| v2190_17(void) = NoOp : +# 2190| v2190_18(void) = ReturnIndirection[#this] : &:r2190_7, m2190_8 +# 2190| v2190_19(void) = ReturnVoid : +# 2190| v2190_20(void) = AliasedUse : ~m2190_16 +# 2190| v2190_21(void) = ExitFunction : + +# 2192| void ClassWithDestructor::set_x(char) +# 2192| Block 0 +# 2192| v2192_1(void) = EnterFunction : +# 2192| m2192_2(unknown) = AliasedDefinition : +# 2192| m2192_3(unknown) = InitializeNonLocal : +# 2192| m2192_4(unknown) = Chi : total:m2192_2, partial:m2192_3 +# 2192| r2192_5(glval) = VariableAddress[#this] : +# 2192| m2192_6(glval) = InitializeParameter[#this] : &:r2192_5 +# 2192| r2192_7(glval) = Load[#this] : &:r2192_5, m2192_6 +# 2192| m2192_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2192_7 +# 2192| r2192_9(glval) = VariableAddress[y] : +# 2192| m2192_10(char) = InitializeParameter[y] : &:r2192_9 +# 2192| r2192_11(glval) = VariableAddress[y] : +# 2192| r2192_12(char) = Load[y] : &:r2192_11, m2192_10 +# 2192| r2192_13(glval) = VariableAddress[#this] : +# 2192| r2192_14(ClassWithDestructor *) = Load[#this] : &:r2192_13, m2192_6 +# 2192| r2192_15(glval) = FieldAddress[x] : r2192_14 +# 2192| r2192_16(char *) = Load[?] : &:r2192_15, ~m2192_8 +# 2192| r2192_17(glval) = CopyValue : r2192_16 +# 2192| m2192_18(char) = Store[?] : &:r2192_17, r2192_12 +# 2192| m2192_19(unknown) = Chi : total:m2192_4, partial:m2192_18 +# 2192| v2192_20(void) = NoOp : +# 2192| v2192_21(void) = ReturnIndirection[#this] : &:r2192_7, m2192_8 +# 2192| v2192_22(void) = ReturnVoid : +# 2192| v2192_23(void) = AliasedUse : ~m2192_19 +# 2192| v2192_24(void) = ExitFunction : + +# 2193| char ClassWithDestructor::get_x() +# 2193| Block 0 +# 2193| v2193_1(void) = EnterFunction : +# 2193| m2193_2(unknown) = AliasedDefinition : +# 2193| m2193_3(unknown) = InitializeNonLocal : +# 2193| m2193_4(unknown) = Chi : total:m2193_2, partial:m2193_3 +# 2193| r2193_5(glval) = VariableAddress[#this] : +# 2193| m2193_6(glval) = InitializeParameter[#this] : &:r2193_5 +# 2193| r2193_7(glval) = Load[#this] : &:r2193_5, m2193_6 +# 2193| m2193_8(ClassWithDestructor) = InitializeIndirection[#this] : &:r2193_7 +# 2193| r2193_9(glval) = VariableAddress[#return] : +# 2193| r2193_10(glval) = VariableAddress[#this] : +# 2193| r2193_11(ClassWithDestructor *) = Load[#this] : &:r2193_10, m2193_6 +# 2193| r2193_12(glval) = FieldAddress[x] : r2193_11 +# 2193| r2193_13(char *) = Load[?] : &:r2193_12, ~m2193_8 +# 2193| r2193_14(char) = Load[?] : &:r2193_13, ~m2193_4 +# 2193| m2193_15(char) = Store[#return] : &:r2193_9, r2193_14 +# 2193| v2193_16(void) = ReturnIndirection[#this] : &:r2193_7, m2193_8 +# 2193| r2193_17(glval) = VariableAddress[#return] : +# 2193| v2193_18(void) = ReturnValue : &:r2193_17, m2193_15 +# 2193| v2193_19(void) = AliasedUse : m2193_3 +# 2193| v2193_20(void) = ExitFunction : + +# 2196| bool initialization_with_destructor_bool +# 2196| Block 0 +# 2196| v2196_1(void) = EnterFunction : +# 2196| m2196_2(unknown) = AliasedDefinition : +# 2196| r2196_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2196| r2196_4(bool) = Constant[1] : +# 2196| m2196_5(bool) = Store[initialization_with_destructor_bool] : &:r2196_3, r2196_4 +# 2196| m2196_6(unknown) = Chi : total:m2196_2, partial:m2196_5 +# 2196| v2196_7(void) = ReturnVoid : +# 2196| v2196_8(void) = AliasedUse : ~m2196_6 +# 2196| v2196_9(void) = ExitFunction : + +# 2198| void initialization_with_destructor(bool, char) +# 2198| Block 0 +# 2198| v2198_1(void) = EnterFunction : +# 2198| m2198_2(unknown) = AliasedDefinition : +# 2198| m2198_3(unknown) = InitializeNonLocal : +# 2198| m2198_4(unknown) = Chi : total:m2198_2, partial:m2198_3 +# 2198| r2198_5(glval) = VariableAddress[b] : +# 2198| m2198_6(bool) = InitializeParameter[b] : &:r2198_5 +# 2198| r2198_7(glval) = VariableAddress[c] : +# 2198| m2198_8(char) = InitializeParameter[c] : &:r2198_7 +# 2199| r2199_1(glval) = VariableAddress[x] : +# 2199| m2199_2(ClassWithDestructor) = Uninitialized[x] : &:r2199_1 +# 2199| r2199_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2199| v2199_4(void) = Call[ClassWithDestructor] : func:r2199_3, this:r2199_1 +# 2199| m2199_5(unknown) = ^CallSideEffect : ~m2198_4 +# 2199| m2199_6(unknown) = Chi : total:m2198_4, partial:m2199_5 +# 2199| m2199_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1 +# 2199| m2199_8(ClassWithDestructor) = Chi : total:m2199_2, partial:m2199_7 +# 2199| r2199_9(glval) = VariableAddress[b] : +# 2199| r2199_10(bool) = Load[b] : &:r2199_9, m2198_6 +# 2199| v2199_11(void) = ConditionalBranch : r2199_10 #-----| False -> Block 3 #-----| True -> Block 2 -# 2184| Block 1 -# 2184| m2184_9(unknown) = Phi : from 13:~m2219_5, from 19:~m2219_13, from 23:~m2219_22 -# 2184| v2184_10(void) = ReturnVoid : -# 2184| v2184_11(void) = AliasedUse : ~m2184_9 -# 2184| v2184_12(void) = ExitFunction : - -# 2186| Block 2 -# 2186| r2186_1(glval) = VariableAddress[x] : -# 2186| r2186_2(glval) = FunctionAddress[set_x] : -# 2186| r2186_3(char) = Constant[97] : -# 2186| v2186_4(void) = Call[set_x] : func:r2186_2, this:r2186_1, 0:r2186_3 -# 2186| m2186_5(unknown) = ^CallSideEffect : ~m2185_6 -# 2186| m2186_6(unknown) = Chi : total:m2185_6, partial:m2186_5 -# 2186| v2186_7(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, m2185_8 -# 2186| m2186_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 -# 2186| m2186_9(ClassWithDestructor) = Chi : total:m2185_8, partial:m2186_8 -# 2186| r2186_10(glval) = VariableAddress[x] : -# 2186| r2186_11(glval) = FunctionAddress[~ClassWithDestructor] : -# 2186| v2186_12(void) = Call[~ClassWithDestructor] : func:r2186_11, this:r2186_10 -# 2186| m2186_13(unknown) = ^CallSideEffect : ~m2186_6 -# 2186| m2186_14(unknown) = Chi : total:m2186_6, partial:m2186_13 -# 2186| v2186_15(void) = ^IndirectReadSideEffect[-1] : &:r2186_10, m2186_9 -# 2186| m2186_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_10 -# 2186| m2186_17(ClassWithDestructor) = Chi : total:m2186_9, partial:m2186_16 +# 2198| Block 1 +# 2198| m2198_9(unknown) = Phi : from 13:~m2233_5, from 19:~m2233_13, from 23:~m2233_22 +# 2198| v2198_10(void) = ReturnVoid : +# 2198| v2198_11(void) = AliasedUse : ~m2198_9 +# 2198| v2198_12(void) = ExitFunction : + +# 2200| Block 2 +# 2200| r2200_1(glval) = VariableAddress[x] : +# 2200| r2200_2(glval) = FunctionAddress[set_x] : +# 2200| r2200_3(char) = Constant[97] : +# 2200| v2200_4(void) = Call[set_x] : func:r2200_2, this:r2200_1, 0:r2200_3 +# 2200| m2200_5(unknown) = ^CallSideEffect : ~m2199_6 +# 2200| m2200_6(unknown) = Chi : total:m2199_6, partial:m2200_5 +# 2200| v2200_7(void) = ^IndirectReadSideEffect[-1] : &:r2200_1, m2199_8 +# 2200| m2200_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 +# 2200| m2200_9(ClassWithDestructor) = Chi : total:m2199_8, partial:m2200_8 +# 2200| r2200_10(glval) = VariableAddress[x] : +# 2200| r2200_11(glval) = FunctionAddress[~ClassWithDestructor] : +# 2200| v2200_12(void) = Call[~ClassWithDestructor] : func:r2200_11, this:r2200_10 +# 2200| m2200_13(unknown) = ^CallSideEffect : ~m2200_6 +# 2200| m2200_14(unknown) = Chi : total:m2200_6, partial:m2200_13 +# 2200| v2200_15(void) = ^IndirectReadSideEffect[-1] : &:r2200_10, m2200_9 +# 2200| m2200_16(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_10 +# 2200| m2200_17(ClassWithDestructor) = Chi : total:m2200_9, partial:m2200_16 #-----| Goto -> Block 3 -# 2188| Block 3 -# 2188| m2188_1(unknown) = Phi : from 0:~m2185_6, from 2:~m2186_14 -# 2188| r2188_2(glval) = VariableAddress[x] : -# 2188| m2188_3(ClassWithDestructor) = Uninitialized[x] : &:r2188_2 -# 2188| r2188_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2188| v2188_5(void) = Call[ClassWithDestructor] : func:r2188_4, this:r2188_2 -# 2188| m2188_6(unknown) = ^CallSideEffect : ~m2188_1 -# 2188| m2188_7(unknown) = Chi : total:m2188_1, partial:m2188_6 -# 2188| m2188_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_2 -# 2188| m2188_9(ClassWithDestructor) = Chi : total:m2188_3, partial:m2188_8 -# 2188| r2188_10(bool) = Constant[1] : -# 2188| v2188_11(void) = ConditionalBranch : r2188_10 +# 2202| Block 3 +# 2202| m2202_1(unknown) = Phi : from 0:~m2199_6, from 2:~m2200_14 +# 2202| r2202_2(glval) = VariableAddress[x] : +# 2202| m2202_3(ClassWithDestructor) = Uninitialized[x] : &:r2202_2 +# 2202| r2202_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2202| v2202_5(void) = Call[ClassWithDestructor] : func:r2202_4, this:r2202_2 +# 2202| m2202_6(unknown) = ^CallSideEffect : ~m2202_1 +# 2202| m2202_7(unknown) = Chi : total:m2202_1, partial:m2202_6 +# 2202| m2202_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_2 +# 2202| m2202_9(ClassWithDestructor) = Chi : total:m2202_3, partial:m2202_8 +# 2202| r2202_10(bool) = Constant[1] : +# 2202| v2202_11(void) = ConditionalBranch : r2202_10 #-----| False -> Block 24 #-----| True -> Block 4 -# 2189| Block 4 -# 2189| r2189_1(glval) = VariableAddress[x] : -# 2189| r2189_2(glval) = FunctionAddress[set_x] : -# 2189| r2189_3(char) = Constant[97] : -# 2189| v2189_4(void) = Call[set_x] : func:r2189_2, this:r2189_1, 0:r2189_3 -# 2189| m2189_5(unknown) = ^CallSideEffect : ~m2188_7 -# 2189| m2189_6(unknown) = Chi : total:m2188_7, partial:m2189_5 -# 2189| v2189_7(void) = ^IndirectReadSideEffect[-1] : &:r2189_1, m2188_9 -# 2189| m2189_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_1 -# 2189| m2189_9(ClassWithDestructor) = Chi : total:m2188_9, partial:m2189_8 -# 2191| r2191_1(glval) = VariableAddress[x] : -# 2191| m2191_2(ClassWithDestructor) = Uninitialized[x] : &:r2191_1 -# 2191| r2191_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2191| v2191_4(void) = Call[ClassWithDestructor] : func:r2191_3, this:r2191_1 -# 2191| m2191_5(unknown) = ^CallSideEffect : ~m2189_6 -# 2191| m2191_6(unknown) = Chi : total:m2189_6, partial:m2191_5 -# 2191| m2191_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2191_1 -# 2191| m2191_8(ClassWithDestructor) = Chi : total:m2191_2, partial:m2191_7 -# 2191| r2191_9(glval) = VariableAddress[c] : -# 2191| r2191_10(char) = Load[c] : &:r2191_9, m2184_8 -# 2191| r2191_11(int) = Convert : r2191_10 -# 2191| v2191_12(void) = Switch : r2191_11 +# 2203| Block 4 +# 2203| r2203_1(glval) = VariableAddress[x] : +# 2203| r2203_2(glval) = FunctionAddress[set_x] : +# 2203| r2203_3(char) = Constant[97] : +# 2203| v2203_4(void) = Call[set_x] : func:r2203_2, this:r2203_1, 0:r2203_3 +# 2203| m2203_5(unknown) = ^CallSideEffect : ~m2202_7 +# 2203| m2203_6(unknown) = Chi : total:m2202_7, partial:m2203_5 +# 2203| v2203_7(void) = ^IndirectReadSideEffect[-1] : &:r2203_1, m2202_9 +# 2203| m2203_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2203_1 +# 2203| m2203_9(ClassWithDestructor) = Chi : total:m2202_9, partial:m2203_8 +# 2205| r2205_1(glval) = VariableAddress[x] : +# 2205| m2205_2(ClassWithDestructor) = Uninitialized[x] : &:r2205_1 +# 2205| r2205_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2205| v2205_4(void) = Call[ClassWithDestructor] : func:r2205_3, this:r2205_1 +# 2205| m2205_5(unknown) = ^CallSideEffect : ~m2203_6 +# 2205| m2205_6(unknown) = Chi : total:m2203_6, partial:m2205_5 +# 2205| m2205_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 +# 2205| m2205_8(ClassWithDestructor) = Chi : total:m2205_2, partial:m2205_7 +# 2205| r2205_9(glval) = VariableAddress[c] : +# 2205| r2205_10(char) = Load[c] : &:r2205_9, m2198_8 +# 2205| r2205_11(int) = Convert : r2205_10 +# 2205| v2205_12(void) = Switch : r2205_11 #-----| Case[97] -> Block 5 #-----| Default -> Block 6 -# 2192| Block 5 -# 2192| v2192_1(void) = NoOp : -# 2193| r2193_1(glval) = VariableAddress[x] : -# 2193| r2193_2(glval) = FunctionAddress[set_x] : -# 2193| r2193_3(char) = Constant[97] : -# 2193| v2193_4(void) = Call[set_x] : func:r2193_2, this:r2193_1, 0:r2193_3 -# 2193| m2193_5(unknown) = ^CallSideEffect : ~m2191_6 -# 2193| m2193_6(unknown) = Chi : total:m2191_6, partial:m2193_5 -# 2193| v2193_7(void) = ^IndirectReadSideEffect[-1] : &:r2193_1, m2191_8 -# 2193| m2193_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2193_1 -# 2193| m2193_9(ClassWithDestructor) = Chi : total:m2191_8, partial:m2193_8 -# 2194| v2194_1(void) = NoOp : +# 2206| Block 5 +# 2206| v2206_1(void) = NoOp : +# 2207| r2207_1(glval) = VariableAddress[x] : +# 2207| r2207_2(glval) = FunctionAddress[set_x] : +# 2207| r2207_3(char) = Constant[97] : +# 2207| v2207_4(void) = Call[set_x] : func:r2207_2, this:r2207_1, 0:r2207_3 +# 2207| m2207_5(unknown) = ^CallSideEffect : ~m2205_6 +# 2207| m2207_6(unknown) = Chi : total:m2205_6, partial:m2207_5 +# 2207| v2207_7(void) = ^IndirectReadSideEffect[-1] : &:r2207_1, m2205_8 +# 2207| m2207_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2207_1 +# 2207| m2207_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2207_8 +# 2208| v2208_1(void) = NoOp : #-----| Goto -> Block 7 -# 2195| Block 6 -# 2195| v2195_1(void) = NoOp : -# 2196| r2196_1(glval) = VariableAddress[x] : -# 2196| r2196_2(glval) = FunctionAddress[set_x] : -# 2196| r2196_3(char) = Constant[98] : -# 2196| v2196_4(void) = Call[set_x] : func:r2196_2, this:r2196_1, 0:r2196_3 -# 2196| m2196_5(unknown) = ^CallSideEffect : ~m2191_6 -# 2196| m2196_6(unknown) = Chi : total:m2191_6, partial:m2196_5 -# 2196| v2196_7(void) = ^IndirectReadSideEffect[-1] : &:r2196_1, m2191_8 -# 2196| m2196_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2196_1 -# 2196| m2196_9(ClassWithDestructor) = Chi : total:m2191_8, partial:m2196_8 -# 2197| v2197_1(void) = NoOp : +# 2209| Block 6 +# 2209| v2209_1(void) = NoOp : +# 2210| r2210_1(glval) = VariableAddress[x] : +# 2210| r2210_2(glval) = FunctionAddress[set_x] : +# 2210| r2210_3(char) = Constant[98] : +# 2210| v2210_4(void) = Call[set_x] : func:r2210_2, this:r2210_1, 0:r2210_3 +# 2210| m2210_5(unknown) = ^CallSideEffect : ~m2205_6 +# 2210| m2210_6(unknown) = Chi : total:m2205_6, partial:m2210_5 +# 2210| v2210_7(void) = ^IndirectReadSideEffect[-1] : &:r2210_1, m2205_8 +# 2210| m2210_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 +# 2210| m2210_9(ClassWithDestructor) = Chi : total:m2205_8, partial:m2210_8 +# 2211| v2211_1(void) = NoOp : #-----| Goto -> Block 7 -# 2198| Block 7 -# 2198| m2198_1(unknown) = Phi : from 5:~m2193_6, from 6:~m2196_6 -# 2198| v2198_2(void) = NoOp : -# 2200| r2200_1(glval) = VariableAddress[x] : -# 2200| m2200_2(ClassWithDestructor) = Uninitialized[x] : &:r2200_1 -# 2200| r2200_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2200| v2200_4(void) = Call[ClassWithDestructor] : func:r2200_3, this:r2200_1 -# 2200| m2200_5(unknown) = ^CallSideEffect : ~m2198_1 -# 2200| m2200_6(unknown) = Chi : total:m2198_1, partial:m2200_5 -# 2200| m2200_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 -# 2200| m2200_8(ClassWithDestructor) = Chi : total:m2200_2, partial:m2200_7 -# 2201| r2201_1(glval>) = VariableAddress[ys] : -# 2201| m2201_2(vector) = Uninitialized[ys] : &:r2201_1 -# 2201| r2201_3(glval) = FunctionAddress[vector] : -# 2201| r2201_4(glval) = VariableAddress[#temp2201:45] : -# 2201| r2201_5(glval) = VariableAddress[x] : -# 2201| r2201_6(ClassWithDestructor) = Load[x] : &:r2201_5, m2200_8 -# 2201| m2201_7(ClassWithDestructor) = Store[#temp2201:45] : &:r2201_4, r2201_6 -# 2201| r2201_8(ClassWithDestructor) = Load[#temp2201:45] : &:r2201_4, m2201_7 -# 2201| v2201_9(void) = Call[vector] : func:r2201_3, this:r2201_1, 0:r2201_8 -# 2201| m2201_10(unknown) = ^CallSideEffect : ~m2200_6 -# 2201| m2201_11(unknown) = Chi : total:m2200_6, partial:m2201_10 -# 2201| m2201_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_1 -# 2201| m2201_13(vector) = Chi : total:m2201_2, partial:m2201_12 -# 2201| r2201_14(glval &>) = VariableAddress[(__range)] : -# 2201| r2201_15(glval>) = VariableAddress[ys] : -# 2201| r2201_16(vector &) = CopyValue : r2201_15 -# 2201| m2201_17(vector &) = Store[(__range)] : &:r2201_14, r2201_16 -# 2201| r2201_18(glval>) = VariableAddress[(__begin)] : -# 2201| r2201_19(glval &>) = VariableAddress[(__range)] : -# 2201| r2201_20(vector &) = Load[(__range)] : &:r2201_19, m2201_17 -#-----| r0_1(glval>) = CopyValue : r2201_20 +# 2212| Block 7 +# 2212| m2212_1(unknown) = Phi : from 5:~m2207_6, from 6:~m2210_6 +# 2212| v2212_2(void) = NoOp : +# 2214| r2214_1(glval) = VariableAddress[x] : +# 2214| m2214_2(ClassWithDestructor) = Uninitialized[x] : &:r2214_1 +# 2214| r2214_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2214| v2214_4(void) = Call[ClassWithDestructor] : func:r2214_3, this:r2214_1 +# 2214| m2214_5(unknown) = ^CallSideEffect : ~m2212_1 +# 2214| m2214_6(unknown) = Chi : total:m2212_1, partial:m2214_5 +# 2214| m2214_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1 +# 2214| m2214_8(ClassWithDestructor) = Chi : total:m2214_2, partial:m2214_7 +# 2215| r2215_1(glval>) = VariableAddress[ys] : +# 2215| m2215_2(vector) = Uninitialized[ys] : &:r2215_1 +# 2215| r2215_3(glval) = FunctionAddress[vector] : +# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : +# 2215| r2215_5(glval) = VariableAddress[x] : +# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, m2214_8 +# 2215| m2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 +# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, m2215_7 +# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 +# 2215| m2215_10(unknown) = ^CallSideEffect : ~m2214_6 +# 2215| m2215_11(unknown) = Chi : total:m2214_6, partial:m2215_10 +# 2215| m2215_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 +# 2215| m2215_13(vector) = Chi : total:m2215_2, partial:m2215_12 +# 2215| r2215_14(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_15(glval>) = VariableAddress[ys] : +# 2215| r2215_16(vector &) = CopyValue : r2215_15 +# 2215| m2215_17(vector &) = Store[(__range)] : &:r2215_14, r2215_16 +# 2215| r2215_18(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_19(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_20(vector &) = Load[(__range)] : &:r2215_19, m2215_17 +#-----| r0_1(glval>) = CopyValue : r2215_20 #-----| r0_2(glval>) = Convert : r0_1 -# 2201| r2201_21(glval) = FunctionAddress[begin] : -# 2201| r2201_22(iterator) = Call[begin] : func:r2201_21, this:r0_2 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2201_13 -# 2201| m2201_23(iterator) = Store[(__begin)] : &:r2201_18, r2201_22 -# 2201| r2201_24(glval>) = VariableAddress[(__end)] : -# 2201| r2201_25(glval &>) = VariableAddress[(__range)] : -# 2201| r2201_26(vector &) = Load[(__range)] : &:r2201_25, m2201_17 -#-----| r0_4(glval>) = CopyValue : r2201_26 +# 2215| r2215_21(glval) = FunctionAddress[begin] : +# 2215| r2215_22(iterator) = Call[begin] : func:r2215_21, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2215_13 +# 2215| m2215_23(iterator) = Store[(__begin)] : &:r2215_18, r2215_22 +# 2215| r2215_24(glval>) = VariableAddress[(__end)] : +# 2215| r2215_25(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_26(vector &) = Load[(__range)] : &:r2215_25, m2215_17 +#-----| r0_4(glval>) = CopyValue : r2215_26 #-----| r0_5(glval>) = Convert : r0_4 -# 2201| r2201_27(glval) = FunctionAddress[end] : -# 2201| r2201_28(iterator) = Call[end] : func:r2201_27, this:r0_5 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2201_13 -# 2201| m2201_29(iterator) = Store[(__end)] : &:r2201_24, r2201_28 +# 2215| r2215_27(glval) = FunctionAddress[end] : +# 2215| r2215_28(iterator) = Call[end] : func:r2215_27, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2215_13 +# 2215| m2215_29(iterator) = Store[(__end)] : &:r2215_24, r2215_28 #-----| Goto -> Block 8 -# 2201| Block 8 -# 2201| m2201_30(iterator) = Phi : from 7:m2201_23, from 9:m2201_68 -# 2201| m2201_31(unknown) = Phi : from 7:~m2201_11, from 9:~m2201_65 -# 2201| r2201_32(glval>) = VariableAddress[(__begin)] : -#-----| r0_7(glval>) = Convert : r2201_32 -# 2201| r2201_33(glval) = FunctionAddress[operator!=] : +# 2215| Block 8 +# 2215| m2215_30(iterator) = Phi : from 7:m2215_23, from 9:m2215_68 +# 2215| m2215_31(unknown) = Phi : from 7:~m2215_11, from 9:~m2215_65 +# 2215| r2215_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2215_32 +# 2215| r2215_33(glval) = FunctionAddress[operator!=] : #-----| r0_8(glval>) = VariableAddress[#temp0:0] : #-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 -# 2201| r2201_34(glval) = FunctionAddress[iterator] : -# 2201| r2201_35(glval>) = VariableAddress[(__end)] : -#-----| r0_10(glval>) = Convert : r2201_35 +# 2215| r2215_34(glval) = FunctionAddress[iterator] : +# 2215| r2215_35(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2215_35 #-----| r0_11(iterator &) = CopyValue : r0_10 -# 2201| v2201_36(void) = Call[iterator] : func:r2201_34, this:r0_8, 0:r0_11 -# 2201| m2201_37(unknown) = ^CallSideEffect : ~m2201_31 -# 2201| m2201_38(unknown) = Chi : total:m2201_31, partial:m2201_37 -#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2201_29 -# 2201| m2201_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 -# 2201| m2201_40(iterator) = Chi : total:m0_9, partial:m2201_39 -#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2201_40 -# 2201| r2201_41(bool) = Call[operator!=] : func:r2201_33, this:r0_7, 0:r0_13 -# 2201| m2201_42(unknown) = ^CallSideEffect : ~m2201_38 -# 2201| m2201_43(unknown) = Chi : total:m2201_38, partial:m2201_42 -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2201_30 -# 2201| v2201_44(void) = ConditionalBranch : r2201_41 +# 2215| v2215_36(void) = Call[iterator] : func:r2215_34, this:r0_8, 0:r0_11 +# 2215| m2215_37(unknown) = ^CallSideEffect : ~m2215_31 +# 2215| m2215_38(unknown) = Chi : total:m2215_31, partial:m2215_37 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2215_29 +# 2215| m2215_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2215| m2215_40(iterator) = Chi : total:m0_9, partial:m2215_39 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2215_40 +# 2215| r2215_41(bool) = Call[operator!=] : func:r2215_33, this:r0_7, 0:r0_13 +# 2215| m2215_42(unknown) = ^CallSideEffect : ~m2215_38 +# 2215| m2215_43(unknown) = Chi : total:m2215_38, partial:m2215_42 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2215_30 +# 2215| v2215_44(void) = ConditionalBranch : r2215_41 #-----| False -> Block 10 #-----| True -> Block 9 -# 2201| Block 9 -# 2201| r2201_45(glval) = VariableAddress[y] : -# 2201| r2201_46(glval>) = VariableAddress[(__begin)] : -#-----| r0_15(glval>) = Convert : r2201_46 -# 2201| r2201_47(glval) = FunctionAddress[operator*] : -# 2201| r2201_48(ClassWithDestructor &) = Call[operator*] : func:r2201_47, this:r0_15 -# 2201| m2201_49(unknown) = ^CallSideEffect : ~m2201_43 -# 2201| m2201_50(unknown) = Chi : total:m2201_43, partial:m2201_49 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2201_30 -# 2201| r2201_51(ClassWithDestructor) = Load[?] : &:r2201_48, ~m2201_50 -# 2201| m2201_52(ClassWithDestructor) = Store[y] : &:r2201_45, r2201_51 -# 2202| r2202_1(glval) = VariableAddress[y] : -# 2202| r2202_2(glval) = FunctionAddress[set_x] : -# 2202| r2202_3(char) = Constant[97] : -# 2202| v2202_4(void) = Call[set_x] : func:r2202_2, this:r2202_1, 0:r2202_3 -# 2202| m2202_5(unknown) = ^CallSideEffect : ~m2201_50 -# 2202| m2202_6(unknown) = Chi : total:m2201_50, partial:m2202_5 -# 2202| v2202_7(void) = ^IndirectReadSideEffect[-1] : &:r2202_1, m2201_52 -# 2202| m2202_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 -# 2202| m2202_9(ClassWithDestructor) = Chi : total:m2201_52, partial:m2202_8 -# 2201| r2201_53(glval) = VariableAddress[y] : -# 2201| r2201_54(glval) = FunctionAddress[~ClassWithDestructor] : -# 2201| v2201_55(void) = Call[~ClassWithDestructor] : func:r2201_54, this:r2201_53 -# 2201| m2201_56(unknown) = ^CallSideEffect : ~m2202_6 -# 2201| m2201_57(unknown) = Chi : total:m2202_6, partial:m2201_56 -# 2201| v2201_58(void) = ^IndirectReadSideEffect[-1] : &:r2201_53, m2202_9 -# 2201| m2201_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2201_53 -# 2201| m2201_60(ClassWithDestructor) = Chi : total:m2202_9, partial:m2201_59 -# 2201| r2201_61(glval>) = VariableAddress[(__begin)] : -# 2201| r2201_62(glval) = FunctionAddress[operator++] : -# 2201| r2201_63(iterator &) = Call[operator++] : func:r2201_62, this:r2201_61 -# 2201| m2201_64(unknown) = ^CallSideEffect : ~m2201_57 -# 2201| m2201_65(unknown) = Chi : total:m2201_57, partial:m2201_64 -# 2201| v2201_66(void) = ^IndirectReadSideEffect[-1] : &:r2201_61, m2201_30 -# 2201| m2201_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2201_61 -# 2201| m2201_68(iterator) = Chi : total:m2201_30, partial:m2201_67 -# 2201| r2201_69(glval>) = CopyValue : r2201_63 +# 2215| Block 9 +# 2215| r2215_45(glval) = VariableAddress[y] : +# 2215| r2215_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2215_46 +# 2215| r2215_47(glval) = FunctionAddress[operator*] : +# 2215| r2215_48(ClassWithDestructor &) = Call[operator*] : func:r2215_47, this:r0_15 +# 2215| m2215_49(unknown) = ^CallSideEffect : ~m2215_43 +# 2215| m2215_50(unknown) = Chi : total:m2215_43, partial:m2215_49 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2215_30 +# 2215| r2215_51(ClassWithDestructor) = Load[?] : &:r2215_48, ~m2215_50 +# 2215| m2215_52(ClassWithDestructor) = Store[y] : &:r2215_45, r2215_51 +# 2216| r2216_1(glval) = VariableAddress[y] : +# 2216| r2216_2(glval) = FunctionAddress[set_x] : +# 2216| r2216_3(char) = Constant[97] : +# 2216| v2216_4(void) = Call[set_x] : func:r2216_2, this:r2216_1, 0:r2216_3 +# 2216| m2216_5(unknown) = ^CallSideEffect : ~m2215_50 +# 2216| m2216_6(unknown) = Chi : total:m2215_50, partial:m2216_5 +# 2216| v2216_7(void) = ^IndirectReadSideEffect[-1] : &:r2216_1, m2215_52 +# 2216| m2216_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 +# 2216| m2216_9(ClassWithDestructor) = Chi : total:m2215_52, partial:m2216_8 +# 2215| r2215_53(glval) = VariableAddress[y] : +# 2215| r2215_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2215| v2215_55(void) = Call[~ClassWithDestructor] : func:r2215_54, this:r2215_53 +# 2215| m2215_56(unknown) = ^CallSideEffect : ~m2216_6 +# 2215| m2215_57(unknown) = Chi : total:m2216_6, partial:m2215_56 +# 2215| v2215_58(void) = ^IndirectReadSideEffect[-1] : &:r2215_53, m2216_9 +# 2215| m2215_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_53 +# 2215| m2215_60(ClassWithDestructor) = Chi : total:m2216_9, partial:m2215_59 +# 2215| r2215_61(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_62(glval) = FunctionAddress[operator++] : +# 2215| r2215_63(iterator &) = Call[operator++] : func:r2215_62, this:r2215_61 +# 2215| m2215_64(unknown) = ^CallSideEffect : ~m2215_57 +# 2215| m2215_65(unknown) = Chi : total:m2215_57, partial:m2215_64 +# 2215| v2215_66(void) = ^IndirectReadSideEffect[-1] : &:r2215_61, m2215_30 +# 2215| m2215_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_61 +# 2215| m2215_68(iterator) = Chi : total:m2215_30, partial:m2215_67 +# 2215| r2215_69(glval>) = CopyValue : r2215_63 #-----| Goto (back edge) -> Block 8 -# 2204| Block 10 -# 2204| r2204_1(glval>) = VariableAddress[ys] : -# 2204| m2204_2(vector) = Uninitialized[ys] : &:r2204_1 -# 2204| r2204_3(glval) = FunctionAddress[vector] : -# 2204| r2204_4(glval) = VariableAddress[#temp2204:45] : -# 2204| r2204_5(glval) = VariableAddress[x] : -# 2204| r2204_6(ClassWithDestructor) = Load[x] : &:r2204_5, m2200_8 -# 2204| m2204_7(ClassWithDestructor) = Store[#temp2204:45] : &:r2204_4, r2204_6 -# 2204| r2204_8(ClassWithDestructor) = Load[#temp2204:45] : &:r2204_4, m2204_7 -# 2204| v2204_9(void) = Call[vector] : func:r2204_3, this:r2204_1, 0:r2204_8 -# 2204| m2204_10(unknown) = ^CallSideEffect : ~m2201_43 -# 2204| m2204_11(unknown) = Chi : total:m2201_43, partial:m2204_10 -# 2204| m2204_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1 -# 2204| m2204_13(vector) = Chi : total:m2204_2, partial:m2204_12 -# 2204| r2204_14(glval &>) = VariableAddress[(__range)] : -# 2204| r2204_15(glval>) = VariableAddress[ys] : -# 2204| r2204_16(vector &) = CopyValue : r2204_15 -# 2204| m2204_17(vector &) = Store[(__range)] : &:r2204_14, r2204_16 -# 2204| r2204_18(glval>) = VariableAddress[(__begin)] : -# 2204| r2204_19(glval &>) = VariableAddress[(__range)] : -# 2204| r2204_20(vector &) = Load[(__range)] : &:r2204_19, m2204_17 -#-----| r0_17(glval>) = CopyValue : r2204_20 +# 2218| Block 10 +# 2218| r2218_1(glval>) = VariableAddress[ys] : +# 2218| m2218_2(vector) = Uninitialized[ys] : &:r2218_1 +# 2218| r2218_3(glval) = FunctionAddress[vector] : +# 2218| r2218_4(glval) = VariableAddress[#temp2218:45] : +# 2218| r2218_5(glval) = VariableAddress[x] : +# 2218| r2218_6(ClassWithDestructor) = Load[x] : &:r2218_5, m2214_8 +# 2218| m2218_7(ClassWithDestructor) = Store[#temp2218:45] : &:r2218_4, r2218_6 +# 2218| r2218_8(ClassWithDestructor) = Load[#temp2218:45] : &:r2218_4, m2218_7 +# 2218| v2218_9(void) = Call[vector] : func:r2218_3, this:r2218_1, 0:r2218_8 +# 2218| m2218_10(unknown) = ^CallSideEffect : ~m2215_43 +# 2218| m2218_11(unknown) = Chi : total:m2215_43, partial:m2218_10 +# 2218| m2218_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 +# 2218| m2218_13(vector) = Chi : total:m2218_2, partial:m2218_12 +# 2218| r2218_14(glval &>) = VariableAddress[(__range)] : +# 2218| r2218_15(glval>) = VariableAddress[ys] : +# 2218| r2218_16(vector &) = CopyValue : r2218_15 +# 2218| m2218_17(vector &) = Store[(__range)] : &:r2218_14, r2218_16 +# 2218| r2218_18(glval>) = VariableAddress[(__begin)] : +# 2218| r2218_19(glval &>) = VariableAddress[(__range)] : +# 2218| r2218_20(vector &) = Load[(__range)] : &:r2218_19, m2218_17 +#-----| r0_17(glval>) = CopyValue : r2218_20 #-----| r0_18(glval>) = Convert : r0_17 -# 2204| r2204_21(glval) = FunctionAddress[begin] : -# 2204| r2204_22(iterator) = Call[begin] : func:r2204_21, this:r0_18 -#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, m2204_13 -# 2204| m2204_23(iterator) = Store[(__begin)] : &:r2204_18, r2204_22 -# 2204| r2204_24(glval>) = VariableAddress[(__end)] : -# 2204| r2204_25(glval &>) = VariableAddress[(__range)] : -# 2204| r2204_26(vector &) = Load[(__range)] : &:r2204_25, m2204_17 -#-----| r0_20(glval>) = CopyValue : r2204_26 +# 2218| r2218_21(glval) = FunctionAddress[begin] : +# 2218| r2218_22(iterator) = Call[begin] : func:r2218_21, this:r0_18 +#-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, m2218_13 +# 2218| m2218_23(iterator) = Store[(__begin)] : &:r2218_18, r2218_22 +# 2218| r2218_24(glval>) = VariableAddress[(__end)] : +# 2218| r2218_25(glval &>) = VariableAddress[(__range)] : +# 2218| r2218_26(vector &) = Load[(__range)] : &:r2218_25, m2218_17 +#-----| r0_20(glval>) = CopyValue : r2218_26 #-----| r0_21(glval>) = Convert : r0_20 -# 2204| r2204_27(glval) = FunctionAddress[end] : -# 2204| r2204_28(iterator) = Call[end] : func:r2204_27, this:r0_21 -#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, m2204_13 -# 2204| m2204_29(iterator) = Store[(__end)] : &:r2204_24, r2204_28 +# 2218| r2218_27(glval) = FunctionAddress[end] : +# 2218| r2218_28(iterator) = Call[end] : func:r2218_27, this:r0_21 +#-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, m2218_13 +# 2218| m2218_29(iterator) = Store[(__end)] : &:r2218_24, r2218_28 #-----| Goto -> Block 11 -# 2204| Block 11 -# 2204| m2204_30(iterator) = Phi : from 10:m2204_23, from 14:m2204_84 -# 2204| m2204_31(unknown) = Phi : from 10:~m2204_11, from 14:~m2204_81 -# 2204| r2204_32(glval>) = VariableAddress[(__begin)] : -#-----| r0_23(glval>) = Convert : r2204_32 -# 2204| r2204_33(glval) = FunctionAddress[operator!=] : +# 2218| Block 11 +# 2218| m2218_30(iterator) = Phi : from 10:m2218_23, from 14:m2218_84 +# 2218| m2218_31(unknown) = Phi : from 10:~m2218_11, from 14:~m2218_81 +# 2218| r2218_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_23(glval>) = Convert : r2218_32 +# 2218| r2218_33(glval) = FunctionAddress[operator!=] : #-----| r0_24(glval>) = VariableAddress[#temp0:0] : #-----| m0_25(iterator) = Uninitialized[#temp0:0] : &:r0_24 -# 2204| r2204_34(glval) = FunctionAddress[iterator] : -# 2204| r2204_35(glval>) = VariableAddress[(__end)] : -#-----| r0_26(glval>) = Convert : r2204_35 +# 2218| r2218_34(glval) = FunctionAddress[iterator] : +# 2218| r2218_35(glval>) = VariableAddress[(__end)] : +#-----| r0_26(glval>) = Convert : r2218_35 #-----| r0_27(iterator &) = CopyValue : r0_26 -# 2204| v2204_36(void) = Call[iterator] : func:r2204_34, this:r0_24, 0:r0_27 -# 2204| m2204_37(unknown) = ^CallSideEffect : ~m2204_31 -# 2204| m2204_38(unknown) = Chi : total:m2204_31, partial:m2204_37 -#-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m2204_29 -# 2204| m2204_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 -# 2204| m2204_40(iterator) = Chi : total:m0_25, partial:m2204_39 -#-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, m2204_40 -# 2204| r2204_41(bool) = Call[operator!=] : func:r2204_33, this:r0_23, 0:r0_29 -# 2204| m2204_42(unknown) = ^CallSideEffect : ~m2204_38 -# 2204| m2204_43(unknown) = Chi : total:m2204_38, partial:m2204_42 -#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, m2204_30 -# 2204| v2204_44(void) = ConditionalBranch : r2204_41 +# 2218| v2218_36(void) = Call[iterator] : func:r2218_34, this:r0_24, 0:r0_27 +# 2218| m2218_37(unknown) = ^CallSideEffect : ~m2218_31 +# 2218| m2218_38(unknown) = Chi : total:m2218_31, partial:m2218_37 +#-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m2218_29 +# 2218| m2218_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 +# 2218| m2218_40(iterator) = Chi : total:m0_25, partial:m2218_39 +#-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, m2218_40 +# 2218| r2218_41(bool) = Call[operator!=] : func:r2218_33, this:r0_23, 0:r0_29 +# 2218| m2218_42(unknown) = ^CallSideEffect : ~m2218_38 +# 2218| m2218_43(unknown) = Chi : total:m2218_38, partial:m2218_42 +#-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, m2218_30 +# 2218| v2218_44(void) = ConditionalBranch : r2218_41 #-----| False -> Block 15 #-----| True -> Block 12 -# 2204| Block 12 -# 2204| r2204_45(glval) = VariableAddress[y] : -# 2204| r2204_46(glval>) = VariableAddress[(__begin)] : -#-----| r0_31(glval>) = Convert : r2204_46 -# 2204| r2204_47(glval) = FunctionAddress[operator*] : -# 2204| r2204_48(ClassWithDestructor &) = Call[operator*] : func:r2204_47, this:r0_31 -# 2204| m2204_49(unknown) = ^CallSideEffect : ~m2204_43 -# 2204| m2204_50(unknown) = Chi : total:m2204_43, partial:m2204_49 -#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, m2204_30 -# 2204| r2204_51(ClassWithDestructor) = Load[?] : &:r2204_48, ~m2204_50 -# 2204| m2204_52(ClassWithDestructor) = Store[y] : &:r2204_45, r2204_51 -# 2205| r2205_1(glval) = VariableAddress[y] : -# 2205| r2205_2(glval) = FunctionAddress[set_x] : -# 2205| r2205_3(char) = Constant[97] : -# 2205| v2205_4(void) = Call[set_x] : func:r2205_2, this:r2205_1, 0:r2205_3 -# 2205| m2205_5(unknown) = ^CallSideEffect : ~m2204_50 -# 2205| m2205_6(unknown) = Chi : total:m2204_50, partial:m2205_5 -# 2205| v2205_7(void) = ^IndirectReadSideEffect[-1] : &:r2205_1, m2204_52 -# 2205| m2205_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 -# 2205| m2205_9(ClassWithDestructor) = Chi : total:m2204_52, partial:m2205_8 -# 2206| r2206_1(glval) = VariableAddress[y] : -# 2206| r2206_2(glval) = FunctionAddress[get_x] : -# 2206| r2206_3(char) = Call[get_x] : func:r2206_2, this:r2206_1 -# 2206| m2206_4(unknown) = ^CallSideEffect : ~m2205_6 -# 2206| m2206_5(unknown) = Chi : total:m2205_6, partial:m2206_4 -# 2206| v2206_6(void) = ^IndirectReadSideEffect[-1] : &:r2206_1, m2205_9 -# 2206| m2206_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1 -# 2206| m2206_8(ClassWithDestructor) = Chi : total:m2205_9, partial:m2206_7 -# 2206| r2206_9(int) = Convert : r2206_3 -# 2206| r2206_10(int) = Constant[98] : -# 2206| r2206_11(bool) = CompareEQ : r2206_9, r2206_10 -# 2206| v2206_12(void) = ConditionalBranch : r2206_11 +# 2218| Block 12 +# 2218| r2218_45(glval) = VariableAddress[y] : +# 2218| r2218_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_31(glval>) = Convert : r2218_46 +# 2218| r2218_47(glval) = FunctionAddress[operator*] : +# 2218| r2218_48(ClassWithDestructor &) = Call[operator*] : func:r2218_47, this:r0_31 +# 2218| m2218_49(unknown) = ^CallSideEffect : ~m2218_43 +# 2218| m2218_50(unknown) = Chi : total:m2218_43, partial:m2218_49 +#-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, m2218_30 +# 2218| r2218_51(ClassWithDestructor) = Load[?] : &:r2218_48, ~m2218_50 +# 2218| m2218_52(ClassWithDestructor) = Store[y] : &:r2218_45, r2218_51 +# 2219| r2219_1(glval) = VariableAddress[y] : +# 2219| r2219_2(glval) = FunctionAddress[set_x] : +# 2219| r2219_3(char) = Constant[97] : +# 2219| v2219_4(void) = Call[set_x] : func:r2219_2, this:r2219_1, 0:r2219_3 +# 2219| m2219_5(unknown) = ^CallSideEffect : ~m2218_50 +# 2219| m2219_6(unknown) = Chi : total:m2218_50, partial:m2219_5 +# 2219| v2219_7(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2218_52 +# 2219| m2219_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +# 2219| m2219_9(ClassWithDestructor) = Chi : total:m2218_52, partial:m2219_8 +# 2220| r2220_1(glval) = VariableAddress[y] : +# 2220| r2220_2(glval) = FunctionAddress[get_x] : +# 2220| r2220_3(char) = Call[get_x] : func:r2220_2, this:r2220_1 +# 2220| m2220_4(unknown) = ^CallSideEffect : ~m2219_6 +# 2220| m2220_5(unknown) = Chi : total:m2219_6, partial:m2220_4 +# 2220| v2220_6(void) = ^IndirectReadSideEffect[-1] : &:r2220_1, m2219_9 +# 2220| m2220_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2220_1 +# 2220| m2220_8(ClassWithDestructor) = Chi : total:m2219_9, partial:m2220_7 +# 2220| r2220_9(int) = Convert : r2220_3 +# 2220| r2220_10(int) = Constant[98] : +# 2220| r2220_11(bool) = CompareEQ : r2220_9, r2220_10 +# 2220| v2220_12(void) = ConditionalBranch : r2220_11 #-----| False -> Block 14 #-----| True -> Block 13 -# 2207| Block 13 -# 2207| v2207_1(void) = NoOp : -# 2204| r2204_53(glval) = VariableAddress[y] : -# 2204| r2204_54(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_55(void) = Call[~ClassWithDestructor] : func:r2204_54, this:r2204_53 -# 2204| m2204_56(unknown) = ^CallSideEffect : ~m2206_5 -# 2204| m2204_57(unknown) = Chi : total:m2206_5, partial:m2204_56 -# 2204| v2204_58(void) = ^IndirectReadSideEffect[-1] : &:r2204_53, m2206_8 -# 2204| m2204_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_53 -# 2204| m2204_60(ClassWithDestructor) = Chi : total:m2206_8, partial:m2204_59 -# 2204| r2204_61(glval>) = VariableAddress[ys] : -# 2204| r2204_62(glval) = FunctionAddress[~vector] : -# 2204| v2204_63(void) = Call[~vector] : func:r2204_62, this:r2204_61 -# 2204| m2204_64(unknown) = ^CallSideEffect : ~m2204_57 -# 2204| m2204_65(unknown) = Chi : total:m2204_57, partial:m2204_64 -# 2204| v2204_66(void) = ^IndirectReadSideEffect[-1] : &:r2204_61, m2204_13 -# 2204| m2204_67(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_61 -# 2204| m2204_68(vector) = Chi : total:m2204_13, partial:m2204_67 -# 2219| r2219_1(glval) = VariableAddress[x] : -# 2219| r2219_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2219| v2219_3(void) = Call[~ClassWithDestructor] : func:r2219_2, this:r2219_1 -# 2219| m2219_4(unknown) = ^CallSideEffect : ~m2204_65 -# 2219| m2219_5(unknown) = Chi : total:m2204_65, partial:m2219_4 -# 2219| v2219_6(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, m2200_8 -# 2219| m2219_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 -# 2219| m2219_8(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_7 +# 2221| Block 13 +# 2221| v2221_1(void) = NoOp : +# 2218| r2218_53(glval) = VariableAddress[y] : +# 2218| r2218_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_55(void) = Call[~ClassWithDestructor] : func:r2218_54, this:r2218_53 +# 2218| m2218_56(unknown) = ^CallSideEffect : ~m2220_5 +# 2218| m2218_57(unknown) = Chi : total:m2220_5, partial:m2218_56 +# 2218| v2218_58(void) = ^IndirectReadSideEffect[-1] : &:r2218_53, m2220_8 +# 2218| m2218_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_53 +# 2218| m2218_60(ClassWithDestructor) = Chi : total:m2220_8, partial:m2218_59 +# 2218| r2218_61(glval>) = VariableAddress[ys] : +# 2218| r2218_62(glval) = FunctionAddress[~vector] : +# 2218| v2218_63(void) = Call[~vector] : func:r2218_62, this:r2218_61 +# 2218| m2218_64(unknown) = ^CallSideEffect : ~m2218_57 +# 2218| m2218_65(unknown) = Chi : total:m2218_57, partial:m2218_64 +# 2218| v2218_66(void) = ^IndirectReadSideEffect[-1] : &:r2218_61, m2218_13 +# 2218| m2218_67(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2218_61 +# 2218| m2218_68(vector) = Chi : total:m2218_13, partial:m2218_67 +# 2233| r2233_1(glval) = VariableAddress[x] : +# 2233| r2233_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2233| v2233_3(void) = Call[~ClassWithDestructor] : func:r2233_2, this:r2233_1 +# 2233| m2233_4(unknown) = ^CallSideEffect : ~m2218_65 +# 2233| m2233_5(unknown) = Chi : total:m2218_65, partial:m2233_4 +# 2233| v2233_6(void) = ^IndirectReadSideEffect[-1] : &:r2233_1, m2214_8 +# 2233| m2233_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 +# 2233| m2233_8(ClassWithDestructor) = Chi : total:m2214_8, partial:m2233_7 #-----| Goto -> Block 1 -# 2204| Block 14 -# 2204| r2204_69(glval) = VariableAddress[y] : -# 2204| r2204_70(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_71(void) = Call[~ClassWithDestructor] : func:r2204_70, this:r2204_69 -# 2204| m2204_72(unknown) = ^CallSideEffect : ~m2206_5 -# 2204| m2204_73(unknown) = Chi : total:m2206_5, partial:m2204_72 -# 2204| v2204_74(void) = ^IndirectReadSideEffect[-1] : &:r2204_69, m2206_8 -# 2204| m2204_75(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_69 -# 2204| m2204_76(ClassWithDestructor) = Chi : total:m2206_8, partial:m2204_75 -# 2204| r2204_77(glval>) = VariableAddress[(__begin)] : -# 2204| r2204_78(glval) = FunctionAddress[operator++] : -# 2204| r2204_79(iterator &) = Call[operator++] : func:r2204_78, this:r2204_77 -# 2204| m2204_80(unknown) = ^CallSideEffect : ~m2204_73 -# 2204| m2204_81(unknown) = Chi : total:m2204_73, partial:m2204_80 -# 2204| v2204_82(void) = ^IndirectReadSideEffect[-1] : &:r2204_77, m2204_30 -# 2204| m2204_83(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2204_77 -# 2204| m2204_84(iterator) = Chi : total:m2204_30, partial:m2204_83 -# 2204| r2204_85(glval>) = CopyValue : r2204_79 +# 2218| Block 14 +# 2218| r2218_69(glval) = VariableAddress[y] : +# 2218| r2218_70(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_71(void) = Call[~ClassWithDestructor] : func:r2218_70, this:r2218_69 +# 2218| m2218_72(unknown) = ^CallSideEffect : ~m2220_5 +# 2218| m2218_73(unknown) = Chi : total:m2220_5, partial:m2218_72 +# 2218| v2218_74(void) = ^IndirectReadSideEffect[-1] : &:r2218_69, m2220_8 +# 2218| m2218_75(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_69 +# 2218| m2218_76(ClassWithDestructor) = Chi : total:m2220_8, partial:m2218_75 +# 2218| r2218_77(glval>) = VariableAddress[(__begin)] : +# 2218| r2218_78(glval) = FunctionAddress[operator++] : +# 2218| r2218_79(iterator &) = Call[operator++] : func:r2218_78, this:r2218_77 +# 2218| m2218_80(unknown) = ^CallSideEffect : ~m2218_73 +# 2218| m2218_81(unknown) = Chi : total:m2218_73, partial:m2218_80 +# 2218| v2218_82(void) = ^IndirectReadSideEffect[-1] : &:r2218_77, m2218_30 +# 2218| m2218_83(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2218_77 +# 2218| m2218_84(iterator) = Chi : total:m2218_30, partial:m2218_83 +# 2218| r2218_85(glval>) = CopyValue : r2218_79 #-----| Goto (back edge) -> Block 11 -# 2210| Block 15 -# 2210| r2210_1(glval>) = VariableAddress[ys] : -# 2210| m2210_2(vector) = Uninitialized[ys] : &:r2210_1 -# 2210| r2210_3(glval) = FunctionAddress[vector] : -# 2210| r2210_4(int) = Constant[1] : -# 2210| v2210_5(void) = Call[vector] : func:r2210_3, this:r2210_1, 0:r2210_4 -# 2210| m2210_6(unknown) = ^CallSideEffect : ~m2204_43 -# 2210| m2210_7(unknown) = Chi : total:m2204_43, partial:m2210_6 -# 2210| m2210_8(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 -# 2210| m2210_9(vector) = Chi : total:m2210_2, partial:m2210_8 -# 2210| r2210_10(glval &>) = VariableAddress[(__range)] : -# 2210| r2210_11(glval>) = VariableAddress[ys] : -# 2210| r2210_12(vector &) = CopyValue : r2210_11 -# 2210| m2210_13(vector &) = Store[(__range)] : &:r2210_10, r2210_12 -# 2210| r2210_14(glval>) = VariableAddress[(__begin)] : -# 2210| r2210_15(glval &>) = VariableAddress[(__range)] : -# 2210| r2210_16(vector &) = Load[(__range)] : &:r2210_15, m2210_13 -#-----| r0_33(glval>) = CopyValue : r2210_16 +# 2224| Block 15 +# 2224| r2224_1(glval>) = VariableAddress[ys] : +# 2224| m2224_2(vector) = Uninitialized[ys] : &:r2224_1 +# 2224| r2224_3(glval) = FunctionAddress[vector] : +# 2224| r2224_4(int) = Constant[1] : +# 2224| v2224_5(void) = Call[vector] : func:r2224_3, this:r2224_1, 0:r2224_4 +# 2224| m2224_6(unknown) = ^CallSideEffect : ~m2218_43 +# 2224| m2224_7(unknown) = Chi : total:m2218_43, partial:m2224_6 +# 2224| m2224_8(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2224_1 +# 2224| m2224_9(vector) = Chi : total:m2224_2, partial:m2224_8 +# 2224| r2224_10(glval &>) = VariableAddress[(__range)] : +# 2224| r2224_11(glval>) = VariableAddress[ys] : +# 2224| r2224_12(vector &) = CopyValue : r2224_11 +# 2224| m2224_13(vector &) = Store[(__range)] : &:r2224_10, r2224_12 +# 2224| r2224_14(glval>) = VariableAddress[(__begin)] : +# 2224| r2224_15(glval &>) = VariableAddress[(__range)] : +# 2224| r2224_16(vector &) = Load[(__range)] : &:r2224_15, m2224_13 +#-----| r0_33(glval>) = CopyValue : r2224_16 #-----| r0_34(glval>) = Convert : r0_33 -# 2210| r2210_17(glval) = FunctionAddress[begin] : -# 2210| r2210_18(iterator) = Call[begin] : func:r2210_17, this:r0_34 -#-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, m2210_9 -# 2210| m2210_19(iterator) = Store[(__begin)] : &:r2210_14, r2210_18 -# 2210| r2210_20(glval>) = VariableAddress[(__end)] : -# 2210| r2210_21(glval &>) = VariableAddress[(__range)] : -# 2210| r2210_22(vector &) = Load[(__range)] : &:r2210_21, m2210_13 -#-----| r0_36(glval>) = CopyValue : r2210_22 +# 2224| r2224_17(glval) = FunctionAddress[begin] : +# 2224| r2224_18(iterator) = Call[begin] : func:r2224_17, this:r0_34 +#-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, m2224_9 +# 2224| m2224_19(iterator) = Store[(__begin)] : &:r2224_14, r2224_18 +# 2224| r2224_20(glval>) = VariableAddress[(__end)] : +# 2224| r2224_21(glval &>) = VariableAddress[(__range)] : +# 2224| r2224_22(vector &) = Load[(__range)] : &:r2224_21, m2224_13 +#-----| r0_36(glval>) = CopyValue : r2224_22 #-----| r0_37(glval>) = Convert : r0_36 -# 2210| r2210_23(glval) = FunctionAddress[end] : -# 2210| r2210_24(iterator) = Call[end] : func:r2210_23, this:r0_37 -#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, m2210_9 -# 2210| m2210_25(iterator) = Store[(__end)] : &:r2210_20, r2210_24 +# 2224| r2224_23(glval) = FunctionAddress[end] : +# 2224| r2224_24(iterator) = Call[end] : func:r2224_23, this:r0_37 +#-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, m2224_9 +# 2224| m2224_25(iterator) = Store[(__end)] : &:r2224_20, r2224_24 #-----| Goto -> Block 16 -# 2210| Block 16 -# 2210| m2210_26(iterator) = Phi : from 15:m2210_19, from 17:m2210_48 -# 2210| m2210_27(unknown) = Phi : from 15:~m2210_7, from 17:~m2210_45 -# 2210| r2210_28(glval>) = VariableAddress[(__begin)] : -#-----| r0_39(glval>) = Convert : r2210_28 -# 2210| r2210_29(glval) = FunctionAddress[operator!=] : +# 2224| Block 16 +# 2224| m2224_26(iterator) = Phi : from 15:m2224_19, from 17:m2224_48 +# 2224| m2224_27(unknown) = Phi : from 15:~m2224_7, from 17:~m2224_45 +# 2224| r2224_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_39(glval>) = Convert : r2224_28 +# 2224| r2224_29(glval) = FunctionAddress[operator!=] : #-----| r0_40(glval>) = VariableAddress[#temp0:0] : #-----| m0_41(iterator) = Uninitialized[#temp0:0] : &:r0_40 -# 2210| r2210_30(glval) = FunctionAddress[iterator] : -# 2210| r2210_31(glval>) = VariableAddress[(__end)] : -#-----| r0_42(glval>) = Convert : r2210_31 +# 2224| r2224_30(glval) = FunctionAddress[iterator] : +# 2224| r2224_31(glval>) = VariableAddress[(__end)] : +#-----| r0_42(glval>) = Convert : r2224_31 #-----| r0_43(iterator &) = CopyValue : r0_42 -# 2210| v2210_32(void) = Call[iterator] : func:r2210_30, this:r0_40, 0:r0_43 -# 2210| m2210_33(unknown) = ^CallSideEffect : ~m2210_27 -# 2210| m2210_34(unknown) = Chi : total:m2210_27, partial:m2210_33 -#-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m2210_25 -# 2210| m2210_35(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 -# 2210| m2210_36(iterator) = Chi : total:m0_41, partial:m2210_35 -#-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, m2210_36 -# 2210| r2210_37(bool) = Call[operator!=] : func:r2210_29, this:r0_39, 0:r0_45 -# 2210| m2210_38(unknown) = ^CallSideEffect : ~m2210_34 -# 2210| m2210_39(unknown) = Chi : total:m2210_34, partial:m2210_38 -#-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, m2210_26 -# 2210| v2210_40(void) = ConditionalBranch : r2210_37 +# 2224| v2224_32(void) = Call[iterator] : func:r2224_30, this:r0_40, 0:r0_43 +# 2224| m2224_33(unknown) = ^CallSideEffect : ~m2224_27 +# 2224| m2224_34(unknown) = Chi : total:m2224_27, partial:m2224_33 +#-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m2224_25 +# 2224| m2224_35(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 +# 2224| m2224_36(iterator) = Chi : total:m0_41, partial:m2224_35 +#-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, m2224_36 +# 2224| r2224_37(bool) = Call[operator!=] : func:r2224_29, this:r0_39, 0:r0_45 +# 2224| m2224_38(unknown) = ^CallSideEffect : ~m2224_34 +# 2224| m2224_39(unknown) = Chi : total:m2224_34, partial:m2224_38 +#-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, m2224_26 +# 2224| v2224_40(void) = ConditionalBranch : r2224_37 #-----| False -> Block 20 #-----| True -> Block 18 -# 2210| Block 17 -# 2210| r2210_41(glval>) = VariableAddress[(__begin)] : -# 2210| r2210_42(glval) = FunctionAddress[operator++] : -# 2210| r2210_43(iterator &) = Call[operator++] : func:r2210_42, this:r2210_41 -# 2210| m2210_44(unknown) = ^CallSideEffect : ~m2210_55 -# 2210| m2210_45(unknown) = Chi : total:m2210_55, partial:m2210_44 -# 2210| v2210_46(void) = ^IndirectReadSideEffect[-1] : &:r2210_41, m2210_26 -# 2210| m2210_47(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2210_41 -# 2210| m2210_48(iterator) = Chi : total:m2210_26, partial:m2210_47 -# 2210| r2210_49(glval>) = CopyValue : r2210_43 +# 2224| Block 17 +# 2224| r2224_41(glval>) = VariableAddress[(__begin)] : +# 2224| r2224_42(glval) = FunctionAddress[operator++] : +# 2224| r2224_43(iterator &) = Call[operator++] : func:r2224_42, this:r2224_41 +# 2224| m2224_44(unknown) = ^CallSideEffect : ~m2224_55 +# 2224| m2224_45(unknown) = Chi : total:m2224_55, partial:m2224_44 +# 2224| v2224_46(void) = ^IndirectReadSideEffect[-1] : &:r2224_41, m2224_26 +# 2224| m2224_47(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2224_41 +# 2224| m2224_48(iterator) = Chi : total:m2224_26, partial:m2224_47 +# 2224| r2224_49(glval>) = CopyValue : r2224_43 #-----| Goto (back edge) -> Block 16 -# 2210| Block 18 -# 2210| r2210_50(glval) = VariableAddress[y] : -# 2210| r2210_51(glval>) = VariableAddress[(__begin)] : -#-----| r0_47(glval>) = Convert : r2210_51 -# 2210| r2210_52(glval) = FunctionAddress[operator*] : -# 2210| r2210_53(int &) = Call[operator*] : func:r2210_52, this:r0_47 -# 2210| m2210_54(unknown) = ^CallSideEffect : ~m2210_39 -# 2210| m2210_55(unknown) = Chi : total:m2210_39, partial:m2210_54 -#-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, m2210_26 -# 2210| r2210_56(int) = Load[?] : &:r2210_53, ~m2210_55 -# 2210| m2210_57(int) = Store[y] : &:r2210_50, r2210_56 -# 2211| r2211_1(glval) = VariableAddress[y] : -# 2211| r2211_2(int) = Load[y] : &:r2211_1, m2210_57 -# 2211| r2211_3(int) = Constant[1] : -# 2211| r2211_4(bool) = CompareEQ : r2211_2, r2211_3 -# 2211| v2211_5(void) = ConditionalBranch : r2211_4 +# 2224| Block 18 +# 2224| r2224_50(glval) = VariableAddress[y] : +# 2224| r2224_51(glval>) = VariableAddress[(__begin)] : +#-----| r0_47(glval>) = Convert : r2224_51 +# 2224| r2224_52(glval) = FunctionAddress[operator*] : +# 2224| r2224_53(int &) = Call[operator*] : func:r2224_52, this:r0_47 +# 2224| m2224_54(unknown) = ^CallSideEffect : ~m2224_39 +# 2224| m2224_55(unknown) = Chi : total:m2224_39, partial:m2224_54 +#-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, m2224_26 +# 2224| r2224_56(int) = Load[?] : &:r2224_53, ~m2224_55 +# 2224| m2224_57(int) = Store[y] : &:r2224_50, r2224_56 +# 2225| r2225_1(glval) = VariableAddress[y] : +# 2225| r2225_2(int) = Load[y] : &:r2225_1, m2224_57 +# 2225| r2225_3(int) = Constant[1] : +# 2225| r2225_4(bool) = CompareEQ : r2225_2, r2225_3 +# 2225| v2225_5(void) = ConditionalBranch : r2225_4 #-----| False -> Block 17 #-----| True -> Block 19 -# 2212| Block 19 -# 2212| v2212_1(void) = NoOp : -# 2210| r2210_58(glval>) = VariableAddress[ys] : -# 2210| r2210_59(glval) = FunctionAddress[~vector] : -# 2210| v2210_60(void) = Call[~vector] : func:r2210_59, this:r2210_58 -# 2210| m2210_61(unknown) = ^CallSideEffect : ~m2210_55 -# 2210| m2210_62(unknown) = Chi : total:m2210_55, partial:m2210_61 -# 2210| v2210_63(void) = ^IndirectReadSideEffect[-1] : &:r2210_58, m2210_9 -# 2210| m2210_64(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_58 -# 2210| m2210_65(vector) = Chi : total:m2210_9, partial:m2210_64 -# 2219| r2219_9(glval) = VariableAddress[x] : -# 2219| r2219_10(glval) = FunctionAddress[~ClassWithDestructor] : -# 2219| v2219_11(void) = Call[~ClassWithDestructor] : func:r2219_10, this:r2219_9 -# 2219| m2219_12(unknown) = ^CallSideEffect : ~m2210_62 -# 2219| m2219_13(unknown) = Chi : total:m2210_62, partial:m2219_12 -# 2219| v2219_14(void) = ^IndirectReadSideEffect[-1] : &:r2219_9, m2200_8 -# 2219| m2219_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_9 -# 2219| m2219_16(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_15 +# 2226| Block 19 +# 2226| v2226_1(void) = NoOp : +# 2224| r2224_58(glval>) = VariableAddress[ys] : +# 2224| r2224_59(glval) = FunctionAddress[~vector] : +# 2224| v2224_60(void) = Call[~vector] : func:r2224_59, this:r2224_58 +# 2224| m2224_61(unknown) = ^CallSideEffect : ~m2224_55 +# 2224| m2224_62(unknown) = Chi : total:m2224_55, partial:m2224_61 +# 2224| v2224_63(void) = ^IndirectReadSideEffect[-1] : &:r2224_58, m2224_9 +# 2224| m2224_64(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2224_58 +# 2224| m2224_65(vector) = Chi : total:m2224_9, partial:m2224_64 +# 2233| r2233_9(glval) = VariableAddress[x] : +# 2233| r2233_10(glval) = FunctionAddress[~ClassWithDestructor] : +# 2233| v2233_11(void) = Call[~ClassWithDestructor] : func:r2233_10, this:r2233_9 +# 2233| m2233_12(unknown) = ^CallSideEffect : ~m2224_62 +# 2233| m2233_13(unknown) = Chi : total:m2224_62, partial:m2233_12 +# 2233| v2233_14(void) = ^IndirectReadSideEffect[-1] : &:r2233_9, m2214_8 +# 2233| m2233_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_9 +# 2233| m2233_16(ClassWithDestructor) = Chi : total:m2214_8, partial:m2233_15 #-----| Goto -> Block 1 -# 2215| Block 20 -# 2215| r2215_1(glval>) = VariableAddress[ys] : -# 2215| m2215_2(vector) = Uninitialized[ys] : &:r2215_1 -# 2215| r2215_3(glval) = FunctionAddress[vector] : -# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : -# 2215| r2215_5(glval) = VariableAddress[x] : -# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, m2200_8 -# 2215| m2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 -# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, m2215_7 -# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 -# 2215| m2215_10(unknown) = ^CallSideEffect : ~m2210_39 -# 2215| m2215_11(unknown) = Chi : total:m2210_39, partial:m2215_10 -# 2215| m2215_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 -# 2215| m2215_13(vector) = Chi : total:m2215_2, partial:m2215_12 -# 2215| r2215_14(glval &>) = VariableAddress[(__range)] : -# 2215| r2215_15(glval>) = VariableAddress[ys] : -# 2215| r2215_16(vector &) = CopyValue : r2215_15 -# 2215| m2215_17(vector &) = Store[(__range)] : &:r2215_14, r2215_16 -# 2215| r2215_18(glval>) = VariableAddress[(__begin)] : -# 2215| r2215_19(glval &>) = VariableAddress[(__range)] : -# 2215| r2215_20(vector &) = Load[(__range)] : &:r2215_19, m2215_17 -#-----| r0_49(glval>) = CopyValue : r2215_20 +# 2229| Block 20 +# 2229| r2229_1(glval>) = VariableAddress[ys] : +# 2229| m2229_2(vector) = Uninitialized[ys] : &:r2229_1 +# 2229| r2229_3(glval) = FunctionAddress[vector] : +# 2229| r2229_4(glval) = VariableAddress[#temp2229:45] : +# 2229| r2229_5(glval) = VariableAddress[x] : +# 2229| r2229_6(ClassWithDestructor) = Load[x] : &:r2229_5, m2214_8 +# 2229| m2229_7(ClassWithDestructor) = Store[#temp2229:45] : &:r2229_4, r2229_6 +# 2229| r2229_8(ClassWithDestructor) = Load[#temp2229:45] : &:r2229_4, m2229_7 +# 2229| v2229_9(void) = Call[vector] : func:r2229_3, this:r2229_1, 0:r2229_8 +# 2229| m2229_10(unknown) = ^CallSideEffect : ~m2224_39 +# 2229| m2229_11(unknown) = Chi : total:m2224_39, partial:m2229_10 +# 2229| m2229_12(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2229_1 +# 2229| m2229_13(vector) = Chi : total:m2229_2, partial:m2229_12 +# 2229| r2229_14(glval &>) = VariableAddress[(__range)] : +# 2229| r2229_15(glval>) = VariableAddress[ys] : +# 2229| r2229_16(vector &) = CopyValue : r2229_15 +# 2229| m2229_17(vector &) = Store[(__range)] : &:r2229_14, r2229_16 +# 2229| r2229_18(glval>) = VariableAddress[(__begin)] : +# 2229| r2229_19(glval &>) = VariableAddress[(__range)] : +# 2229| r2229_20(vector &) = Load[(__range)] : &:r2229_19, m2229_17 +#-----| r0_49(glval>) = CopyValue : r2229_20 #-----| r0_50(glval>) = Convert : r0_49 -# 2215| r2215_21(glval) = FunctionAddress[begin] : -# 2215| r2215_22(iterator) = Call[begin] : func:r2215_21, this:r0_50 -#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, m2215_13 -# 2215| m2215_23(iterator) = Store[(__begin)] : &:r2215_18, r2215_22 -# 2215| r2215_24(glval>) = VariableAddress[(__end)] : -# 2215| r2215_25(glval &>) = VariableAddress[(__range)] : -# 2215| r2215_26(vector &) = Load[(__range)] : &:r2215_25, m2215_17 -#-----| r0_52(glval>) = CopyValue : r2215_26 +# 2229| r2229_21(glval) = FunctionAddress[begin] : +# 2229| r2229_22(iterator) = Call[begin] : func:r2229_21, this:r0_50 +#-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, m2229_13 +# 2229| m2229_23(iterator) = Store[(__begin)] : &:r2229_18, r2229_22 +# 2229| r2229_24(glval>) = VariableAddress[(__end)] : +# 2229| r2229_25(glval &>) = VariableAddress[(__range)] : +# 2229| r2229_26(vector &) = Load[(__range)] : &:r2229_25, m2229_17 +#-----| r0_52(glval>) = CopyValue : r2229_26 #-----| r0_53(glval>) = Convert : r0_52 -# 2215| r2215_27(glval) = FunctionAddress[end] : -# 2215| r2215_28(iterator) = Call[end] : func:r2215_27, this:r0_53 -#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, m2215_13 -# 2215| m2215_29(iterator) = Store[(__end)] : &:r2215_24, r2215_28 +# 2229| r2229_27(glval) = FunctionAddress[end] : +# 2229| r2229_28(iterator) = Call[end] : func:r2229_27, this:r0_53 +#-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, m2229_13 +# 2229| m2229_29(iterator) = Store[(__end)] : &:r2229_24, r2229_28 #-----| Goto -> Block 21 -# 2215| Block 21 -# 2215| m2215_30(iterator) = Phi : from 20:m2215_23, from 22:m2215_68 -# 2215| m2215_31(unknown) = Phi : from 20:~m2215_11, from 22:~m2215_65 -# 2215| r2215_32(glval>) = VariableAddress[(__begin)] : -#-----| r0_55(glval>) = Convert : r2215_32 -# 2215| r2215_33(glval) = FunctionAddress[operator!=] : +# 2229| Block 21 +# 2229| m2229_30(iterator) = Phi : from 20:m2229_23, from 22:m2229_68 +# 2229| m2229_31(unknown) = Phi : from 20:~m2229_11, from 22:~m2229_65 +# 2229| r2229_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_55(glval>) = Convert : r2229_32 +# 2229| r2229_33(glval) = FunctionAddress[operator!=] : #-----| r0_56(glval>) = VariableAddress[#temp0:0] : #-----| m0_57(iterator) = Uninitialized[#temp0:0] : &:r0_56 -# 2215| r2215_34(glval) = FunctionAddress[iterator] : -# 2215| r2215_35(glval>) = VariableAddress[(__end)] : -#-----| r0_58(glval>) = Convert : r2215_35 +# 2229| r2229_34(glval) = FunctionAddress[iterator] : +# 2229| r2229_35(glval>) = VariableAddress[(__end)] : +#-----| r0_58(glval>) = Convert : r2229_35 #-----| r0_59(iterator &) = CopyValue : r0_58 -# 2215| v2215_36(void) = Call[iterator] : func:r2215_34, this:r0_56, 0:r0_59 -# 2215| m2215_37(unknown) = ^CallSideEffect : ~m2215_31 -# 2215| m2215_38(unknown) = Chi : total:m2215_31, partial:m2215_37 -#-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m2215_29 -# 2215| m2215_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 -# 2215| m2215_40(iterator) = Chi : total:m0_57, partial:m2215_39 -#-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, m2215_40 -# 2215| r2215_41(bool) = Call[operator!=] : func:r2215_33, this:r0_55, 0:r0_61 -# 2215| m2215_42(unknown) = ^CallSideEffect : ~m2215_38 -# 2215| m2215_43(unknown) = Chi : total:m2215_38, partial:m2215_42 -#-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, m2215_30 -# 2215| v2215_44(void) = ConditionalBranch : r2215_41 +# 2229| v2229_36(void) = Call[iterator] : func:r2229_34, this:r0_56, 0:r0_59 +# 2229| m2229_37(unknown) = ^CallSideEffect : ~m2229_31 +# 2229| m2229_38(unknown) = Chi : total:m2229_31, partial:m2229_37 +#-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m2229_29 +# 2229| m2229_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 +# 2229| m2229_40(iterator) = Chi : total:m0_57, partial:m2229_39 +#-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, m2229_40 +# 2229| r2229_41(bool) = Call[operator!=] : func:r2229_33, this:r0_55, 0:r0_61 +# 2229| m2229_42(unknown) = ^CallSideEffect : ~m2229_38 +# 2229| m2229_43(unknown) = Chi : total:m2229_38, partial:m2229_42 +#-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, m2229_30 +# 2229| v2229_44(void) = ConditionalBranch : r2229_41 #-----| False -> Block 23 #-----| True -> Block 22 -# 2215| Block 22 -# 2215| r2215_45(glval) = VariableAddress[y] : -# 2215| r2215_46(glval>) = VariableAddress[(__begin)] : -#-----| r0_63(glval>) = Convert : r2215_46 -# 2215| r2215_47(glval) = FunctionAddress[operator*] : -# 2215| r2215_48(ClassWithDestructor &) = Call[operator*] : func:r2215_47, this:r0_63 -# 2215| m2215_49(unknown) = ^CallSideEffect : ~m2215_43 -# 2215| m2215_50(unknown) = Chi : total:m2215_43, partial:m2215_49 -#-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, m2215_30 -# 2215| r2215_51(ClassWithDestructor) = Load[?] : &:r2215_48, ~m2215_50 -# 2215| m2215_52(ClassWithDestructor) = Store[y] : &:r2215_45, r2215_51 -# 2216| r2216_1(glval) = VariableAddress[z1] : -# 2216| m2216_2(ClassWithDestructor) = Uninitialized[z1] : &:r2216_1 -# 2216| r2216_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2216| v2216_4(void) = Call[ClassWithDestructor] : func:r2216_3, this:r2216_1 -# 2216| m2216_5(unknown) = ^CallSideEffect : ~m2215_50 -# 2216| m2216_6(unknown) = Chi : total:m2215_50, partial:m2216_5 -# 2216| m2216_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 -# 2216| m2216_8(ClassWithDestructor) = Chi : total:m2216_2, partial:m2216_7 -# 2217| r2217_1(glval) = VariableAddress[z2] : -# 2217| m2217_2(ClassWithDestructor) = Uninitialized[z2] : &:r2217_1 -# 2217| r2217_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2217| v2217_4(void) = Call[ClassWithDestructor] : func:r2217_3, this:r2217_1 -# 2217| m2217_5(unknown) = ^CallSideEffect : ~m2216_6 -# 2217| m2217_6(unknown) = Chi : total:m2216_6, partial:m2217_5 -# 2217| m2217_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2217_1 -# 2217| m2217_8(ClassWithDestructor) = Chi : total:m2217_2, partial:m2217_7 -# 2218| r2218_1(glval) = VariableAddress[z2] : -# 2218| r2218_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2218| v2218_3(void) = Call[~ClassWithDestructor] : func:r2218_2, this:r2218_1 -# 2218| m2218_4(unknown) = ^CallSideEffect : ~m2217_6 -# 2218| m2218_5(unknown) = Chi : total:m2217_6, partial:m2218_4 -# 2218| v2218_6(void) = ^IndirectReadSideEffect[-1] : &:r2218_1, m2217_8 -# 2218| m2218_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 -# 2218| m2218_8(ClassWithDestructor) = Chi : total:m2217_8, partial:m2218_7 -# 2218| r2218_9(glval) = VariableAddress[z1] : -# 2218| r2218_10(glval) = FunctionAddress[~ClassWithDestructor] : -# 2218| v2218_11(void) = Call[~ClassWithDestructor] : func:r2218_10, this:r2218_9 -# 2218| m2218_12(unknown) = ^CallSideEffect : ~m2218_5 -# 2218| m2218_13(unknown) = Chi : total:m2218_5, partial:m2218_12 -# 2218| v2218_14(void) = ^IndirectReadSideEffect[-1] : &:r2218_9, m2216_8 -# 2218| m2218_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_9 -# 2218| m2218_16(ClassWithDestructor) = Chi : total:m2216_8, partial:m2218_15 -# 2215| r2215_53(glval) = VariableAddress[y] : -# 2215| r2215_54(glval) = FunctionAddress[~ClassWithDestructor] : -# 2215| v2215_55(void) = Call[~ClassWithDestructor] : func:r2215_54, this:r2215_53 -# 2215| m2215_56(unknown) = ^CallSideEffect : ~m2218_13 -# 2215| m2215_57(unknown) = Chi : total:m2218_13, partial:m2215_56 -# 2215| v2215_58(void) = ^IndirectReadSideEffect[-1] : &:r2215_53, m2215_52 -# 2215| m2215_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_53 -# 2215| m2215_60(ClassWithDestructor) = Chi : total:m2215_52, partial:m2215_59 -# 2215| r2215_61(glval>) = VariableAddress[(__begin)] : -# 2215| r2215_62(glval) = FunctionAddress[operator++] : -# 2215| r2215_63(iterator &) = Call[operator++] : func:r2215_62, this:r2215_61 -# 2215| m2215_64(unknown) = ^CallSideEffect : ~m2215_57 -# 2215| m2215_65(unknown) = Chi : total:m2215_57, partial:m2215_64 -# 2215| v2215_66(void) = ^IndirectReadSideEffect[-1] : &:r2215_61, m2215_30 -# 2215| m2215_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_61 -# 2215| m2215_68(iterator) = Chi : total:m2215_30, partial:m2215_67 -# 2215| r2215_69(glval>) = CopyValue : r2215_63 +# 2229| Block 22 +# 2229| r2229_45(glval) = VariableAddress[y] : +# 2229| r2229_46(glval>) = VariableAddress[(__begin)] : +#-----| r0_63(glval>) = Convert : r2229_46 +# 2229| r2229_47(glval) = FunctionAddress[operator*] : +# 2229| r2229_48(ClassWithDestructor &) = Call[operator*] : func:r2229_47, this:r0_63 +# 2229| m2229_49(unknown) = ^CallSideEffect : ~m2229_43 +# 2229| m2229_50(unknown) = Chi : total:m2229_43, partial:m2229_49 +#-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, m2229_30 +# 2229| r2229_51(ClassWithDestructor) = Load[?] : &:r2229_48, ~m2229_50 +# 2229| m2229_52(ClassWithDestructor) = Store[y] : &:r2229_45, r2229_51 +# 2230| r2230_1(glval) = VariableAddress[z1] : +# 2230| m2230_2(ClassWithDestructor) = Uninitialized[z1] : &:r2230_1 +# 2230| r2230_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2230| v2230_4(void) = Call[ClassWithDestructor] : func:r2230_3, this:r2230_1 +# 2230| m2230_5(unknown) = ^CallSideEffect : ~m2229_50 +# 2230| m2230_6(unknown) = Chi : total:m2229_50, partial:m2230_5 +# 2230| m2230_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2230_1 +# 2230| m2230_8(ClassWithDestructor) = Chi : total:m2230_2, partial:m2230_7 +# 2231| r2231_1(glval) = VariableAddress[z2] : +# 2231| m2231_2(ClassWithDestructor) = Uninitialized[z2] : &:r2231_1 +# 2231| r2231_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2231| v2231_4(void) = Call[ClassWithDestructor] : func:r2231_3, this:r2231_1 +# 2231| m2231_5(unknown) = ^CallSideEffect : ~m2230_6 +# 2231| m2231_6(unknown) = Chi : total:m2230_6, partial:m2231_5 +# 2231| m2231_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1 +# 2231| m2231_8(ClassWithDestructor) = Chi : total:m2231_2, partial:m2231_7 +# 2232| r2232_1(glval) = VariableAddress[z2] : +# 2232| r2232_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2232| v2232_3(void) = Call[~ClassWithDestructor] : func:r2232_2, this:r2232_1 +# 2232| m2232_4(unknown) = ^CallSideEffect : ~m2231_6 +# 2232| m2232_5(unknown) = Chi : total:m2231_6, partial:m2232_4 +# 2232| v2232_6(void) = ^IndirectReadSideEffect[-1] : &:r2232_1, m2231_8 +# 2232| m2232_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 +# 2232| m2232_8(ClassWithDestructor) = Chi : total:m2231_8, partial:m2232_7 +# 2232| r2232_9(glval) = VariableAddress[z1] : +# 2232| r2232_10(glval) = FunctionAddress[~ClassWithDestructor] : +# 2232| v2232_11(void) = Call[~ClassWithDestructor] : func:r2232_10, this:r2232_9 +# 2232| m2232_12(unknown) = ^CallSideEffect : ~m2232_5 +# 2232| m2232_13(unknown) = Chi : total:m2232_5, partial:m2232_12 +# 2232| v2232_14(void) = ^IndirectReadSideEffect[-1] : &:r2232_9, m2230_8 +# 2232| m2232_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_9 +# 2232| m2232_16(ClassWithDestructor) = Chi : total:m2230_8, partial:m2232_15 +# 2229| r2229_53(glval) = VariableAddress[y] : +# 2229| r2229_54(glval) = FunctionAddress[~ClassWithDestructor] : +# 2229| v2229_55(void) = Call[~ClassWithDestructor] : func:r2229_54, this:r2229_53 +# 2229| m2229_56(unknown) = ^CallSideEffect : ~m2232_13 +# 2229| m2229_57(unknown) = Chi : total:m2232_13, partial:m2229_56 +# 2229| v2229_58(void) = ^IndirectReadSideEffect[-1] : &:r2229_53, m2229_52 +# 2229| m2229_59(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_53 +# 2229| m2229_60(ClassWithDestructor) = Chi : total:m2229_52, partial:m2229_59 +# 2229| r2229_61(glval>) = VariableAddress[(__begin)] : +# 2229| r2229_62(glval) = FunctionAddress[operator++] : +# 2229| r2229_63(iterator &) = Call[operator++] : func:r2229_62, this:r2229_61 +# 2229| m2229_64(unknown) = ^CallSideEffect : ~m2229_57 +# 2229| m2229_65(unknown) = Chi : total:m2229_57, partial:m2229_64 +# 2229| v2229_66(void) = ^IndirectReadSideEffect[-1] : &:r2229_61, m2229_30 +# 2229| m2229_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2229_61 +# 2229| m2229_68(iterator) = Chi : total:m2229_30, partial:m2229_67 +# 2229| r2229_69(glval>) = CopyValue : r2229_63 #-----| Goto (back edge) -> Block 21 -# 2219| Block 23 -# 2219| v2219_17(void) = NoOp : -# 2219| r2219_18(glval) = VariableAddress[x] : -# 2219| r2219_19(glval) = FunctionAddress[~ClassWithDestructor] : -# 2219| v2219_20(void) = Call[~ClassWithDestructor] : func:r2219_19, this:r2219_18 -# 2219| m2219_21(unknown) = ^CallSideEffect : ~m2215_43 -# 2219| m2219_22(unknown) = Chi : total:m2215_43, partial:m2219_21 -# 2219| v2219_23(void) = ^IndirectReadSideEffect[-1] : &:r2219_18, m2200_8 -# 2219| m2219_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_18 -# 2219| m2219_25(ClassWithDestructor) = Chi : total:m2200_8, partial:m2219_24 +# 2233| Block 23 +# 2233| v2233_17(void) = NoOp : +# 2233| r2233_18(glval) = VariableAddress[x] : +# 2233| r2233_19(glval) = FunctionAddress[~ClassWithDestructor] : +# 2233| v2233_20(void) = Call[~ClassWithDestructor] : func:r2233_19, this:r2233_18 +# 2233| m2233_21(unknown) = ^CallSideEffect : ~m2229_43 +# 2233| m2233_22(unknown) = Chi : total:m2229_43, partial:m2233_21 +# 2233| v2233_23(void) = ^IndirectReadSideEffect[-1] : &:r2233_18, m2214_8 +# 2233| m2233_24(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_18 +# 2233| m2233_25(ClassWithDestructor) = Chi : total:m2214_8, partial:m2233_24 #-----| Goto -> Block 1 -# 2184| Block 24 -# 2184| v2184_13(void) = Unreached : - -# 2221| void static_variable_with_destructor_1() -# 2221| Block 0 -# 2221| v2221_1(void) = EnterFunction : -# 2221| m2221_2(unknown) = AliasedDefinition : -# 2221| m2221_3(unknown) = InitializeNonLocal : -# 2221| m2221_4(unknown) = Chi : total:m2221_2, partial:m2221_3 -# 2222| r2222_1(glval) = VariableAddress[a] : -# 2222| m2222_2(ClassWithDestructor) = Uninitialized[a] : &:r2222_1 -# 2222| r2222_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2222| v2222_4(void) = Call[ClassWithDestructor] : func:r2222_3, this:r2222_1 -# 2222| m2222_5(unknown) = ^CallSideEffect : ~m2221_4 -# 2222| m2222_6(unknown) = Chi : total:m2221_4, partial:m2222_5 -# 2222| m2222_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2222_1 -# 2222| m2222_8(ClassWithDestructor) = Chi : total:m2222_2, partial:m2222_7 -# 2223| r2223_1(glval) = VariableAddress[b#init] : -# 2223| r2223_2(bool) = Load[b#init] : &:r2223_1, ~m2222_6 -# 2223| v2223_3(void) = ConditionalBranch : r2223_2 +# 2198| Block 24 +# 2198| v2198_13(void) = Unreached : + +# 2235| void static_variable_with_destructor_1() +# 2235| Block 0 +# 2235| v2235_1(void) = EnterFunction : +# 2235| m2235_2(unknown) = AliasedDefinition : +# 2235| m2235_3(unknown) = InitializeNonLocal : +# 2235| m2235_4(unknown) = Chi : total:m2235_2, partial:m2235_3 +# 2236| r2236_1(glval) = VariableAddress[a] : +# 2236| m2236_2(ClassWithDestructor) = Uninitialized[a] : &:r2236_1 +# 2236| r2236_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2236| v2236_4(void) = Call[ClassWithDestructor] : func:r2236_3, this:r2236_1 +# 2236| m2236_5(unknown) = ^CallSideEffect : ~m2235_4 +# 2236| m2236_6(unknown) = Chi : total:m2235_4, partial:m2236_5 +# 2236| m2236_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1 +# 2236| m2236_8(ClassWithDestructor) = Chi : total:m2236_2, partial:m2236_7 +# 2237| r2237_1(glval) = VariableAddress[b#init] : +# 2237| r2237_2(bool) = Load[b#init] : &:r2237_1, ~m2236_6 +# 2237| v2237_3(void) = ConditionalBranch : r2237_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2223| Block 1 -# 2223| r2223_4(glval) = VariableAddress[b] : +# 2237| Block 1 +# 2237| r2237_4(glval) = VariableAddress[b] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2223_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2222_6 -#-----| m0_4(unknown) = Chi : total:m2222_6, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2223_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2237_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2236_6 +#-----| m0_4(unknown) = Chi : total:m2236_6, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_4 #-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2223| r2223_5(bool) = Constant[1] : -# 2223| m2223_6(bool) = Store[b#init] : &:r2223_1, r2223_5 -# 2223| m2223_7(unknown) = Chi : total:m0_6, partial:m2223_6 +# 2237| r2237_5(bool) = Constant[1] : +# 2237| m2237_6(bool) = Store[b#init] : &:r2237_1, r2237_5 +# 2237| m2237_7(unknown) = Chi : total:m0_6, partial:m2237_6 #-----| Goto -> Block 2 -# 2224| Block 2 -# 2224| m2224_1(unknown) = Phi : from 0:~m2222_6, from 1:~m2223_7 -# 2224| v2224_2(void) = NoOp : -# 2224| r2224_3(glval) = VariableAddress[a] : -# 2224| r2224_4(glval) = FunctionAddress[~ClassWithDestructor] : -# 2224| v2224_5(void) = Call[~ClassWithDestructor] : func:r2224_4, this:r2224_3 -# 2224| m2224_6(unknown) = ^CallSideEffect : ~m2224_1 -# 2224| m2224_7(unknown) = Chi : total:m2224_1, partial:m2224_6 -# 2224| v2224_8(void) = ^IndirectReadSideEffect[-1] : &:r2224_3, m2222_8 -# 2224| m2224_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2224_3 -# 2224| m2224_10(ClassWithDestructor) = Chi : total:m2222_8, partial:m2224_9 -# 2221| v2221_5(void) = ReturnVoid : -# 2221| v2221_6(void) = AliasedUse : ~m2224_7 -# 2221| v2221_7(void) = ExitFunction : - -# 2226| void static_variable_with_destructor_2() -# 2226| Block 0 -# 2226| v2226_1(void) = EnterFunction : -# 2226| m2226_2(unknown) = AliasedDefinition : -# 2226| m2226_3(unknown) = InitializeNonLocal : -# 2226| m2226_4(unknown) = Chi : total:m2226_2, partial:m2226_3 -# 2227| r2227_1(glval) = VariableAddress[a#init] : -# 2227| r2227_2(bool) = Load[a#init] : &:r2227_1, ~m2226_3 -# 2227| v2227_3(void) = ConditionalBranch : r2227_2 +# 2238| Block 2 +# 2238| m2238_1(unknown) = Phi : from 0:~m2236_6, from 1:~m2237_7 +# 2238| v2238_2(void) = NoOp : +# 2238| r2238_3(glval) = VariableAddress[a] : +# 2238| r2238_4(glval) = FunctionAddress[~ClassWithDestructor] : +# 2238| v2238_5(void) = Call[~ClassWithDestructor] : func:r2238_4, this:r2238_3 +# 2238| m2238_6(unknown) = ^CallSideEffect : ~m2238_1 +# 2238| m2238_7(unknown) = Chi : total:m2238_1, partial:m2238_6 +# 2238| v2238_8(void) = ^IndirectReadSideEffect[-1] : &:r2238_3, m2236_8 +# 2238| m2238_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2238_3 +# 2238| m2238_10(ClassWithDestructor) = Chi : total:m2236_8, partial:m2238_9 +# 2235| v2235_5(void) = ReturnVoid : +# 2235| v2235_6(void) = AliasedUse : ~m2238_7 +# 2235| v2235_7(void) = ExitFunction : + +# 2240| void static_variable_with_destructor_2() +# 2240| Block 0 +# 2240| v2240_1(void) = EnterFunction : +# 2240| m2240_2(unknown) = AliasedDefinition : +# 2240| m2240_3(unknown) = InitializeNonLocal : +# 2240| m2240_4(unknown) = Chi : total:m2240_2, partial:m2240_3 +# 2241| r2241_1(glval) = VariableAddress[a#init] : +# 2241| r2241_2(bool) = Load[a#init] : &:r2241_1, ~m2240_3 +# 2241| v2241_3(void) = ConditionalBranch : r2241_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2227| Block 1 -# 2227| r2227_4(glval) = VariableAddress[a] : +# 2241| Block 1 +# 2241| r2241_4(glval) = VariableAddress[a] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2227_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2226_4 -#-----| m0_4(unknown) = Chi : total:m2226_4, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2227_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2241_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2240_4 +#-----| m0_4(unknown) = Chi : total:m2240_4, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2241_4 #-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2227| r2227_5(bool) = Constant[1] : -# 2227| m2227_6(bool) = Store[a#init] : &:r2227_1, r2227_5 -# 2227| m2227_7(unknown) = Chi : total:m0_6, partial:m2227_6 +# 2241| r2241_5(bool) = Constant[1] : +# 2241| m2241_6(bool) = Store[a#init] : &:r2241_1, r2241_5 +# 2241| m2241_7(unknown) = Chi : total:m0_6, partial:m2241_6 #-----| Goto -> Block 2 -# 2228| Block 2 -# 2228| m2228_1(unknown) = Phi : from 0:~m2226_4, from 1:~m2227_7 -# 2228| r2228_2(glval) = VariableAddress[b] : -# 2228| m2228_3(ClassWithDestructor) = Uninitialized[b] : &:r2228_2 -# 2228| r2228_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2228| v2228_5(void) = Call[ClassWithDestructor] : func:r2228_4, this:r2228_2 -# 2228| m2228_6(unknown) = ^CallSideEffect : ~m2228_1 -# 2228| m2228_7(unknown) = Chi : total:m2228_1, partial:m2228_6 -# 2228| m2228_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2228_2 -# 2228| m2228_9(ClassWithDestructor) = Chi : total:m2228_3, partial:m2228_8 -# 2229| v2229_1(void) = NoOp : -# 2229| r2229_2(glval) = VariableAddress[b] : -# 2229| r2229_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2229| v2229_4(void) = Call[~ClassWithDestructor] : func:r2229_3, this:r2229_2 -# 2229| m2229_5(unknown) = ^CallSideEffect : ~m2228_7 -# 2229| m2229_6(unknown) = Chi : total:m2228_7, partial:m2229_5 -# 2229| v2229_7(void) = ^IndirectReadSideEffect[-1] : &:r2229_2, m2228_9 -# 2229| m2229_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_2 -# 2229| m2229_9(ClassWithDestructor) = Chi : total:m2228_9, partial:m2229_8 -# 2226| v2226_5(void) = ReturnVoid : -# 2226| v2226_6(void) = AliasedUse : ~m2229_6 -# 2226| v2226_7(void) = ExitFunction : - -# 2231| void static_variable_with_destructor_3() -# 2231| Block 0 -# 2231| v2231_1(void) = EnterFunction : -# 2231| m2231_2(unknown) = AliasedDefinition : -# 2231| m2231_3(unknown) = InitializeNonLocal : -# 2231| m2231_4(unknown) = Chi : total:m2231_2, partial:m2231_3 -# 2232| r2232_1(glval) = VariableAddress[a] : -# 2232| m2232_2(ClassWithDestructor) = Uninitialized[a] : &:r2232_1 -# 2232| r2232_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2232| v2232_4(void) = Call[ClassWithDestructor] : func:r2232_3, this:r2232_1 -# 2232| m2232_5(unknown) = ^CallSideEffect : ~m2231_4 -# 2232| m2232_6(unknown) = Chi : total:m2231_4, partial:m2232_5 -# 2232| m2232_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 -# 2232| m2232_8(ClassWithDestructor) = Chi : total:m2232_2, partial:m2232_7 -# 2233| r2233_1(glval) = VariableAddress[b] : -# 2233| m2233_2(ClassWithDestructor) = Uninitialized[b] : &:r2233_1 -# 2233| r2233_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2233| v2233_4(void) = Call[ClassWithDestructor] : func:r2233_3, this:r2233_1 -# 2233| m2233_5(unknown) = ^CallSideEffect : ~m2232_6 -# 2233| m2233_6(unknown) = Chi : total:m2232_6, partial:m2233_5 -# 2233| m2233_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 -# 2233| m2233_8(ClassWithDestructor) = Chi : total:m2233_2, partial:m2233_7 -# 2234| r2234_1(glval) = VariableAddress[c#init] : -# 2234| r2234_2(bool) = Load[c#init] : &:r2234_1, ~m2233_6 -# 2234| v2234_3(void) = ConditionalBranch : r2234_2 +# 2242| Block 2 +# 2242| m2242_1(unknown) = Phi : from 0:~m2240_4, from 1:~m2241_7 +# 2242| r2242_2(glval) = VariableAddress[b] : +# 2242| m2242_3(ClassWithDestructor) = Uninitialized[b] : &:r2242_2 +# 2242| r2242_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2242| v2242_5(void) = Call[ClassWithDestructor] : func:r2242_4, this:r2242_2 +# 2242| m2242_6(unknown) = ^CallSideEffect : ~m2242_1 +# 2242| m2242_7(unknown) = Chi : total:m2242_1, partial:m2242_6 +# 2242| m2242_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2242_2 +# 2242| m2242_9(ClassWithDestructor) = Chi : total:m2242_3, partial:m2242_8 +# 2243| v2243_1(void) = NoOp : +# 2243| r2243_2(glval) = VariableAddress[b] : +# 2243| r2243_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2243| v2243_4(void) = Call[~ClassWithDestructor] : func:r2243_3, this:r2243_2 +# 2243| m2243_5(unknown) = ^CallSideEffect : ~m2242_7 +# 2243| m2243_6(unknown) = Chi : total:m2242_7, partial:m2243_5 +# 2243| v2243_7(void) = ^IndirectReadSideEffect[-1] : &:r2243_2, m2242_9 +# 2243| m2243_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2243_2 +# 2243| m2243_9(ClassWithDestructor) = Chi : total:m2242_9, partial:m2243_8 +# 2240| v2240_5(void) = ReturnVoid : +# 2240| v2240_6(void) = AliasedUse : ~m2243_6 +# 2240| v2240_7(void) = ExitFunction : + +# 2245| void static_variable_with_destructor_3() +# 2245| Block 0 +# 2245| v2245_1(void) = EnterFunction : +# 2245| m2245_2(unknown) = AliasedDefinition : +# 2245| m2245_3(unknown) = InitializeNonLocal : +# 2245| m2245_4(unknown) = Chi : total:m2245_2, partial:m2245_3 +# 2246| r2246_1(glval) = VariableAddress[a] : +# 2246| m2246_2(ClassWithDestructor) = Uninitialized[a] : &:r2246_1 +# 2246| r2246_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2246| v2246_4(void) = Call[ClassWithDestructor] : func:r2246_3, this:r2246_1 +# 2246| m2246_5(unknown) = ^CallSideEffect : ~m2245_4 +# 2246| m2246_6(unknown) = Chi : total:m2245_4, partial:m2246_5 +# 2246| m2246_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2246_1 +# 2246| m2246_8(ClassWithDestructor) = Chi : total:m2246_2, partial:m2246_7 +# 2247| r2247_1(glval) = VariableAddress[b] : +# 2247| m2247_2(ClassWithDestructor) = Uninitialized[b] : &:r2247_1 +# 2247| r2247_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2247| v2247_4(void) = Call[ClassWithDestructor] : func:r2247_3, this:r2247_1 +# 2247| m2247_5(unknown) = ^CallSideEffect : ~m2246_6 +# 2247| m2247_6(unknown) = Chi : total:m2246_6, partial:m2247_5 +# 2247| m2247_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1 +# 2247| m2247_8(ClassWithDestructor) = Chi : total:m2247_2, partial:m2247_7 +# 2248| r2248_1(glval) = VariableAddress[c#init] : +# 2248| r2248_2(bool) = Load[c#init] : &:r2248_1, ~m2247_6 +# 2248| v2248_3(void) = ConditionalBranch : r2248_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2234| Block 1 -# 2234| r2234_4(glval) = VariableAddress[c] : +# 2248| Block 1 +# 2248| r2248_4(glval) = VariableAddress[c] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2234_4 -#-----| m0_3(unknown) = ^CallSideEffect : ~m2233_6 -#-----| m0_4(unknown) = Chi : total:m2233_6, partial:m0_3 -#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2234_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2248_4 +#-----| m0_3(unknown) = ^CallSideEffect : ~m2247_6 +#-----| m0_4(unknown) = Chi : total:m2247_6, partial:m0_3 +#-----| m0_5(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2248_4 #-----| m0_6(unknown) = Chi : total:m0_4, partial:m0_5 -# 2234| r2234_5(bool) = Constant[1] : -# 2234| m2234_6(bool) = Store[c#init] : &:r2234_1, r2234_5 -# 2234| m2234_7(unknown) = Chi : total:m0_6, partial:m2234_6 +# 2248| r2248_5(bool) = Constant[1] : +# 2248| m2248_6(bool) = Store[c#init] : &:r2248_1, r2248_5 +# 2248| m2248_7(unknown) = Chi : total:m0_6, partial:m2248_6 #-----| Goto -> Block 2 -# 2235| Block 2 -# 2235| m2235_1(unknown) = Phi : from 0:~m2233_6, from 1:~m2234_7 -# 2235| v2235_2(void) = NoOp : -# 2235| r2235_3(glval) = VariableAddress[b] : -# 2235| r2235_4(glval) = FunctionAddress[~ClassWithDestructor] : -# 2235| v2235_5(void) = Call[~ClassWithDestructor] : func:r2235_4, this:r2235_3 -# 2235| m2235_6(unknown) = ^CallSideEffect : ~m2235_1 -# 2235| m2235_7(unknown) = Chi : total:m2235_1, partial:m2235_6 -# 2235| v2235_8(void) = ^IndirectReadSideEffect[-1] : &:r2235_3, m2233_8 -# 2235| m2235_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_3 -# 2235| m2235_10(ClassWithDestructor) = Chi : total:m2233_8, partial:m2235_9 -# 2235| r2235_11(glval) = VariableAddress[a] : -# 2235| r2235_12(glval) = FunctionAddress[~ClassWithDestructor] : -# 2235| v2235_13(void) = Call[~ClassWithDestructor] : func:r2235_12, this:r2235_11 -# 2235| m2235_14(unknown) = ^CallSideEffect : ~m2235_7 -# 2235| m2235_15(unknown) = Chi : total:m2235_7, partial:m2235_14 -# 2235| v2235_16(void) = ^IndirectReadSideEffect[-1] : &:r2235_11, m2232_8 -# 2235| m2235_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_11 -# 2235| m2235_18(ClassWithDestructor) = Chi : total:m2232_8, partial:m2235_17 -# 2231| v2231_5(void) = ReturnVoid : -# 2231| v2231_6(void) = AliasedUse : ~m2235_15 -# 2231| v2231_7(void) = ExitFunction : - -# 2237| ClassWithDestructor global_class_with_destructor -# 2237| Block 0 -# 2237| v2237_1(void) = EnterFunction : -# 2237| m2237_2(unknown) = AliasedDefinition : -# 2237| r2237_3(glval) = VariableAddress[global_class_with_destructor] : -# 2237| r2237_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2237| v2237_5(void) = Call[ClassWithDestructor] : func:r2237_4, this:r2237_3 -# 2237| m2237_6(unknown) = ^CallSideEffect : ~m2237_2 -# 2237| m2237_7(unknown) = Chi : total:m2237_2, partial:m2237_6 -# 2237| m2237_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_3 -# 2237| m2237_9(unknown) = Chi : total:m2237_7, partial:m2237_8 -# 2237| v2237_10(void) = ReturnVoid : -# 2237| v2237_11(void) = AliasedUse : ~m2237_9 -# 2237| v2237_12(void) = ExitFunction : - -# 2241| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2241| Block 0 -# 2241| v2241_1(void) = EnterFunction : -# 2241| m2241_2(unknown) = AliasedDefinition : -# 2241| m2241_3(unknown) = InitializeNonLocal : -# 2241| m2241_4(unknown) = Chi : total:m2241_2, partial:m2241_3 -# 2241| r2241_5(glval) = VariableAddress[t] : -# 2241| m2241_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2241_5 -# 2241| r2241_7(ClassWithDestructor &) = Load[t] : &:r2241_5, m2241_6 -# 2241| m2241_8(unknown) = InitializeIndirection[t] : &:r2241_7 -# 2241| r2241_9(glval) = VariableAddress[#return] : -# 2241| r2241_10(glval) = VariableAddress[t] : -# 2241| r2241_11(ClassWithDestructor &) = Load[t] : &:r2241_10, m2241_6 -# 2241| r2241_12(glval) = CopyValue : r2241_11 -# 2241| r2241_13(ClassWithDestructor &) = CopyValue : r2241_12 -# 2241| m2241_14(ClassWithDestructor &) = Store[#return] : &:r2241_9, r2241_13 -# 2241| v2241_15(void) = ReturnIndirection[t] : &:r2241_7, m2241_8 -# 2241| r2241_16(glval) = VariableAddress[#return] : -# 2241| v2241_17(void) = ReturnValue : &:r2241_16, m2241_14 -# 2241| v2241_18(void) = AliasedUse : m2241_3 -# 2241| v2241_19(void) = ExitFunction : - -# 2241| int& vacuous_destructor_call::get(int&) -# 2241| Block 0 -# 2241| v2241_1(void) = EnterFunction : -# 2241| m2241_2(unknown) = AliasedDefinition : -# 2241| m2241_3(unknown) = InitializeNonLocal : -# 2241| m2241_4(unknown) = Chi : total:m2241_2, partial:m2241_3 -# 2241| r2241_5(glval) = VariableAddress[t] : -# 2241| m2241_6(int &) = InitializeParameter[t] : &:r2241_5 -# 2241| r2241_7(int &) = Load[t] : &:r2241_5, m2241_6 -# 2241| m2241_8(unknown) = InitializeIndirection[t] : &:r2241_7 -# 2241| r2241_9(glval) = VariableAddress[#return] : -# 2241| r2241_10(glval) = VariableAddress[t] : -# 2241| r2241_11(int &) = Load[t] : &:r2241_10, m2241_6 -# 2241| r2241_12(glval) = CopyValue : r2241_11 -# 2241| r2241_13(int &) = CopyValue : r2241_12 -# 2241| m2241_14(int &) = Store[#return] : &:r2241_9, r2241_13 -# 2241| v2241_15(void) = ReturnIndirection[t] : &:r2241_7, m2241_8 -# 2241| r2241_16(glval) = VariableAddress[#return] : -# 2241| v2241_17(void) = ReturnValue : &:r2241_16, m2241_14 -# 2241| v2241_18(void) = AliasedUse : m2241_3 -# 2241| v2241_19(void) = ExitFunction : - -# 2244| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2244| Block 0 -# 2244| v2244_1(void) = EnterFunction : -# 2244| m2244_2(unknown) = AliasedDefinition : -# 2244| m2244_3(unknown) = InitializeNonLocal : -# 2244| m2244_4(unknown) = Chi : total:m2244_2, partial:m2244_3 -# 2244| r2244_5(glval) = VariableAddress[t] : -# 2244| m2244_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2244_5 -# 2244| r2244_7(ClassWithDestructor &) = Load[t] : &:r2244_5, m2244_6 -# 2244| m2244_8(unknown) = InitializeIndirection[t] : &:r2244_7 -# 2245| r2245_1(glval) = FunctionAddress[get] : -# 2245| r2245_2(glval) = VariableAddress[t] : -# 2245| r2245_3(ClassWithDestructor &) = Load[t] : &:r2245_2, m2244_6 -# 2245| r2245_4(glval) = CopyValue : r2245_3 -# 2245| r2245_5(ClassWithDestructor &) = CopyValue : r2245_4 -# 2245| r2245_6(ClassWithDestructor &) = Call[get] : func:r2245_1, 0:r2245_5 -# 2245| m2245_7(unknown) = ^CallSideEffect : ~m2244_4 -# 2245| m2245_8(unknown) = Chi : total:m2244_4, partial:m2245_7 -# 2245| v2245_9(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m2244_8 -# 2245| m2245_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 -# 2245| m2245_11(unknown) = Chi : total:m2244_8, partial:m2245_10 -# 2245| r2245_12(glval) = CopyValue : r2245_6 -# 2245| r2245_13(glval) = FunctionAddress[~ClassWithDestructor] : -# 2245| v2245_14(void) = Call[~ClassWithDestructor] : func:r2245_13 -# 2245| m2245_15(unknown) = ^CallSideEffect : ~m2245_8 -# 2245| m2245_16(unknown) = Chi : total:m2245_8, partial:m2245_15 -# 2245| v2245_17(void) = ^IndirectReadSideEffect[-1] : &:r2245_12, ~m2245_11 -# 2245| m2245_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2245_12 -# 2245| m2245_19(unknown) = Chi : total:m2245_11, partial:m2245_18 -# 2246| v2246_1(void) = NoOp : -# 2244| v2244_9(void) = ReturnIndirection[t] : &:r2244_7, m2245_19 -# 2244| v2244_10(void) = ReturnVoid : -# 2244| v2244_11(void) = AliasedUse : ~m2245_16 -# 2244| v2244_12(void) = ExitFunction : - -# 2244| void vacuous_destructor_call::call_destructor(int&) -# 2244| Block 0 -# 2244| v2244_1(void) = EnterFunction : -# 2244| m2244_2(unknown) = AliasedDefinition : -# 2244| m2244_3(unknown) = InitializeNonLocal : -# 2244| m2244_4(unknown) = Chi : total:m2244_2, partial:m2244_3 -# 2244| r2244_5(glval) = VariableAddress[t] : -# 2244| m2244_6(int &) = InitializeParameter[t] : &:r2244_5 -# 2244| r2244_7(int &) = Load[t] : &:r2244_5, m2244_6 -# 2244| m2244_8(unknown) = InitializeIndirection[t] : &:r2244_7 -# 2245| r2245_1(glval) = FunctionAddress[get] : -# 2245| r2245_2(glval) = VariableAddress[t] : -# 2245| r2245_3(int &) = Load[t] : &:r2245_2, m2244_6 -# 2245| r2245_4(glval) = CopyValue : r2245_3 -# 2245| r2245_5(int &) = CopyValue : r2245_4 -# 2245| r2245_6(int &) = Call[get] : func:r2245_1, 0:r2245_5 -# 2245| m2245_7(unknown) = ^CallSideEffect : ~m2244_4 -# 2245| m2245_8(unknown) = Chi : total:m2244_4, partial:m2245_7 -# 2245| v2245_9(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m2244_8 -# 2245| m2245_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 -# 2245| m2245_11(unknown) = Chi : total:m2244_8, partial:m2245_10 -# 2245| r2245_12(glval) = CopyValue : r2245_6 -# 2246| v2246_1(void) = NoOp : -# 2244| v2244_9(void) = ReturnIndirection[t] : &:r2244_7, m2245_11 -# 2244| v2244_10(void) = ReturnVoid : -# 2244| v2244_11(void) = AliasedUse : ~m2245_8 -# 2244| v2244_12(void) = ExitFunction : - -# 2248| void vacuous_destructor_call::non_vacuous_destructor_call() -# 2248| Block 0 -# 2248| v2248_1(void) = EnterFunction : -# 2248| m2248_2(unknown) = AliasedDefinition : -# 2248| m2248_3(unknown) = InitializeNonLocal : -# 2248| m2248_4(unknown) = Chi : total:m2248_2, partial:m2248_3 -# 2249| r2249_1(glval) = VariableAddress[c] : -# 2249| m2249_2(ClassWithDestructor) = Uninitialized[c] : &:r2249_1 -# 2249| r2249_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2249| v2249_4(void) = Call[ClassWithDestructor] : func:r2249_3, this:r2249_1 -# 2249| m2249_5(unknown) = ^CallSideEffect : ~m2248_4 -# 2249| m2249_6(unknown) = Chi : total:m2248_4, partial:m2249_5 -# 2249| m2249_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_1 -# 2249| m2249_8(ClassWithDestructor) = Chi : total:m2249_2, partial:m2249_7 -# 2250| r2250_1(glval) = FunctionAddress[call_destructor] : -# 2250| r2250_2(glval) = VariableAddress[c] : -# 2250| r2250_3(ClassWithDestructor &) = CopyValue : r2250_2 -# 2250| v2250_4(void) = Call[call_destructor] : func:r2250_1, 0:r2250_3 -# 2250| m2250_5(unknown) = ^CallSideEffect : ~m2249_6 -# 2250| m2250_6(unknown) = Chi : total:m2249_6, partial:m2250_5 -# 2250| v2250_7(void) = ^BufferReadSideEffect[0] : &:r2250_3, ~m2249_8 -# 2250| m2250_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2250_3 -# 2250| m2250_9(ClassWithDestructor) = Chi : total:m2249_8, partial:m2250_8 -# 2251| v2251_1(void) = NoOp : -# 2251| r2251_2(glval) = VariableAddress[c] : -# 2251| r2251_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2251| v2251_4(void) = Call[~ClassWithDestructor] : func:r2251_3, this:r2251_2 -# 2251| m2251_5(unknown) = ^CallSideEffect : ~m2250_6 -# 2251| m2251_6(unknown) = Chi : total:m2250_6, partial:m2251_5 -# 2251| v2251_7(void) = ^IndirectReadSideEffect[-1] : &:r2251_2, m2250_9 -# 2251| m2251_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_2 -# 2251| m2251_9(ClassWithDestructor) = Chi : total:m2250_9, partial:m2251_8 -# 2248| v2248_5(void) = ReturnVoid : -# 2248| v2248_6(void) = AliasedUse : ~m2251_6 -# 2248| v2248_7(void) = ExitFunction : - -# 2253| void vacuous_destructor_call::vacuous_destructor_call() -# 2253| Block 0 -# 2253| v2253_1(void) = EnterFunction : -# 2253| m2253_2(unknown) = AliasedDefinition : -# 2253| m2253_3(unknown) = InitializeNonLocal : -# 2253| m2253_4(unknown) = Chi : total:m2253_2, partial:m2253_3 -# 2254| r2254_1(glval) = VariableAddress[i] : -# 2254| m2254_2(int) = Uninitialized[i] : &:r2254_1 -# 2255| r2255_1(glval) = FunctionAddress[call_destructor] : -# 2255| r2255_2(glval) = VariableAddress[i] : -# 2255| r2255_3(int &) = CopyValue : r2255_2 -# 2255| v2255_4(void) = Call[call_destructor] : func:r2255_1, 0:r2255_3 -# 2255| m2255_5(unknown) = ^CallSideEffect : ~m2253_4 -# 2255| m2255_6(unknown) = Chi : total:m2253_4, partial:m2255_5 -# 2255| v2255_7(void) = ^BufferReadSideEffect[0] : &:r2255_3, ~m2254_2 -# 2255| m2255_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2255_3 -# 2255| m2255_9(int) = Chi : total:m2254_2, partial:m2255_8 -# 2256| v2256_1(void) = NoOp : -# 2253| v2253_5(void) = ReturnVoid : -# 2253| v2253_6(void) = AliasedUse : ~m2255_6 -# 2253| v2253_7(void) = ExitFunction : - -# 2259| void TryCatchDestructors(bool) -# 2259| Block 0 -# 2259| v2259_1(void) = EnterFunction : -# 2259| m2259_2(unknown) = AliasedDefinition : -# 2259| m2259_3(unknown) = InitializeNonLocal : -# 2259| m2259_4(unknown) = Chi : total:m2259_2, partial:m2259_3 -# 2259| r2259_5(glval) = VariableAddress[b] : -# 2259| m2259_6(bool) = InitializeParameter[b] : &:r2259_5 -# 2261| r2261_1(glval) = VariableAddress[s] : -# 2261| m2261_2(String) = Uninitialized[s] : &:r2261_1 -# 2261| r2261_3(glval) = FunctionAddress[String] : -# 2261| v2261_4(void) = Call[String] : func:r2261_3, this:r2261_1 -# 2261| m2261_5(unknown) = ^CallSideEffect : ~m2259_4 -# 2261| m2261_6(unknown) = Chi : total:m2259_4, partial:m2261_5 -# 2261| m2261_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2261_1 -# 2261| m2261_8(String) = Chi : total:m2261_2, partial:m2261_7 -# 2262| r2262_1(glval) = VariableAddress[b] : -# 2262| r2262_2(bool) = Load[b] : &:r2262_1, m2259_6 -# 2262| v2262_3(void) = ConditionalBranch : r2262_2 +# 2249| Block 2 +# 2249| m2249_1(unknown) = Phi : from 0:~m2247_6, from 1:~m2248_7 +# 2249| v2249_2(void) = NoOp : +# 2249| r2249_3(glval) = VariableAddress[b] : +# 2249| r2249_4(glval) = FunctionAddress[~ClassWithDestructor] : +# 2249| v2249_5(void) = Call[~ClassWithDestructor] : func:r2249_4, this:r2249_3 +# 2249| m2249_6(unknown) = ^CallSideEffect : ~m2249_1 +# 2249| m2249_7(unknown) = Chi : total:m2249_1, partial:m2249_6 +# 2249| v2249_8(void) = ^IndirectReadSideEffect[-1] : &:r2249_3, m2247_8 +# 2249| m2249_9(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_3 +# 2249| m2249_10(ClassWithDestructor) = Chi : total:m2247_8, partial:m2249_9 +# 2249| r2249_11(glval) = VariableAddress[a] : +# 2249| r2249_12(glval) = FunctionAddress[~ClassWithDestructor] : +# 2249| v2249_13(void) = Call[~ClassWithDestructor] : func:r2249_12, this:r2249_11 +# 2249| m2249_14(unknown) = ^CallSideEffect : ~m2249_7 +# 2249| m2249_15(unknown) = Chi : total:m2249_7, partial:m2249_14 +# 2249| v2249_16(void) = ^IndirectReadSideEffect[-1] : &:r2249_11, m2246_8 +# 2249| m2249_17(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_11 +# 2249| m2249_18(ClassWithDestructor) = Chi : total:m2246_8, partial:m2249_17 +# 2245| v2245_5(void) = ReturnVoid : +# 2245| v2245_6(void) = AliasedUse : ~m2249_15 +# 2245| v2245_7(void) = ExitFunction : + +# 2251| ClassWithDestructor global_class_with_destructor +# 2251| Block 0 +# 2251| v2251_1(void) = EnterFunction : +# 2251| m2251_2(unknown) = AliasedDefinition : +# 2251| r2251_3(glval) = VariableAddress[global_class_with_destructor] : +# 2251| r2251_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2251| v2251_5(void) = Call[ClassWithDestructor] : func:r2251_4, this:r2251_3 +# 2251| m2251_6(unknown) = ^CallSideEffect : ~m2251_2 +# 2251| m2251_7(unknown) = Chi : total:m2251_2, partial:m2251_6 +# 2251| m2251_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_3 +# 2251| m2251_9(unknown) = Chi : total:m2251_7, partial:m2251_8 +# 2251| v2251_10(void) = ReturnVoid : +# 2251| v2251_11(void) = AliasedUse : ~m2251_9 +# 2251| v2251_12(void) = ExitFunction : + +# 2255| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2255| Block 0 +# 2255| v2255_1(void) = EnterFunction : +# 2255| m2255_2(unknown) = AliasedDefinition : +# 2255| m2255_3(unknown) = InitializeNonLocal : +# 2255| m2255_4(unknown) = Chi : total:m2255_2, partial:m2255_3 +# 2255| r2255_5(glval) = VariableAddress[t] : +# 2255| m2255_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2255_5 +# 2255| r2255_7(ClassWithDestructor &) = Load[t] : &:r2255_5, m2255_6 +# 2255| m2255_8(unknown) = InitializeIndirection[t] : &:r2255_7 +# 2255| r2255_9(glval) = VariableAddress[#return] : +# 2255| r2255_10(glval) = VariableAddress[t] : +# 2255| r2255_11(ClassWithDestructor &) = Load[t] : &:r2255_10, m2255_6 +# 2255| r2255_12(glval) = CopyValue : r2255_11 +# 2255| r2255_13(ClassWithDestructor &) = CopyValue : r2255_12 +# 2255| m2255_14(ClassWithDestructor &) = Store[#return] : &:r2255_9, r2255_13 +# 2255| v2255_15(void) = ReturnIndirection[t] : &:r2255_7, m2255_8 +# 2255| r2255_16(glval) = VariableAddress[#return] : +# 2255| v2255_17(void) = ReturnValue : &:r2255_16, m2255_14 +# 2255| v2255_18(void) = AliasedUse : m2255_3 +# 2255| v2255_19(void) = ExitFunction : + +# 2255| int& vacuous_destructor_call::get(int&) +# 2255| Block 0 +# 2255| v2255_1(void) = EnterFunction : +# 2255| m2255_2(unknown) = AliasedDefinition : +# 2255| m2255_3(unknown) = InitializeNonLocal : +# 2255| m2255_4(unknown) = Chi : total:m2255_2, partial:m2255_3 +# 2255| r2255_5(glval) = VariableAddress[t] : +# 2255| m2255_6(int &) = InitializeParameter[t] : &:r2255_5 +# 2255| r2255_7(int &) = Load[t] : &:r2255_5, m2255_6 +# 2255| m2255_8(unknown) = InitializeIndirection[t] : &:r2255_7 +# 2255| r2255_9(glval) = VariableAddress[#return] : +# 2255| r2255_10(glval) = VariableAddress[t] : +# 2255| r2255_11(int &) = Load[t] : &:r2255_10, m2255_6 +# 2255| r2255_12(glval) = CopyValue : r2255_11 +# 2255| r2255_13(int &) = CopyValue : r2255_12 +# 2255| m2255_14(int &) = Store[#return] : &:r2255_9, r2255_13 +# 2255| v2255_15(void) = ReturnIndirection[t] : &:r2255_7, m2255_8 +# 2255| r2255_16(glval) = VariableAddress[#return] : +# 2255| v2255_17(void) = ReturnValue : &:r2255_16, m2255_14 +# 2255| v2255_18(void) = AliasedUse : m2255_3 +# 2255| v2255_19(void) = ExitFunction : + +# 2258| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2258| Block 0 +# 2258| v2258_1(void) = EnterFunction : +# 2258| m2258_2(unknown) = AliasedDefinition : +# 2258| m2258_3(unknown) = InitializeNonLocal : +# 2258| m2258_4(unknown) = Chi : total:m2258_2, partial:m2258_3 +# 2258| r2258_5(glval) = VariableAddress[t] : +# 2258| m2258_6(ClassWithDestructor &) = InitializeParameter[t] : &:r2258_5 +# 2258| r2258_7(ClassWithDestructor &) = Load[t] : &:r2258_5, m2258_6 +# 2258| m2258_8(unknown) = InitializeIndirection[t] : &:r2258_7 +# 2259| r2259_1(glval) = FunctionAddress[get] : +# 2259| r2259_2(glval) = VariableAddress[t] : +# 2259| r2259_3(ClassWithDestructor &) = Load[t] : &:r2259_2, m2258_6 +# 2259| r2259_4(glval) = CopyValue : r2259_3 +# 2259| r2259_5(ClassWithDestructor &) = CopyValue : r2259_4 +# 2259| r2259_6(ClassWithDestructor &) = Call[get] : func:r2259_1, 0:r2259_5 +# 2259| m2259_7(unknown) = ^CallSideEffect : ~m2258_4 +# 2259| m2259_8(unknown) = Chi : total:m2258_4, partial:m2259_7 +# 2259| v2259_9(void) = ^BufferReadSideEffect[0] : &:r2259_5, ~m2258_8 +# 2259| m2259_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2259_5 +# 2259| m2259_11(unknown) = Chi : total:m2258_8, partial:m2259_10 +# 2259| r2259_12(glval) = CopyValue : r2259_6 +# 2259| r2259_13(glval) = FunctionAddress[~ClassWithDestructor] : +# 2259| v2259_14(void) = Call[~ClassWithDestructor] : func:r2259_13 +# 2259| m2259_15(unknown) = ^CallSideEffect : ~m2259_8 +# 2259| m2259_16(unknown) = Chi : total:m2259_8, partial:m2259_15 +# 2259| v2259_17(void) = ^IndirectReadSideEffect[-1] : &:r2259_12, ~m2259_11 +# 2259| m2259_18(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2259_12 +# 2259| m2259_19(unknown) = Chi : total:m2259_11, partial:m2259_18 +# 2260| v2260_1(void) = NoOp : +# 2258| v2258_9(void) = ReturnIndirection[t] : &:r2258_7, m2259_19 +# 2258| v2258_10(void) = ReturnVoid : +# 2258| v2258_11(void) = AliasedUse : ~m2259_16 +# 2258| v2258_12(void) = ExitFunction : + +# 2258| void vacuous_destructor_call::call_destructor(int&) +# 2258| Block 0 +# 2258| v2258_1(void) = EnterFunction : +# 2258| m2258_2(unknown) = AliasedDefinition : +# 2258| m2258_3(unknown) = InitializeNonLocal : +# 2258| m2258_4(unknown) = Chi : total:m2258_2, partial:m2258_3 +# 2258| r2258_5(glval) = VariableAddress[t] : +# 2258| m2258_6(int &) = InitializeParameter[t] : &:r2258_5 +# 2258| r2258_7(int &) = Load[t] : &:r2258_5, m2258_6 +# 2258| m2258_8(unknown) = InitializeIndirection[t] : &:r2258_7 +# 2259| r2259_1(glval) = FunctionAddress[get] : +# 2259| r2259_2(glval) = VariableAddress[t] : +# 2259| r2259_3(int &) = Load[t] : &:r2259_2, m2258_6 +# 2259| r2259_4(glval) = CopyValue : r2259_3 +# 2259| r2259_5(int &) = CopyValue : r2259_4 +# 2259| r2259_6(int &) = Call[get] : func:r2259_1, 0:r2259_5 +# 2259| m2259_7(unknown) = ^CallSideEffect : ~m2258_4 +# 2259| m2259_8(unknown) = Chi : total:m2258_4, partial:m2259_7 +# 2259| v2259_9(void) = ^BufferReadSideEffect[0] : &:r2259_5, ~m2258_8 +# 2259| m2259_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r2259_5 +# 2259| m2259_11(unknown) = Chi : total:m2258_8, partial:m2259_10 +# 2259| r2259_12(glval) = CopyValue : r2259_6 +# 2260| v2260_1(void) = NoOp : +# 2258| v2258_9(void) = ReturnIndirection[t] : &:r2258_7, m2259_11 +# 2258| v2258_10(void) = ReturnVoid : +# 2258| v2258_11(void) = AliasedUse : ~m2259_8 +# 2258| v2258_12(void) = ExitFunction : + +# 2262| void vacuous_destructor_call::non_vacuous_destructor_call() +# 2262| Block 0 +# 2262| v2262_1(void) = EnterFunction : +# 2262| m2262_2(unknown) = AliasedDefinition : +# 2262| m2262_3(unknown) = InitializeNonLocal : +# 2262| m2262_4(unknown) = Chi : total:m2262_2, partial:m2262_3 +# 2263| r2263_1(glval) = VariableAddress[c] : +# 2263| m2263_2(ClassWithDestructor) = Uninitialized[c] : &:r2263_1 +# 2263| r2263_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2263| v2263_4(void) = Call[ClassWithDestructor] : func:r2263_3, this:r2263_1 +# 2263| m2263_5(unknown) = ^CallSideEffect : ~m2262_4 +# 2263| m2263_6(unknown) = Chi : total:m2262_4, partial:m2263_5 +# 2263| m2263_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2263_1 +# 2263| m2263_8(ClassWithDestructor) = Chi : total:m2263_2, partial:m2263_7 +# 2264| r2264_1(glval) = FunctionAddress[call_destructor] : +# 2264| r2264_2(glval) = VariableAddress[c] : +# 2264| r2264_3(ClassWithDestructor &) = CopyValue : r2264_2 +# 2264| v2264_4(void) = Call[call_destructor] : func:r2264_1, 0:r2264_3 +# 2264| m2264_5(unknown) = ^CallSideEffect : ~m2263_6 +# 2264| m2264_6(unknown) = Chi : total:m2263_6, partial:m2264_5 +# 2264| v2264_7(void) = ^BufferReadSideEffect[0] : &:r2264_3, ~m2263_8 +# 2264| m2264_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2264_3 +# 2264| m2264_9(ClassWithDestructor) = Chi : total:m2263_8, partial:m2264_8 +# 2265| v2265_1(void) = NoOp : +# 2265| r2265_2(glval) = VariableAddress[c] : +# 2265| r2265_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2265| v2265_4(void) = Call[~ClassWithDestructor] : func:r2265_3, this:r2265_2 +# 2265| m2265_5(unknown) = ^CallSideEffect : ~m2264_6 +# 2265| m2265_6(unknown) = Chi : total:m2264_6, partial:m2265_5 +# 2265| v2265_7(void) = ^IndirectReadSideEffect[-1] : &:r2265_2, m2264_9 +# 2265| m2265_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2265_2 +# 2265| m2265_9(ClassWithDestructor) = Chi : total:m2264_9, partial:m2265_8 +# 2262| v2262_5(void) = ReturnVoid : +# 2262| v2262_6(void) = AliasedUse : ~m2265_6 +# 2262| v2262_7(void) = ExitFunction : + +# 2267| void vacuous_destructor_call::vacuous_destructor_call() +# 2267| Block 0 +# 2267| v2267_1(void) = EnterFunction : +# 2267| m2267_2(unknown) = AliasedDefinition : +# 2267| m2267_3(unknown) = InitializeNonLocal : +# 2267| m2267_4(unknown) = Chi : total:m2267_2, partial:m2267_3 +# 2268| r2268_1(glval) = VariableAddress[i] : +# 2268| m2268_2(int) = Uninitialized[i] : &:r2268_1 +# 2269| r2269_1(glval) = FunctionAddress[call_destructor] : +# 2269| r2269_2(glval) = VariableAddress[i] : +# 2269| r2269_3(int &) = CopyValue : r2269_2 +# 2269| v2269_4(void) = Call[call_destructor] : func:r2269_1, 0:r2269_3 +# 2269| m2269_5(unknown) = ^CallSideEffect : ~m2267_4 +# 2269| m2269_6(unknown) = Chi : total:m2267_4, partial:m2269_5 +# 2269| v2269_7(void) = ^BufferReadSideEffect[0] : &:r2269_3, ~m2268_2 +# 2269| m2269_8(unknown) = ^BufferMayWriteSideEffect[0] : &:r2269_3 +# 2269| m2269_9(int) = Chi : total:m2268_2, partial:m2269_8 +# 2270| v2270_1(void) = NoOp : +# 2267| v2267_5(void) = ReturnVoid : +# 2267| v2267_6(void) = AliasedUse : ~m2269_6 +# 2267| v2267_7(void) = ExitFunction : + +# 2273| void TryCatchDestructors(bool) +# 2273| Block 0 +# 2273| v2273_1(void) = EnterFunction : +# 2273| m2273_2(unknown) = AliasedDefinition : +# 2273| m2273_3(unknown) = InitializeNonLocal : +# 2273| m2273_4(unknown) = Chi : total:m2273_2, partial:m2273_3 +# 2273| r2273_5(glval) = VariableAddress[b] : +# 2273| m2273_6(bool) = InitializeParameter[b] : &:r2273_5 +# 2275| r2275_1(glval) = VariableAddress[s] : +# 2275| m2275_2(String) = Uninitialized[s] : &:r2275_1 +# 2275| r2275_3(glval) = FunctionAddress[String] : +# 2275| v2275_4(void) = Call[String] : func:r2275_3, this:r2275_1 +# 2275| m2275_5(unknown) = ^CallSideEffect : ~m2273_4 +# 2275| m2275_6(unknown) = Chi : total:m2273_4, partial:m2275_5 +# 2275| m2275_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1 +# 2275| m2275_8(String) = Chi : total:m2275_2, partial:m2275_7 +# 2276| r2276_1(glval) = VariableAddress[b] : +# 2276| r2276_2(bool) = Load[b] : &:r2276_1, m2273_6 +# 2276| v2276_3(void) = ConditionalBranch : r2276_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 2259| Block 1 -# 2259| m2259_7(unknown) = Phi : from 2:~m2259_10, from 10:~m2275_1 -# 2259| v2259_8(void) = AliasedUse : ~m2259_7 -# 2259| v2259_9(void) = ExitFunction : +# 2273| Block 1 +# 2273| m2273_7(unknown) = Phi : from 2:~m2273_10, from 10:~m2289_1 +# 2273| v2273_8(void) = AliasedUse : ~m2273_7 +# 2273| v2273_9(void) = ExitFunction : -# 2259| Block 2 -# 2259| m2259_10(unknown) = Phi : from 6:~m2268_8, from 9:~m2261_6 -# 2259| v2259_11(void) = Unwind : +# 2273| Block 2 +# 2273| m2273_10(unknown) = Phi : from 6:~m2282_8, from 9:~m2275_6 +# 2273| v2273_11(void) = Unwind : #-----| Goto -> Block 1 -# 2263| Block 3 -# 2263| r2263_1(glval) = VariableAddress[#throw2263:7] : -# 2263| r2263_2(glval) = StringConstant["string literal"] : -# 2263| r2263_3(char *) = Convert : r2263_2 -# 2263| m2263_4(char *) = Store[#throw2263:7] : &:r2263_1, r2263_3 -# 2263| v2263_5(void) = ThrowValue : &:r2263_1, m2263_4 +# 2277| Block 3 +# 2277| r2277_1(glval) = VariableAddress[#throw2277:7] : +# 2277| r2277_2(glval) = StringConstant["string literal"] : +# 2277| r2277_3(char *) = Convert : r2277_2 +# 2277| m2277_4(char *) = Store[#throw2277:7] : &:r2277_1, r2277_3 +# 2277| v2277_5(void) = ThrowValue : &:r2277_1, m2277_4 #-----| Exception -> Block 5 -# 2265| Block 4 -# 2265| r2265_1(glval) = VariableAddress[s2] : -# 2265| m2265_2(String) = Uninitialized[s2] : &:r2265_1 -# 2265| r2265_3(glval) = FunctionAddress[String] : -# 2265| v2265_4(void) = Call[String] : func:r2265_3, this:r2265_1 -# 2265| m2265_5(unknown) = ^CallSideEffect : ~m2261_6 -# 2265| m2265_6(unknown) = Chi : total:m2261_6, partial:m2265_5 -# 2265| m2265_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2265_1 -# 2265| m2265_8(String) = Chi : total:m2265_2, partial:m2265_7 -# 2266| r2266_1(glval) = VariableAddress[s2] : -# 2266| r2266_2(glval) = FunctionAddress[~String] : -# 2266| v2266_3(void) = Call[~String] : func:r2266_2, this:r2266_1 -# 2266| m2266_4(unknown) = ^CallSideEffect : ~m2265_6 -# 2266| m2266_5(unknown) = Chi : total:m2265_6, partial:m2266_4 -# 2266| v2266_6(void) = ^IndirectReadSideEffect[-1] : &:r2266_1, m2265_8 -# 2266| m2266_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_1 -# 2266| m2266_8(String) = Chi : total:m2265_8, partial:m2266_7 -# 2266| r2266_9(glval) = VariableAddress[s] : -# 2266| r2266_10(glval) = FunctionAddress[~String] : -# 2266| v2266_11(void) = Call[~String] : func:r2266_10, this:r2266_9 -# 2266| m2266_12(unknown) = ^CallSideEffect : ~m2266_5 -# 2266| m2266_13(unknown) = Chi : total:m2266_5, partial:m2266_12 -# 2266| v2266_14(void) = ^IndirectReadSideEffect[-1] : &:r2266_9, m2261_8 -# 2266| m2266_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_9 -# 2266| m2266_16(String) = Chi : total:m2261_8, partial:m2266_15 +# 2279| Block 4 +# 2279| r2279_1(glval) = VariableAddress[s2] : +# 2279| m2279_2(String) = Uninitialized[s2] : &:r2279_1 +# 2279| r2279_3(glval) = FunctionAddress[String] : +# 2279| v2279_4(void) = Call[String] : func:r2279_3, this:r2279_1 +# 2279| m2279_5(unknown) = ^CallSideEffect : ~m2275_6 +# 2279| m2279_6(unknown) = Chi : total:m2275_6, partial:m2279_5 +# 2279| m2279_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2279_1 +# 2279| m2279_8(String) = Chi : total:m2279_2, partial:m2279_7 +# 2280| r2280_1(glval) = VariableAddress[s2] : +# 2280| r2280_2(glval) = FunctionAddress[~String] : +# 2280| v2280_3(void) = Call[~String] : func:r2280_2, this:r2280_1 +# 2280| m2280_4(unknown) = ^CallSideEffect : ~m2279_6 +# 2280| m2280_5(unknown) = Chi : total:m2279_6, partial:m2280_4 +# 2280| v2280_6(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, m2279_8 +# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 +# 2280| m2280_8(String) = Chi : total:m2279_8, partial:m2280_7 +# 2280| r2280_9(glval) = VariableAddress[s] : +# 2280| r2280_10(glval) = FunctionAddress[~String] : +# 2280| v2280_11(void) = Call[~String] : func:r2280_10, this:r2280_9 +# 2280| m2280_12(unknown) = ^CallSideEffect : ~m2280_5 +# 2280| m2280_13(unknown) = Chi : total:m2280_5, partial:m2280_12 +# 2280| v2280_14(void) = ^IndirectReadSideEffect[-1] : &:r2280_9, m2275_8 +# 2280| m2280_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_9 +# 2280| m2280_16(String) = Chi : total:m2275_8, partial:m2280_15 #-----| Goto -> Block 10 -# 2267| Block 5 -# 2267| v2267_1(void) = CatchByType[const char *] : +# 2281| Block 5 +# 2281| v2281_1(void) = CatchByType[const char *] : #-----| Exception -> Block 7 #-----| Goto -> Block 6 -# 2267| Block 6 -# 2267| r2267_2(glval) = VariableAddress[s] : -# 2267| m2267_3(char *) = InitializeParameter[s] : &:r2267_2 -# 2267| r2267_4(char *) = Load[s] : &:r2267_2, m2267_3 -# 2267| m2267_5(unknown) = InitializeIndirection[s] : &:r2267_4 -# 2268| r2268_1(glval) = VariableAddress[#throw2268:5] : -# 2268| m2268_2(String) = Uninitialized[#throw2268:5] : &:r2268_1 -# 2268| r2268_3(glval) = FunctionAddress[String] : -# 2268| r2268_4(glval) = VariableAddress[s] : -# 2268| r2268_5(char *) = Load[s] : &:r2268_4, m2267_3 -# 2268| v2268_6(void) = Call[String] : func:r2268_3, this:r2268_1, 0:r2268_5 -# 2268| m2268_7(unknown) = ^CallSideEffect : ~m2261_6 -# 2268| m2268_8(unknown) = Chi : total:m2261_6, partial:m2268_7 -# 2268| v2268_9(void) = ^BufferReadSideEffect[0] : &:r2268_5, ~m2267_5 -# 2268| m2268_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2268_1 -# 2268| m2268_11(String) = Chi : total:m2268_2, partial:m2268_10 -# 2268| v2268_12(void) = ThrowValue : &:r2268_1, m2268_11 +# 2281| Block 6 +# 2281| r2281_2(glval) = VariableAddress[s] : +# 2281| m2281_3(char *) = InitializeParameter[s] : &:r2281_2 +# 2281| r2281_4(char *) = Load[s] : &:r2281_2, m2281_3 +# 2281| m2281_5(unknown) = InitializeIndirection[s] : &:r2281_4 +# 2282| r2282_1(glval) = VariableAddress[#throw2282:5] : +# 2282| m2282_2(String) = Uninitialized[#throw2282:5] : &:r2282_1 +# 2282| r2282_3(glval) = FunctionAddress[String] : +# 2282| r2282_4(glval) = VariableAddress[s] : +# 2282| r2282_5(char *) = Load[s] : &:r2282_4, m2281_3 +# 2282| v2282_6(void) = Call[String] : func:r2282_3, this:r2282_1, 0:r2282_5 +# 2282| m2282_7(unknown) = ^CallSideEffect : ~m2275_6 +# 2282| m2282_8(unknown) = Chi : total:m2275_6, partial:m2282_7 +# 2282| v2282_9(void) = ^BufferReadSideEffect[0] : &:r2282_5, ~m2281_5 +# 2282| m2282_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 +# 2282| m2282_11(String) = Chi : total:m2282_2, partial:m2282_10 +# 2282| v2282_12(void) = ThrowValue : &:r2282_1, m2282_11 #-----| Exception -> Block 2 -# 2270| Block 7 -# 2270| v2270_1(void) = CatchByType[const String &] : +# 2284| Block 7 +# 2284| v2284_1(void) = CatchByType[const String &] : #-----| Exception -> Block 9 #-----| Goto -> Block 8 -# 2270| Block 8 -# 2270| r2270_2(glval) = VariableAddress[e] : -# 2270| m2270_3(String &) = InitializeParameter[e] : &:r2270_2 -# 2270| r2270_4(String &) = Load[e] : &:r2270_2, m2270_3 -# 2270| m2270_5(unknown) = InitializeIndirection[e] : &:r2270_4 -# 2270| v2270_6(void) = NoOp : +# 2284| Block 8 +# 2284| r2284_2(glval) = VariableAddress[e] : +# 2284| m2284_3(String &) = InitializeParameter[e] : &:r2284_2 +# 2284| r2284_4(String &) = Load[e] : &:r2284_2, m2284_3 +# 2284| m2284_5(unknown) = InitializeIndirection[e] : &:r2284_4 +# 2284| v2284_6(void) = NoOp : #-----| Goto -> Block 10 -# 2272| Block 9 -# 2272| v2272_1(void) = CatchAny : -# 2273| v2273_1(void) = ReThrow : +# 2286| Block 9 +# 2286| v2286_1(void) = CatchAny : +# 2287| v2287_1(void) = ReThrow : #-----| Exception -> Block 2 -# 2275| Block 10 -# 2275| m2275_1(unknown) = Phi : from 4:~m2266_13, from 8:~m2261_6 -# 2275| v2275_2(void) = NoOp : -# 2259| v2259_12(void) = ReturnVoid : +# 2289| Block 10 +# 2289| m2289_1(unknown) = Phi : from 4:~m2280_13, from 8:~m2275_6 +# 2289| v2289_2(void) = NoOp : +# 2273| v2273_12(void) = ReturnVoid : #-----| Goto -> Block 1 -# 2277| void IfDestructors(bool) -# 2277| Block 0 -# 2277| v2277_1(void) = EnterFunction : -# 2277| m2277_2(unknown) = AliasedDefinition : -# 2277| m2277_3(unknown) = InitializeNonLocal : -# 2277| m2277_4(unknown) = Chi : total:m2277_2, partial:m2277_3 -# 2277| r2277_5(glval) = VariableAddress[b] : -# 2277| m2277_6(bool) = InitializeParameter[b] : &:r2277_5 -# 2278| r2278_1(glval) = VariableAddress[s1] : -# 2278| m2278_2(String) = Uninitialized[s1] : &:r2278_1 -# 2278| r2278_3(glval) = FunctionAddress[String] : -# 2278| v2278_4(void) = Call[String] : func:r2278_3, this:r2278_1 -# 2278| m2278_5(unknown) = ^CallSideEffect : ~m2277_4 -# 2278| m2278_6(unknown) = Chi : total:m2277_4, partial:m2278_5 -# 2278| m2278_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2278_1 -# 2278| m2278_8(String) = Chi : total:m2278_2, partial:m2278_7 -# 2279| r2279_1(glval) = VariableAddress[b] : -# 2279| r2279_2(bool) = Load[b] : &:r2279_1, m2277_6 -# 2279| v2279_3(void) = ConditionalBranch : r2279_2 +# 2291| void IfDestructors(bool) +# 2291| Block 0 +# 2291| v2291_1(void) = EnterFunction : +# 2291| m2291_2(unknown) = AliasedDefinition : +# 2291| m2291_3(unknown) = InitializeNonLocal : +# 2291| m2291_4(unknown) = Chi : total:m2291_2, partial:m2291_3 +# 2291| r2291_5(glval) = VariableAddress[b] : +# 2291| m2291_6(bool) = InitializeParameter[b] : &:r2291_5 +# 2292| r2292_1(glval) = VariableAddress[s1] : +# 2292| m2292_2(String) = Uninitialized[s1] : &:r2292_1 +# 2292| r2292_3(glval) = FunctionAddress[String] : +# 2292| v2292_4(void) = Call[String] : func:r2292_3, this:r2292_1 +# 2292| m2292_5(unknown) = ^CallSideEffect : ~m2291_4 +# 2292| m2292_6(unknown) = Chi : total:m2291_4, partial:m2292_5 +# 2292| m2292_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2292_1 +# 2292| m2292_8(String) = Chi : total:m2292_2, partial:m2292_7 +# 2293| r2293_1(glval) = VariableAddress[b] : +# 2293| r2293_2(bool) = Load[b] : &:r2293_1, m2291_6 +# 2293| v2293_3(void) = ConditionalBranch : r2293_2 #-----| False -> Block 2 #-----| True -> Block 1 -# 2280| Block 1 -# 2280| r2280_1(glval) = VariableAddress[s2] : -# 2280| m2280_2(String) = Uninitialized[s2] : &:r2280_1 -# 2280| r2280_3(glval) = FunctionAddress[String] : -# 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 -# 2280| m2280_5(unknown) = ^CallSideEffect : ~m2278_6 -# 2280| m2280_6(unknown) = Chi : total:m2278_6, partial:m2280_5 -# 2280| m2280_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 -# 2280| m2280_8(String) = Chi : total:m2280_2, partial:m2280_7 -# 2281| r2281_1(glval) = VariableAddress[s2] : -# 2281| r2281_2(glval) = FunctionAddress[~String] : -# 2281| v2281_3(void) = Call[~String] : func:r2281_2, this:r2281_1 -# 2281| m2281_4(unknown) = ^CallSideEffect : ~m2280_6 -# 2281| m2281_5(unknown) = Chi : total:m2280_6, partial:m2281_4 -# 2281| v2281_6(void) = ^IndirectReadSideEffect[-1] : &:r2281_1, m2280_8 -# 2281| m2281_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2281_1 -# 2281| m2281_8(String) = Chi : total:m2280_8, partial:m2281_7 +# 2294| Block 1 +# 2294| r2294_1(glval) = VariableAddress[s2] : +# 2294| m2294_2(String) = Uninitialized[s2] : &:r2294_1 +# 2294| r2294_3(glval) = FunctionAddress[String] : +# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 +# 2294| m2294_5(unknown) = ^CallSideEffect : ~m2292_6 +# 2294| m2294_6(unknown) = Chi : total:m2292_6, partial:m2294_5 +# 2294| m2294_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 +# 2294| m2294_8(String) = Chi : total:m2294_2, partial:m2294_7 +# 2295| r2295_1(glval) = VariableAddress[s2] : +# 2295| r2295_2(glval) = FunctionAddress[~String] : +# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 +# 2295| m2295_4(unknown) = ^CallSideEffect : ~m2294_6 +# 2295| m2295_5(unknown) = Chi : total:m2294_6, partial:m2295_4 +# 2295| v2295_6(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, m2294_8 +# 2295| m2295_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 +# 2295| m2295_8(String) = Chi : total:m2294_8, partial:m2295_7 #-----| Goto -> Block 3 -# 2282| Block 2 -# 2282| r2282_1(glval) = VariableAddress[s3] : -# 2282| m2282_2(String) = Uninitialized[s3] : &:r2282_1 -# 2282| r2282_3(glval) = FunctionAddress[String] : -# 2282| v2282_4(void) = Call[String] : func:r2282_3, this:r2282_1 -# 2282| m2282_5(unknown) = ^CallSideEffect : ~m2278_6 -# 2282| m2282_6(unknown) = Chi : total:m2278_6, partial:m2282_5 -# 2282| m2282_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 -# 2282| m2282_8(String) = Chi : total:m2282_2, partial:m2282_7 -# 2283| r2283_1(glval) = VariableAddress[s3] : -# 2283| r2283_2(glval) = FunctionAddress[~String] : -# 2283| v2283_3(void) = Call[~String] : func:r2283_2, this:r2283_1 -# 2283| m2283_4(unknown) = ^CallSideEffect : ~m2282_6 -# 2283| m2283_5(unknown) = Chi : total:m2282_6, partial:m2283_4 -# 2283| v2283_6(void) = ^IndirectReadSideEffect[-1] : &:r2283_1, m2282_8 -# 2283| m2283_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2283_1 -# 2283| m2283_8(String) = Chi : total:m2282_8, partial:m2283_7 +# 2296| Block 2 +# 2296| r2296_1(glval) = VariableAddress[s3] : +# 2296| m2296_2(String) = Uninitialized[s3] : &:r2296_1 +# 2296| r2296_3(glval) = FunctionAddress[String] : +# 2296| v2296_4(void) = Call[String] : func:r2296_3, this:r2296_1 +# 2296| m2296_5(unknown) = ^CallSideEffect : ~m2292_6 +# 2296| m2296_6(unknown) = Chi : total:m2292_6, partial:m2296_5 +# 2296| m2296_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1 +# 2296| m2296_8(String) = Chi : total:m2296_2, partial:m2296_7 +# 2297| r2297_1(glval) = VariableAddress[s3] : +# 2297| r2297_2(glval) = FunctionAddress[~String] : +# 2297| v2297_3(void) = Call[~String] : func:r2297_2, this:r2297_1 +# 2297| m2297_4(unknown) = ^CallSideEffect : ~m2296_6 +# 2297| m2297_5(unknown) = Chi : total:m2296_6, partial:m2297_4 +# 2297| v2297_6(void) = ^IndirectReadSideEffect[-1] : &:r2297_1, m2296_8 +# 2297| m2297_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 +# 2297| m2297_8(String) = Chi : total:m2296_8, partial:m2297_7 #-----| Goto -> Block 3 -# 2284| Block 3 -# 2284| m2284_1(unknown) = Phi : from 1:~m2281_5, from 2:~m2283_5 -# 2284| r2284_2(glval) = VariableAddress[s4] : -# 2284| m2284_3(String) = Uninitialized[s4] : &:r2284_2 -# 2284| r2284_4(glval) = FunctionAddress[String] : -# 2284| v2284_5(void) = Call[String] : func:r2284_4, this:r2284_2 -# 2284| m2284_6(unknown) = ^CallSideEffect : ~m2284_1 -# 2284| m2284_7(unknown) = Chi : total:m2284_1, partial:m2284_6 -# 2284| m2284_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_2 -# 2284| m2284_9(String) = Chi : total:m2284_3, partial:m2284_8 -# 2285| v2285_1(void) = NoOp : -# 2285| r2285_2(glval) = VariableAddress[s4] : -# 2285| r2285_3(glval) = FunctionAddress[~String] : -# 2285| v2285_4(void) = Call[~String] : func:r2285_3, this:r2285_2 -# 2285| m2285_5(unknown) = ^CallSideEffect : ~m2284_7 -# 2285| m2285_6(unknown) = Chi : total:m2284_7, partial:m2285_5 -# 2285| v2285_7(void) = ^IndirectReadSideEffect[-1] : &:r2285_2, m2284_9 -# 2285| m2285_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_2 -# 2285| m2285_9(String) = Chi : total:m2284_9, partial:m2285_8 -# 2285| r2285_10(glval) = VariableAddress[s1] : -# 2285| r2285_11(glval) = FunctionAddress[~String] : -# 2285| v2285_12(void) = Call[~String] : func:r2285_11, this:r2285_10 -# 2285| m2285_13(unknown) = ^CallSideEffect : ~m2285_6 -# 2285| m2285_14(unknown) = Chi : total:m2285_6, partial:m2285_13 -# 2285| v2285_15(void) = ^IndirectReadSideEffect[-1] : &:r2285_10, m2278_8 -# 2285| m2285_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_10 -# 2285| m2285_17(String) = Chi : total:m2278_8, partial:m2285_16 -# 2277| v2277_7(void) = ReturnVoid : -# 2277| v2277_8(void) = AliasedUse : ~m2285_14 -# 2277| v2277_9(void) = ExitFunction : - -# 2287| void ForDestructors() -# 2287| Block 0 -# 2287| v2287_1(void) = EnterFunction : -# 2287| m2287_2(unknown) = AliasedDefinition : -# 2287| m2287_3(unknown) = InitializeNonLocal : -# 2287| m2287_4(unknown) = Chi : total:m2287_2, partial:m2287_3 -# 2288| r2288_1(glval) = VariableAddress[c] : -# 2288| r2288_2(char) = Constant[97] : -# 2288| m2288_3(char) = Store[c] : &:r2288_1, r2288_2 -# 2289| r2289_1(glval) = VariableAddress[s] : -# 2289| m2289_2(String) = Uninitialized[s] : &:r2289_1 -# 2289| r2289_3(glval) = FunctionAddress[String] : -# 2289| r2289_4(glval) = StringConstant["hello"] : -# 2289| r2289_5(char *) = Convert : r2289_4 -# 2289| v2289_6(void) = Call[String] : func:r2289_3, this:r2289_1, 0:r2289_5 -# 2289| m2289_7(unknown) = ^CallSideEffect : ~m2287_4 -# 2289| m2289_8(unknown) = Chi : total:m2287_4, partial:m2289_7 -# 2289| v2289_9(void) = ^BufferReadSideEffect[0] : &:r2289_5, ~m2287_3 -# 2289| m2289_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 -# 2289| m2289_11(String) = Chi : total:m2289_2, partial:m2289_10 +# 2298| Block 3 +# 2298| m2298_1(unknown) = Phi : from 1:~m2295_5, from 2:~m2297_5 +# 2298| r2298_2(glval) = VariableAddress[s4] : +# 2298| m2298_3(String) = Uninitialized[s4] : &:r2298_2 +# 2298| r2298_4(glval) = FunctionAddress[String] : +# 2298| v2298_5(void) = Call[String] : func:r2298_4, this:r2298_2 +# 2298| m2298_6(unknown) = ^CallSideEffect : ~m2298_1 +# 2298| m2298_7(unknown) = Chi : total:m2298_1, partial:m2298_6 +# 2298| m2298_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2298_2 +# 2298| m2298_9(String) = Chi : total:m2298_3, partial:m2298_8 +# 2299| v2299_1(void) = NoOp : +# 2299| r2299_2(glval) = VariableAddress[s4] : +# 2299| r2299_3(glval) = FunctionAddress[~String] : +# 2299| v2299_4(void) = Call[~String] : func:r2299_3, this:r2299_2 +# 2299| m2299_5(unknown) = ^CallSideEffect : ~m2298_7 +# 2299| m2299_6(unknown) = Chi : total:m2298_7, partial:m2299_5 +# 2299| v2299_7(void) = ^IndirectReadSideEffect[-1] : &:r2299_2, m2298_9 +# 2299| m2299_8(String) = ^IndirectMayWriteSideEffect[-1] : &:r2299_2 +# 2299| m2299_9(String) = Chi : total:m2298_9, partial:m2299_8 +# 2299| r2299_10(glval) = VariableAddress[s1] : +# 2299| r2299_11(glval) = FunctionAddress[~String] : +# 2299| v2299_12(void) = Call[~String] : func:r2299_11, this:r2299_10 +# 2299| m2299_13(unknown) = ^CallSideEffect : ~m2299_6 +# 2299| m2299_14(unknown) = Chi : total:m2299_6, partial:m2299_13 +# 2299| v2299_15(void) = ^IndirectReadSideEffect[-1] : &:r2299_10, m2292_8 +# 2299| m2299_16(String) = ^IndirectMayWriteSideEffect[-1] : &:r2299_10 +# 2299| m2299_17(String) = Chi : total:m2292_8, partial:m2299_16 +# 2291| v2291_7(void) = ReturnVoid : +# 2291| v2291_8(void) = AliasedUse : ~m2299_14 +# 2291| v2291_9(void) = ExitFunction : + +# 2301| void ForDestructors() +# 2301| Block 0 +# 2301| v2301_1(void) = EnterFunction : +# 2301| m2301_2(unknown) = AliasedDefinition : +# 2301| m2301_3(unknown) = InitializeNonLocal : +# 2301| m2301_4(unknown) = Chi : total:m2301_2, partial:m2301_3 +# 2302| r2302_1(glval) = VariableAddress[c] : +# 2302| r2302_2(char) = Constant[97] : +# 2302| m2302_3(char) = Store[c] : &:r2302_1, r2302_2 +# 2303| r2303_1(glval) = VariableAddress[s] : +# 2303| m2303_2(String) = Uninitialized[s] : &:r2303_1 +# 2303| r2303_3(glval) = FunctionAddress[String] : +# 2303| r2303_4(glval) = StringConstant["hello"] : +# 2303| r2303_5(char *) = Convert : r2303_4 +# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 +# 2303| m2303_7(unknown) = ^CallSideEffect : ~m2301_4 +# 2303| m2303_8(unknown) = Chi : total:m2301_4, partial:m2303_7 +# 2303| v2303_9(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m2301_3 +# 2303| m2303_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 +# 2303| m2303_11(String) = Chi : total:m2303_2, partial:m2303_10 #-----| Goto -> Block 1 -# 2289| Block 1 -# 2289| m2289_12(String) = Phi : from 0:m2289_11, from 2:m2289_28 -# 2289| m2289_13(unknown) = Phi : from 0:~m2289_8, from 2:~m2289_25 -# 2289| m2289_14(char) = Phi : from 0:m2288_3, from 2:m2289_30 -# 2289| r2289_15(glval) = VariableAddress[c] : -# 2289| r2289_16(char) = Load[c] : &:r2289_15, m2289_14 -# 2289| r2289_17(int) = Convert : r2289_16 -# 2289| r2289_18(int) = Constant[0] : -# 2289| r2289_19(bool) = CompareNE : r2289_17, r2289_18 -# 2289| v2289_20(void) = ConditionalBranch : r2289_19 +# 2303| Block 1 +# 2303| m2303_12(String) = Phi : from 0:m2303_11, from 2:m2303_28 +# 2303| m2303_13(unknown) = Phi : from 0:~m2303_8, from 2:~m2303_25 +# 2303| m2303_14(char) = Phi : from 0:m2302_3, from 2:m2303_30 +# 2303| r2303_15(glval) = VariableAddress[c] : +# 2303| r2303_16(char) = Load[c] : &:r2303_15, m2303_14 +# 2303| r2303_17(int) = Convert : r2303_16 +# 2303| r2303_18(int) = Constant[0] : +# 2303| r2303_19(bool) = CompareNE : r2303_17, r2303_18 +# 2303| v2303_20(void) = ConditionalBranch : r2303_19 #-----| False -> Block 3 #-----| True -> Block 2 -# 2290| Block 2 -# 2290| r2290_1(glval) = VariableAddress[s2] : -# 2290| m2290_2(String) = Uninitialized[s2] : &:r2290_1 -# 2290| r2290_3(glval) = FunctionAddress[String] : -# 2290| v2290_4(void) = Call[String] : func:r2290_3, this:r2290_1 -# 2290| m2290_5(unknown) = ^CallSideEffect : ~m2289_13 -# 2290| m2290_6(unknown) = Chi : total:m2289_13, partial:m2290_5 -# 2290| m2290_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2290_1 -# 2290| m2290_8(String) = Chi : total:m2290_2, partial:m2290_7 -# 2291| r2291_1(glval) = VariableAddress[s2] : -# 2291| r2291_2(glval) = FunctionAddress[~String] : -# 2291| v2291_3(void) = Call[~String] : func:r2291_2, this:r2291_1 -# 2291| m2291_4(unknown) = ^CallSideEffect : ~m2290_6 -# 2291| m2291_5(unknown) = Chi : total:m2290_6, partial:m2291_4 -# 2291| v2291_6(void) = ^IndirectReadSideEffect[-1] : &:r2291_1, m2290_8 -# 2291| m2291_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2291_1 -# 2291| m2291_8(String) = Chi : total:m2290_8, partial:m2291_7 -# 2289| r2289_21(glval) = VariableAddress[s] : -# 2289| r2289_22(glval) = FunctionAddress[pop_back] : -# 2289| r2289_23(char) = Call[pop_back] : func:r2289_22, this:r2289_21 -# 2289| m2289_24(unknown) = ^CallSideEffect : ~m2291_5 -# 2289| m2289_25(unknown) = Chi : total:m2291_5, partial:m2289_24 -# 2289| v2289_26(void) = ^IndirectReadSideEffect[-1] : &:r2289_21, m2289_12 -# 2289| m2289_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_21 -# 2289| m2289_28(String) = Chi : total:m2289_12, partial:m2289_27 -# 2289| r2289_29(glval) = VariableAddress[c] : -# 2289| m2289_30(char) = Store[c] : &:r2289_29, r2289_23 +# 2304| Block 2 +# 2304| r2304_1(glval) = VariableAddress[s2] : +# 2304| m2304_2(String) = Uninitialized[s2] : &:r2304_1 +# 2304| r2304_3(glval) = FunctionAddress[String] : +# 2304| v2304_4(void) = Call[String] : func:r2304_3, this:r2304_1 +# 2304| m2304_5(unknown) = ^CallSideEffect : ~m2303_13 +# 2304| m2304_6(unknown) = Chi : total:m2303_13, partial:m2304_5 +# 2304| m2304_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1 +# 2304| m2304_8(String) = Chi : total:m2304_2, partial:m2304_7 +# 2305| r2305_1(glval) = VariableAddress[s2] : +# 2305| r2305_2(glval) = FunctionAddress[~String] : +# 2305| v2305_3(void) = Call[~String] : func:r2305_2, this:r2305_1 +# 2305| m2305_4(unknown) = ^CallSideEffect : ~m2304_6 +# 2305| m2305_5(unknown) = Chi : total:m2304_6, partial:m2305_4 +# 2305| v2305_6(void) = ^IndirectReadSideEffect[-1] : &:r2305_1, m2304_8 +# 2305| m2305_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2305_1 +# 2305| m2305_8(String) = Chi : total:m2304_8, partial:m2305_7 +# 2303| r2303_21(glval) = VariableAddress[s] : +# 2303| r2303_22(glval) = FunctionAddress[pop_back] : +# 2303| r2303_23(char) = Call[pop_back] : func:r2303_22, this:r2303_21 +# 2303| m2303_24(unknown) = ^CallSideEffect : ~m2305_5 +# 2303| m2303_25(unknown) = Chi : total:m2305_5, partial:m2303_24 +# 2303| v2303_26(void) = ^IndirectReadSideEffect[-1] : &:r2303_21, m2303_12 +# 2303| m2303_27(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_21 +# 2303| m2303_28(String) = Chi : total:m2303_12, partial:m2303_27 +# 2303| r2303_29(glval) = VariableAddress[c] : +# 2303| m2303_30(char) = Store[c] : &:r2303_29, r2303_23 #-----| Goto (back edge) -> Block 1 -# 2289| Block 3 -# 2289| r2289_31(glval) = VariableAddress[s] : -# 2289| r2289_32(glval) = FunctionAddress[~String] : -# 2289| v2289_33(void) = Call[~String] : func:r2289_32, this:r2289_31 -# 2289| m2289_34(unknown) = ^CallSideEffect : ~m2289_13 -# 2289| m2289_35(unknown) = Chi : total:m2289_13, partial:m2289_34 -# 2289| v2289_36(void) = ^IndirectReadSideEffect[-1] : &:r2289_31, m2289_12 -# 2289| m2289_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_31 -# 2289| m2289_38(String) = Chi : total:m2289_12, partial:m2289_37 -# 2293| r2293_1(glval &&>) = VariableAddress[(__range)] : -# 2293| r2293_2(glval>) = VariableAddress[#temp2293:20] : -# 2293| m2293_3(vector) = Uninitialized[#temp2293:20] : &:r2293_2 -# 2293| r2293_4(glval) = FunctionAddress[vector] : -# 2293| r2293_5(glval) = VariableAddress[#temp2293:40] : -# 2293| m2293_6(String) = Uninitialized[#temp2293:40] : &:r2293_5 -# 2293| r2293_7(glval) = FunctionAddress[String] : -# 2293| r2293_8(glval) = StringConstant["hello"] : -# 2293| r2293_9(char *) = Convert : r2293_8 -# 2293| v2293_10(void) = Call[String] : func:r2293_7, this:r2293_5, 0:r2293_9 -# 2293| m2293_11(unknown) = ^CallSideEffect : ~m2289_35 -# 2293| m2293_12(unknown) = Chi : total:m2289_35, partial:m2293_11 -# 2293| v2293_13(void) = ^BufferReadSideEffect[0] : &:r2293_9, ~m2287_3 -# 2293| m2293_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_5 -# 2293| m2293_15(String) = Chi : total:m2293_6, partial:m2293_14 -# 2293| r2293_16(String) = Load[#temp2293:40] : &:r2293_5, m2293_15 -# 2293| v2293_17(void) = Call[vector] : func:r2293_4, this:r2293_2, 0:r2293_16 -# 2293| m2293_18(unknown) = ^CallSideEffect : ~m2293_12 -# 2293| m2293_19(unknown) = Chi : total:m2293_12, partial:m2293_18 -# 2293| m2293_20(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2293_2 -# 2293| m2293_21(vector) = Chi : total:m2293_3, partial:m2293_20 -# 2293| r2293_22(vector &) = CopyValue : r2293_2 -# 2293| m2293_23(vector &&) = Store[(__range)] : &:r2293_1, r2293_22 -# 2293| r2293_24(glval>) = VariableAddress[(__begin)] : -# 2293| r2293_25(glval &&>) = VariableAddress[(__range)] : -# 2293| r2293_26(vector &&) = Load[(__range)] : &:r2293_25, m2293_23 -#-----| r0_1(glval>) = CopyValue : r2293_26 +# 2303| Block 3 +# 2303| r2303_31(glval) = VariableAddress[s] : +# 2303| r2303_32(glval) = FunctionAddress[~String] : +# 2303| v2303_33(void) = Call[~String] : func:r2303_32, this:r2303_31 +# 2303| m2303_34(unknown) = ^CallSideEffect : ~m2303_13 +# 2303| m2303_35(unknown) = Chi : total:m2303_13, partial:m2303_34 +# 2303| v2303_36(void) = ^IndirectReadSideEffect[-1] : &:r2303_31, m2303_12 +# 2303| m2303_37(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_31 +# 2303| m2303_38(String) = Chi : total:m2303_12, partial:m2303_37 +# 2307| r2307_1(glval &&>) = VariableAddress[(__range)] : +# 2307| r2307_2(glval>) = VariableAddress[#temp2307:20] : +# 2307| m2307_3(vector) = Uninitialized[#temp2307:20] : &:r2307_2 +# 2307| r2307_4(glval) = FunctionAddress[vector] : +# 2307| r2307_5(glval) = VariableAddress[#temp2307:40] : +# 2307| m2307_6(String) = Uninitialized[#temp2307:40] : &:r2307_5 +# 2307| r2307_7(glval) = FunctionAddress[String] : +# 2307| r2307_8(glval) = StringConstant["hello"] : +# 2307| r2307_9(char *) = Convert : r2307_8 +# 2307| v2307_10(void) = Call[String] : func:r2307_7, this:r2307_5, 0:r2307_9 +# 2307| m2307_11(unknown) = ^CallSideEffect : ~m2303_35 +# 2307| m2307_12(unknown) = Chi : total:m2303_35, partial:m2307_11 +# 2307| v2307_13(void) = ^BufferReadSideEffect[0] : &:r2307_9, ~m2301_3 +# 2307| m2307_14(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_5 +# 2307| m2307_15(String) = Chi : total:m2307_6, partial:m2307_14 +# 2307| r2307_16(String) = Load[#temp2307:40] : &:r2307_5, m2307_15 +# 2307| v2307_17(void) = Call[vector] : func:r2307_4, this:r2307_2, 0:r2307_16 +# 2307| m2307_18(unknown) = ^CallSideEffect : ~m2307_12 +# 2307| m2307_19(unknown) = Chi : total:m2307_12, partial:m2307_18 +# 2307| m2307_20(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2307_2 +# 2307| m2307_21(vector) = Chi : total:m2307_3, partial:m2307_20 +# 2307| r2307_22(vector &) = CopyValue : r2307_2 +# 2307| m2307_23(vector &&) = Store[(__range)] : &:r2307_1, r2307_22 +# 2307| r2307_24(glval>) = VariableAddress[(__begin)] : +# 2307| r2307_25(glval &&>) = VariableAddress[(__range)] : +# 2307| r2307_26(vector &&) = Load[(__range)] : &:r2307_25, m2307_23 +#-----| r0_1(glval>) = CopyValue : r2307_26 #-----| r0_2(glval>) = Convert : r0_1 -# 2293| r2293_27(glval) = FunctionAddress[begin] : -# 2293| r2293_28(iterator) = Call[begin] : func:r2293_27, this:r0_2 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2293_21 -# 2293| m2293_29(iterator) = Store[(__begin)] : &:r2293_24, r2293_28 -# 2293| r2293_30(glval>) = VariableAddress[(__end)] : -# 2293| r2293_31(glval &&>) = VariableAddress[(__range)] : -# 2293| r2293_32(vector &&) = Load[(__range)] : &:r2293_31, m2293_23 -#-----| r0_4(glval>) = CopyValue : r2293_32 +# 2307| r2307_27(glval) = FunctionAddress[begin] : +# 2307| r2307_28(iterator) = Call[begin] : func:r2307_27, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2307_21 +# 2307| m2307_29(iterator) = Store[(__begin)] : &:r2307_24, r2307_28 +# 2307| r2307_30(glval>) = VariableAddress[(__end)] : +# 2307| r2307_31(glval &&>) = VariableAddress[(__range)] : +# 2307| r2307_32(vector &&) = Load[(__range)] : &:r2307_31, m2307_23 +#-----| r0_4(glval>) = CopyValue : r2307_32 #-----| r0_5(glval>) = Convert : r0_4 -# 2293| r2293_33(glval) = FunctionAddress[end] : -# 2293| r2293_34(iterator) = Call[end] : func:r2293_33, this:r0_5 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2293_21 -# 2293| m2293_35(iterator) = Store[(__end)] : &:r2293_30, r2293_34 +# 2307| r2307_33(glval) = FunctionAddress[end] : +# 2307| r2307_34(iterator) = Call[end] : func:r2307_33, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2307_21 +# 2307| m2307_35(iterator) = Store[(__end)] : &:r2307_30, r2307_34 #-----| Goto -> Block 4 -# 2293| Block 4 -# 2293| m2293_36(iterator) = Phi : from 3:m2293_29, from 5:m2293_83 -# 2293| m2293_37(unknown) = Phi : from 3:~m2293_19, from 5:~m2293_80 -# 2293| r2293_38(glval>) = VariableAddress[(__begin)] : -#-----| r0_7(glval>) = Convert : r2293_38 -# 2293| r2293_39(glval) = FunctionAddress[operator!=] : +# 2307| Block 4 +# 2307| m2307_36(iterator) = Phi : from 3:m2307_29, from 5:m2307_83 +# 2307| m2307_37(unknown) = Phi : from 3:~m2307_19, from 5:~m2307_80 +# 2307| r2307_38(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2307_38 +# 2307| r2307_39(glval) = FunctionAddress[operator!=] : #-----| r0_8(glval>) = VariableAddress[#temp0:0] : #-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 -# 2293| r2293_40(glval) = FunctionAddress[iterator] : -# 2293| r2293_41(glval>) = VariableAddress[(__end)] : -#-----| r0_10(glval>) = Convert : r2293_41 +# 2307| r2307_40(glval) = FunctionAddress[iterator] : +# 2307| r2307_41(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2307_41 #-----| r0_11(iterator &) = CopyValue : r0_10 -# 2293| v2293_42(void) = Call[iterator] : func:r2293_40, this:r0_8, 0:r0_11 -# 2293| m2293_43(unknown) = ^CallSideEffect : ~m2293_37 -# 2293| m2293_44(unknown) = Chi : total:m2293_37, partial:m2293_43 -#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2293_35 -# 2293| m2293_45(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 -# 2293| m2293_46(iterator) = Chi : total:m0_9, partial:m2293_45 -#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2293_46 -# 2293| r2293_47(bool) = Call[operator!=] : func:r2293_39, this:r0_7, 0:r0_13 -# 2293| m2293_48(unknown) = ^CallSideEffect : ~m2293_44 -# 2293| m2293_49(unknown) = Chi : total:m2293_44, partial:m2293_48 -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2293_36 -# 2293| v2293_50(void) = ConditionalBranch : r2293_47 +# 2307| v2307_42(void) = Call[iterator] : func:r2307_40, this:r0_8, 0:r0_11 +# 2307| m2307_43(unknown) = ^CallSideEffect : ~m2307_37 +# 2307| m2307_44(unknown) = Chi : total:m2307_37, partial:m2307_43 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2307_35 +# 2307| m2307_45(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2307| m2307_46(iterator) = Chi : total:m0_9, partial:m2307_45 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2307_46 +# 2307| r2307_47(bool) = Call[operator!=] : func:r2307_39, this:r0_7, 0:r0_13 +# 2307| m2307_48(unknown) = ^CallSideEffect : ~m2307_44 +# 2307| m2307_49(unknown) = Chi : total:m2307_44, partial:m2307_48 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2307_36 +# 2307| v2307_50(void) = ConditionalBranch : r2307_47 #-----| False -> Block 6 #-----| True -> Block 5 -# 2293| Block 5 -# 2293| r2293_51(glval) = VariableAddress[s] : -# 2293| m2293_52(String) = Uninitialized[s] : &:r2293_51 -# 2293| r2293_53(glval) = FunctionAddress[String] : -# 2293| r2293_54(glval>) = VariableAddress[(__begin)] : -#-----| r0_15(glval>) = Convert : r2293_54 -# 2293| r2293_55(glval) = FunctionAddress[operator*] : -# 2293| r2293_56(String &) = Call[operator*] : func:r2293_55, this:r0_15 -# 2293| m2293_57(unknown) = ^CallSideEffect : ~m2293_49 -# 2293| m2293_58(unknown) = Chi : total:m2293_49, partial:m2293_57 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2293_36 -# 2293| r2293_59(glval) = CopyValue : r2293_56 -# 2293| r2293_60(glval) = Convert : r2293_59 -# 2293| r2293_61(String &) = CopyValue : r2293_60 -# 2293| v2293_62(void) = Call[String] : func:r2293_53, this:r2293_51, 0:r2293_61 -# 2293| m2293_63(unknown) = ^CallSideEffect : ~m2293_58 -# 2293| m2293_64(unknown) = Chi : total:m2293_58, partial:m2293_63 -# 2293| v2293_65(void) = ^BufferReadSideEffect[0] : &:r2293_61, ~m2293_64 -# 2293| m2293_66(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_51 -# 2293| m2293_67(String) = Chi : total:m2293_52, partial:m2293_66 -# 2294| r2294_1(glval) = VariableAddress[s2] : -# 2294| m2294_2(String) = Uninitialized[s2] : &:r2294_1 -# 2294| r2294_3(glval) = FunctionAddress[String] : -# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 -# 2294| m2294_5(unknown) = ^CallSideEffect : ~m2293_64 -# 2294| m2294_6(unknown) = Chi : total:m2293_64, partial:m2294_5 -# 2294| m2294_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 -# 2294| m2294_8(String) = Chi : total:m2294_2, partial:m2294_7 -# 2295| r2295_1(glval) = VariableAddress[s2] : -# 2295| r2295_2(glval) = FunctionAddress[~String] : -# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 -# 2295| m2295_4(unknown) = ^CallSideEffect : ~m2294_6 -# 2295| m2295_5(unknown) = Chi : total:m2294_6, partial:m2295_4 -# 2295| v2295_6(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, m2294_8 -# 2295| m2295_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 -# 2295| m2295_8(String) = Chi : total:m2294_8, partial:m2295_7 -# 2293| r2293_68(glval) = VariableAddress[s] : -# 2293| r2293_69(glval) = FunctionAddress[~String] : -# 2293| v2293_70(void) = Call[~String] : func:r2293_69, this:r2293_68 -# 2293| m2293_71(unknown) = ^CallSideEffect : ~m2295_5 -# 2293| m2293_72(unknown) = Chi : total:m2295_5, partial:m2293_71 -# 2293| v2293_73(void) = ^IndirectReadSideEffect[-1] : &:r2293_68, m2293_67 -# 2293| m2293_74(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_68 -# 2293| m2293_75(String) = Chi : total:m2293_67, partial:m2293_74 -# 2293| r2293_76(glval>) = VariableAddress[(__begin)] : -# 2293| r2293_77(glval) = FunctionAddress[operator++] : -# 2293| r2293_78(iterator &) = Call[operator++] : func:r2293_77, this:r2293_76 -# 2293| m2293_79(unknown) = ^CallSideEffect : ~m2293_72 -# 2293| m2293_80(unknown) = Chi : total:m2293_72, partial:m2293_79 -# 2293| v2293_81(void) = ^IndirectReadSideEffect[-1] : &:r2293_76, m2293_36 -# 2293| m2293_82(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2293_76 -# 2293| m2293_83(iterator) = Chi : total:m2293_36, partial:m2293_82 -# 2293| r2293_84(glval>) = CopyValue : r2293_78 +# 2307| Block 5 +# 2307| r2307_51(glval) = VariableAddress[s] : +# 2307| m2307_52(String) = Uninitialized[s] : &:r2307_51 +# 2307| r2307_53(glval) = FunctionAddress[String] : +# 2307| r2307_54(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2307_54 +# 2307| r2307_55(glval) = FunctionAddress[operator*] : +# 2307| r2307_56(String &) = Call[operator*] : func:r2307_55, this:r0_15 +# 2307| m2307_57(unknown) = ^CallSideEffect : ~m2307_49 +# 2307| m2307_58(unknown) = Chi : total:m2307_49, partial:m2307_57 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2307_36 +# 2307| r2307_59(glval) = CopyValue : r2307_56 +# 2307| r2307_60(glval) = Convert : r2307_59 +# 2307| r2307_61(String &) = CopyValue : r2307_60 +# 2307| v2307_62(void) = Call[String] : func:r2307_53, this:r2307_51, 0:r2307_61 +# 2307| m2307_63(unknown) = ^CallSideEffect : ~m2307_58 +# 2307| m2307_64(unknown) = Chi : total:m2307_58, partial:m2307_63 +# 2307| v2307_65(void) = ^BufferReadSideEffect[0] : &:r2307_61, ~m2307_64 +# 2307| m2307_66(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_51 +# 2307| m2307_67(String) = Chi : total:m2307_52, partial:m2307_66 +# 2308| r2308_1(glval) = VariableAddress[s2] : +# 2308| m2308_2(String) = Uninitialized[s2] : &:r2308_1 +# 2308| r2308_3(glval) = FunctionAddress[String] : +# 2308| v2308_4(void) = Call[String] : func:r2308_3, this:r2308_1 +# 2308| m2308_5(unknown) = ^CallSideEffect : ~m2307_64 +# 2308| m2308_6(unknown) = Chi : total:m2307_64, partial:m2308_5 +# 2308| m2308_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2308_1 +# 2308| m2308_8(String) = Chi : total:m2308_2, partial:m2308_7 +# 2309| r2309_1(glval) = VariableAddress[s2] : +# 2309| r2309_2(glval) = FunctionAddress[~String] : +# 2309| v2309_3(void) = Call[~String] : func:r2309_2, this:r2309_1 +# 2309| m2309_4(unknown) = ^CallSideEffect : ~m2308_6 +# 2309| m2309_5(unknown) = Chi : total:m2308_6, partial:m2309_4 +# 2309| v2309_6(void) = ^IndirectReadSideEffect[-1] : &:r2309_1, m2308_8 +# 2309| m2309_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2309_1 +# 2309| m2309_8(String) = Chi : total:m2308_8, partial:m2309_7 +# 2307| r2307_68(glval) = VariableAddress[s] : +# 2307| r2307_69(glval) = FunctionAddress[~String] : +# 2307| v2307_70(void) = Call[~String] : func:r2307_69, this:r2307_68 +# 2307| m2307_71(unknown) = ^CallSideEffect : ~m2309_5 +# 2307| m2307_72(unknown) = Chi : total:m2309_5, partial:m2307_71 +# 2307| v2307_73(void) = ^IndirectReadSideEffect[-1] : &:r2307_68, m2307_67 +# 2307| m2307_74(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_68 +# 2307| m2307_75(String) = Chi : total:m2307_67, partial:m2307_74 +# 2307| r2307_76(glval>) = VariableAddress[(__begin)] : +# 2307| r2307_77(glval) = FunctionAddress[operator++] : +# 2307| r2307_78(iterator &) = Call[operator++] : func:r2307_77, this:r2307_76 +# 2307| m2307_79(unknown) = ^CallSideEffect : ~m2307_72 +# 2307| m2307_80(unknown) = Chi : total:m2307_72, partial:m2307_79 +# 2307| v2307_81(void) = ^IndirectReadSideEffect[-1] : &:r2307_76, m2307_36 +# 2307| m2307_82(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2307_76 +# 2307| m2307_83(iterator) = Chi : total:m2307_36, partial:m2307_82 +# 2307| r2307_84(glval>) = CopyValue : r2307_78 #-----| Goto (back edge) -> Block 4 -# 2297| Block 6 -# 2297| r2297_1(glval) = VariableAddress[s] : -# 2297| m2297_2(String) = Uninitialized[s] : &:r2297_1 -# 2297| r2297_3(glval) = FunctionAddress[String] : -# 2297| r2297_4(glval) = StringConstant["hello"] : -# 2297| r2297_5(char *) = Convert : r2297_4 -# 2297| v2297_6(void) = Call[String] : func:r2297_3, this:r2297_1, 0:r2297_5 -# 2297| m2297_7(unknown) = ^CallSideEffect : ~m2293_49 -# 2297| m2297_8(unknown) = Chi : total:m2293_49, partial:m2297_7 -# 2297| v2297_9(void) = ^BufferReadSideEffect[0] : &:r2297_5, ~m2287_3 -# 2297| m2297_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 -# 2297| m2297_11(String) = Chi : total:m2297_2, partial:m2297_10 -# 2297| r2297_12(glval) = VariableAddress[s2] : -# 2297| m2297_13(String) = Uninitialized[s2] : &:r2297_12 -# 2297| r2297_14(glval) = FunctionAddress[String] : -# 2297| r2297_15(glval) = StringConstant["world"] : -# 2297| r2297_16(char *) = Convert : r2297_15 -# 2297| v2297_17(void) = Call[String] : func:r2297_14, this:r2297_12, 0:r2297_16 -# 2297| m2297_18(unknown) = ^CallSideEffect : ~m2297_8 -# 2297| m2297_19(unknown) = Chi : total:m2297_8, partial:m2297_18 -# 2297| v2297_20(void) = ^BufferReadSideEffect[0] : &:r2297_16, ~m2287_3 -# 2297| m2297_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_12 -# 2297| m2297_22(String) = Chi : total:m2297_13, partial:m2297_21 +# 2311| Block 6 +# 2311| r2311_1(glval) = VariableAddress[s] : +# 2311| m2311_2(String) = Uninitialized[s] : &:r2311_1 +# 2311| r2311_3(glval) = FunctionAddress[String] : +# 2311| r2311_4(glval) = StringConstant["hello"] : +# 2311| r2311_5(char *) = Convert : r2311_4 +# 2311| v2311_6(void) = Call[String] : func:r2311_3, this:r2311_1, 0:r2311_5 +# 2311| m2311_7(unknown) = ^CallSideEffect : ~m2307_49 +# 2311| m2311_8(unknown) = Chi : total:m2307_49, partial:m2311_7 +# 2311| v2311_9(void) = ^BufferReadSideEffect[0] : &:r2311_5, ~m2301_3 +# 2311| m2311_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_1 +# 2311| m2311_11(String) = Chi : total:m2311_2, partial:m2311_10 +# 2311| r2311_12(glval) = VariableAddress[s2] : +# 2311| m2311_13(String) = Uninitialized[s2] : &:r2311_12 +# 2311| r2311_14(glval) = FunctionAddress[String] : +# 2311| r2311_15(glval) = StringConstant["world"] : +# 2311| r2311_16(char *) = Convert : r2311_15 +# 2311| v2311_17(void) = Call[String] : func:r2311_14, this:r2311_12, 0:r2311_16 +# 2311| m2311_18(unknown) = ^CallSideEffect : ~m2311_8 +# 2311| m2311_19(unknown) = Chi : total:m2311_8, partial:m2311_18 +# 2311| v2311_20(void) = ^BufferReadSideEffect[0] : &:r2311_16, ~m2301_3 +# 2311| m2311_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_12 +# 2311| m2311_22(String) = Chi : total:m2311_13, partial:m2311_21 #-----| Goto -> Block 7 -# 2297| Block 7 -# 2297| m2297_23(String) = Phi : from 6:m2297_11, from 8:m2297_39 -# 2297| m2297_24(unknown) = Phi : from 6:~m2297_19, from 8:~m2297_36 -# 2297| m2297_25(char) = Phi : from 6:m2289_14, from 8:m2297_41 -# 2297| r2297_26(glval) = VariableAddress[c] : -# 2297| r2297_27(char) = Load[c] : &:r2297_26, m2297_25 -# 2297| r2297_28(int) = Convert : r2297_27 -# 2297| r2297_29(int) = Constant[0] : -# 2297| r2297_30(bool) = CompareNE : r2297_28, r2297_29 -# 2297| v2297_31(void) = ConditionalBranch : r2297_30 +# 2311| Block 7 +# 2311| m2311_23(String) = Phi : from 6:m2311_11, from 8:m2311_39 +# 2311| m2311_24(unknown) = Phi : from 6:~m2311_19, from 8:~m2311_36 +# 2311| m2311_25(char) = Phi : from 6:m2303_14, from 8:m2311_41 +# 2311| r2311_26(glval) = VariableAddress[c] : +# 2311| r2311_27(char) = Load[c] : &:r2311_26, m2311_25 +# 2311| r2311_28(int) = Convert : r2311_27 +# 2311| r2311_29(int) = Constant[0] : +# 2311| r2311_30(bool) = CompareNE : r2311_28, r2311_29 +# 2311| v2311_31(void) = ConditionalBranch : r2311_30 #-----| False -> Block 9 #-----| True -> Block 8 -# 2298| Block 8 -# 2298| r2298_1(char) = Constant[0] : -# 2298| r2298_2(glval) = VariableAddress[c] : -# 2298| m2298_3(char) = Store[c] : &:r2298_2, r2298_1 -# 2297| r2297_32(glval) = VariableAddress[s] : -# 2297| r2297_33(glval) = FunctionAddress[pop_back] : -# 2297| r2297_34(char) = Call[pop_back] : func:r2297_33, this:r2297_32 -# 2297| m2297_35(unknown) = ^CallSideEffect : ~m2297_24 -# 2297| m2297_36(unknown) = Chi : total:m2297_24, partial:m2297_35 -# 2297| v2297_37(void) = ^IndirectReadSideEffect[-1] : &:r2297_32, m2297_23 -# 2297| m2297_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_32 -# 2297| m2297_39(String) = Chi : total:m2297_23, partial:m2297_38 -# 2297| r2297_40(glval) = VariableAddress[c] : -# 2297| m2297_41(char) = Store[c] : &:r2297_40, r2297_34 +# 2312| Block 8 +# 2312| r2312_1(char) = Constant[0] : +# 2312| r2312_2(glval) = VariableAddress[c] : +# 2312| m2312_3(char) = Store[c] : &:r2312_2, r2312_1 +# 2311| r2311_32(glval) = VariableAddress[s] : +# 2311| r2311_33(glval) = FunctionAddress[pop_back] : +# 2311| r2311_34(char) = Call[pop_back] : func:r2311_33, this:r2311_32 +# 2311| m2311_35(unknown) = ^CallSideEffect : ~m2311_24 +# 2311| m2311_36(unknown) = Chi : total:m2311_24, partial:m2311_35 +# 2311| v2311_37(void) = ^IndirectReadSideEffect[-1] : &:r2311_32, m2311_23 +# 2311| m2311_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_32 +# 2311| m2311_39(String) = Chi : total:m2311_23, partial:m2311_38 +# 2311| r2311_40(glval) = VariableAddress[c] : +# 2311| m2311_41(char) = Store[c] : &:r2311_40, r2311_34 #-----| Goto (back edge) -> Block 7 -# 2297| Block 9 -# 2297| r2297_42(glval) = VariableAddress[s2] : -# 2297| r2297_43(glval) = FunctionAddress[~String] : -# 2297| v2297_44(void) = Call[~String] : func:r2297_43, this:r2297_42 -# 2297| m2297_45(unknown) = ^CallSideEffect : ~m2297_24 -# 2297| m2297_46(unknown) = Chi : total:m2297_24, partial:m2297_45 -# 2297| v2297_47(void) = ^IndirectReadSideEffect[-1] : &:r2297_42, m2297_22 -# 2297| m2297_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_42 -# 2297| m2297_49(String) = Chi : total:m2297_22, partial:m2297_48 -# 2297| r2297_50(glval) = VariableAddress[s] : -# 2297| r2297_51(glval) = FunctionAddress[~String] : -# 2297| v2297_52(void) = Call[~String] : func:r2297_51, this:r2297_50 -# 2297| m2297_53(unknown) = ^CallSideEffect : ~m2297_46 -# 2297| m2297_54(unknown) = Chi : total:m2297_46, partial:m2297_53 -# 2297| v2297_55(void) = ^IndirectReadSideEffect[-1] : &:r2297_50, m2297_23 -# 2297| m2297_56(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_50 -# 2297| m2297_57(String) = Chi : total:m2297_23, partial:m2297_56 -# 2300| v2300_1(void) = NoOp : -# 2287| v2287_5(void) = ReturnVoid : -# 2287| v2287_6(void) = AliasedUse : ~m2297_54 -# 2287| v2287_7(void) = ExitFunction : - -# 2302| void IfDestructors2(bool) -# 2302| Block 0 -# 2302| v2302_1(void) = EnterFunction : -# 2302| m2302_2(unknown) = AliasedDefinition : -# 2302| m2302_3(unknown) = InitializeNonLocal : -# 2302| m2302_4(unknown) = Chi : total:m2302_2, partial:m2302_3 -# 2302| r2302_5(glval) = VariableAddress[b] : -# 2302| m2302_6(bool) = InitializeParameter[b] : &:r2302_5 -# 2303| r2303_1(glval) = VariableAddress[s] : -# 2303| m2303_2(String) = Uninitialized[s] : &:r2303_1 -# 2303| r2303_3(glval) = FunctionAddress[String] : -# 2303| r2303_4(glval) = StringConstant["hello"] : -# 2303| r2303_5(char *) = Convert : r2303_4 -# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 -# 2303| m2303_7(unknown) = ^CallSideEffect : ~m2302_4 -# 2303| m2303_8(unknown) = Chi : total:m2302_4, partial:m2303_7 -# 2303| v2303_9(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m2302_3 -# 2303| m2303_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 -# 2303| m2303_11(String) = Chi : total:m2303_2, partial:m2303_10 -# 2303| r2303_12(glval) = VariableAddress[b] : -# 2303| r2303_13(bool) = Load[b] : &:r2303_12, m2302_6 -# 2303| v2303_14(void) = ConditionalBranch : r2303_13 +# 2311| Block 9 +# 2311| r2311_42(glval) = VariableAddress[s2] : +# 2311| r2311_43(glval) = FunctionAddress[~String] : +# 2311| v2311_44(void) = Call[~String] : func:r2311_43, this:r2311_42 +# 2311| m2311_45(unknown) = ^CallSideEffect : ~m2311_24 +# 2311| m2311_46(unknown) = Chi : total:m2311_24, partial:m2311_45 +# 2311| v2311_47(void) = ^IndirectReadSideEffect[-1] : &:r2311_42, m2311_22 +# 2311| m2311_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_42 +# 2311| m2311_49(String) = Chi : total:m2311_22, partial:m2311_48 +# 2311| r2311_50(glval) = VariableAddress[s] : +# 2311| r2311_51(glval) = FunctionAddress[~String] : +# 2311| v2311_52(void) = Call[~String] : func:r2311_51, this:r2311_50 +# 2311| m2311_53(unknown) = ^CallSideEffect : ~m2311_46 +# 2311| m2311_54(unknown) = Chi : total:m2311_46, partial:m2311_53 +# 2311| v2311_55(void) = ^IndirectReadSideEffect[-1] : &:r2311_50, m2311_23 +# 2311| m2311_56(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_50 +# 2311| m2311_57(String) = Chi : total:m2311_23, partial:m2311_56 +# 2314| v2314_1(void) = NoOp : +# 2301| v2301_5(void) = ReturnVoid : +# 2301| v2301_6(void) = AliasedUse : ~m2311_54 +# 2301| v2301_7(void) = ExitFunction : + +# 2316| void IfDestructors2(bool) +# 2316| Block 0 +# 2316| v2316_1(void) = EnterFunction : +# 2316| m2316_2(unknown) = AliasedDefinition : +# 2316| m2316_3(unknown) = InitializeNonLocal : +# 2316| m2316_4(unknown) = Chi : total:m2316_2, partial:m2316_3 +# 2316| r2316_5(glval) = VariableAddress[b] : +# 2316| m2316_6(bool) = InitializeParameter[b] : &:r2316_5 +# 2317| r2317_1(glval) = VariableAddress[s] : +# 2317| m2317_2(String) = Uninitialized[s] : &:r2317_1 +# 2317| r2317_3(glval) = FunctionAddress[String] : +# 2317| r2317_4(glval) = StringConstant["hello"] : +# 2317| r2317_5(char *) = Convert : r2317_4 +# 2317| v2317_6(void) = Call[String] : func:r2317_3, this:r2317_1, 0:r2317_5 +# 2317| m2317_7(unknown) = ^CallSideEffect : ~m2316_4 +# 2317| m2317_8(unknown) = Chi : total:m2316_4, partial:m2317_7 +# 2317| v2317_9(void) = ^BufferReadSideEffect[0] : &:r2317_5, ~m2316_3 +# 2317| m2317_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1 +# 2317| m2317_11(String) = Chi : total:m2317_2, partial:m2317_10 +# 2317| r2317_12(glval) = VariableAddress[b] : +# 2317| r2317_13(bool) = Load[b] : &:r2317_12, m2316_6 +# 2317| v2317_14(void) = ConditionalBranch : r2317_13 #-----| False -> Block 2 #-----| True -> Block 1 -# 2304| Block 1 -# 2304| r2304_1(glval) = VariableAddress[x] : -# 2304| r2304_2(int) = Constant[0] : -# 2304| m2304_3(int) = Store[x] : &:r2304_1, r2304_2 +# 2318| Block 1 +# 2318| r2318_1(glval) = VariableAddress[x] : +# 2318| r2318_2(int) = Constant[0] : +# 2318| m2318_3(int) = Store[x] : &:r2318_1, r2318_2 #-----| Goto -> Block 3 -# 2306| Block 2 -# 2306| r2306_1(glval) = VariableAddress[y] : -# 2306| r2306_2(int) = Constant[0] : -# 2306| m2306_3(int) = Store[y] : &:r2306_1, r2306_2 +# 2320| Block 2 +# 2320| r2320_1(glval) = VariableAddress[y] : +# 2320| r2320_2(int) = Constant[0] : +# 2320| m2320_3(int) = Store[y] : &:r2320_1, r2320_2 #-----| Goto -> Block 3 -# 2307| Block 3 -# 2307| r2307_1(glval) = VariableAddress[s] : -# 2307| r2307_2(glval) = FunctionAddress[~String] : -# 2307| v2307_3(void) = Call[~String] : func:r2307_2, this:r2307_1 -# 2307| m2307_4(unknown) = ^CallSideEffect : ~m2303_8 -# 2307| m2307_5(unknown) = Chi : total:m2303_8, partial:m2307_4 -# 2307| v2307_6(void) = ^IndirectReadSideEffect[-1] : &:r2307_1, m2303_11 -# 2307| m2307_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 -# 2307| m2307_8(String) = Chi : total:m2303_11, partial:m2307_7 -# 2308| v2308_1(void) = NoOp : -# 2302| v2302_7(void) = ReturnVoid : -# 2302| v2302_8(void) = AliasedUse : ~m2307_5 -# 2302| v2302_9(void) = ExitFunction : - -# 2317| void IfDestructors3(bool) -# 2317| Block 0 -# 2317| v2317_1(void) = EnterFunction : -# 2317| m2317_2(unknown) = AliasedDefinition : -# 2317| m2317_3(unknown) = InitializeNonLocal : -# 2317| m2317_4(unknown) = Chi : total:m2317_2, partial:m2317_3 -# 2317| r2317_5(glval) = VariableAddress[b] : -# 2317| m2317_6(bool) = InitializeParameter[b] : &:r2317_5 -# 2318| r2318_1(glval) = VariableAddress[B] : -# 2318| m2318_2(Bool) = Uninitialized[B] : &:r2318_1 -# 2318| r2318_3(glval) = FunctionAddress[Bool] : -# 2318| r2318_4(glval) = VariableAddress[b] : -# 2318| r2318_5(bool) = Load[b] : &:r2318_4, m2317_6 -# 2318| v2318_6(void) = Call[Bool] : func:r2318_3, this:r2318_1, 0:r2318_5 -# 2318| m2318_7(unknown) = ^CallSideEffect : ~m2317_4 -# 2318| m2318_8(unknown) = Chi : total:m2317_4, partial:m2318_7 -# 2318| m2318_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_1 -# 2318| m2318_10(Bool) = Chi : total:m2318_2, partial:m2318_9 -# 2318| r2318_11(glval) = VariableAddress[B] : -# 2318| r2318_12(glval) = FunctionAddress[operator bool] : -# 2318| r2318_13(bool) = Call[operator bool] : func:r2318_12, this:r2318_11 -# 2318| m2318_14(unknown) = ^CallSideEffect : ~m2318_8 -# 2318| m2318_15(unknown) = Chi : total:m2318_8, partial:m2318_14 -# 2318| v2318_16(void) = ^IndirectReadSideEffect[-1] : &:r2318_11, m2318_10 -# 2318| m2318_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_11 -# 2318| m2318_18(Bool) = Chi : total:m2318_10, partial:m2318_17 -# 2318| r2318_19(bool) = CopyValue : r2318_13 -# 2318| v2318_20(void) = ConditionalBranch : r2318_19 +# 2321| Block 3 +# 2321| r2321_1(glval) = VariableAddress[s] : +# 2321| r2321_2(glval) = FunctionAddress[~String] : +# 2321| v2321_3(void) = Call[~String] : func:r2321_2, this:r2321_1 +# 2321| m2321_4(unknown) = ^CallSideEffect : ~m2317_8 +# 2321| m2321_5(unknown) = Chi : total:m2317_8, partial:m2321_4 +# 2321| v2321_6(void) = ^IndirectReadSideEffect[-1] : &:r2321_1, m2317_11 +# 2321| m2321_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 +# 2321| m2321_8(String) = Chi : total:m2317_11, partial:m2321_7 +# 2322| v2322_1(void) = NoOp : +# 2316| v2316_7(void) = ReturnVoid : +# 2316| v2316_8(void) = AliasedUse : ~m2321_5 +# 2316| v2316_9(void) = ExitFunction : + +# 2331| void IfDestructors3(bool) +# 2331| Block 0 +# 2331| v2331_1(void) = EnterFunction : +# 2331| m2331_2(unknown) = AliasedDefinition : +# 2331| m2331_3(unknown) = InitializeNonLocal : +# 2331| m2331_4(unknown) = Chi : total:m2331_2, partial:m2331_3 +# 2331| r2331_5(glval) = VariableAddress[b] : +# 2331| m2331_6(bool) = InitializeParameter[b] : &:r2331_5 +# 2332| r2332_1(glval) = VariableAddress[B] : +# 2332| m2332_2(Bool) = Uninitialized[B] : &:r2332_1 +# 2332| r2332_3(glval) = FunctionAddress[Bool] : +# 2332| r2332_4(glval) = VariableAddress[b] : +# 2332| r2332_5(bool) = Load[b] : &:r2332_4, m2331_6 +# 2332| v2332_6(void) = Call[Bool] : func:r2332_3, this:r2332_1, 0:r2332_5 +# 2332| m2332_7(unknown) = ^CallSideEffect : ~m2331_4 +# 2332| m2332_8(unknown) = Chi : total:m2331_4, partial:m2332_7 +# 2332| m2332_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2332_1 +# 2332| m2332_10(Bool) = Chi : total:m2332_2, partial:m2332_9 +# 2332| r2332_11(glval) = VariableAddress[B] : +# 2332| r2332_12(glval) = FunctionAddress[operator bool] : +# 2332| r2332_13(bool) = Call[operator bool] : func:r2332_12, this:r2332_11 +# 2332| m2332_14(unknown) = ^CallSideEffect : ~m2332_8 +# 2332| m2332_15(unknown) = Chi : total:m2332_8, partial:m2332_14 +# 2332| v2332_16(void) = ^IndirectReadSideEffect[-1] : &:r2332_11, m2332_10 +# 2332| m2332_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2332_11 +# 2332| m2332_18(Bool) = Chi : total:m2332_10, partial:m2332_17 +# 2332| r2332_19(bool) = CopyValue : r2332_13 +# 2332| v2332_20(void) = ConditionalBranch : r2332_19 #-----| False -> Block 2 #-----| True -> Block 1 -# 2319| Block 1 -# 2319| r2319_1(glval) = VariableAddress[s1] : -# 2319| m2319_2(String) = Uninitialized[s1] : &:r2319_1 -# 2319| r2319_3(glval) = FunctionAddress[String] : -# 2319| v2319_4(void) = Call[String] : func:r2319_3, this:r2319_1 -# 2319| m2319_5(unknown) = ^CallSideEffect : ~m2318_15 -# 2319| m2319_6(unknown) = Chi : total:m2318_15, partial:m2319_5 -# 2319| m2319_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2319_1 -# 2319| m2319_8(String) = Chi : total:m2319_2, partial:m2319_7 -# 2320| r2320_1(glval) = VariableAddress[s1] : -# 2320| r2320_2(glval) = FunctionAddress[~String] : -# 2320| v2320_3(void) = Call[~String] : func:r2320_2, this:r2320_1 -# 2320| m2320_4(unknown) = ^CallSideEffect : ~m2319_6 -# 2320| m2320_5(unknown) = Chi : total:m2319_6, partial:m2320_4 -# 2320| v2320_6(void) = ^IndirectReadSideEffect[-1] : &:r2320_1, m2319_8 -# 2320| m2320_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2320_1 -# 2320| m2320_8(String) = Chi : total:m2319_8, partial:m2320_7 +# 2333| Block 1 +# 2333| r2333_1(glval) = VariableAddress[s1] : +# 2333| m2333_2(String) = Uninitialized[s1] : &:r2333_1 +# 2333| r2333_3(glval) = FunctionAddress[String] : +# 2333| v2333_4(void) = Call[String] : func:r2333_3, this:r2333_1 +# 2333| m2333_5(unknown) = ^CallSideEffect : ~m2332_15 +# 2333| m2333_6(unknown) = Chi : total:m2332_15, partial:m2333_5 +# 2333| m2333_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2333_1 +# 2333| m2333_8(String) = Chi : total:m2333_2, partial:m2333_7 +# 2334| r2334_1(glval) = VariableAddress[s1] : +# 2334| r2334_2(glval) = FunctionAddress[~String] : +# 2334| v2334_3(void) = Call[~String] : func:r2334_2, this:r2334_1 +# 2334| m2334_4(unknown) = ^CallSideEffect : ~m2333_6 +# 2334| m2334_5(unknown) = Chi : total:m2333_6, partial:m2334_4 +# 2334| v2334_6(void) = ^IndirectReadSideEffect[-1] : &:r2334_1, m2333_8 +# 2334| m2334_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2334_1 +# 2334| m2334_8(String) = Chi : total:m2333_8, partial:m2334_7 #-----| Goto -> Block 3 -# 2321| Block 2 -# 2321| r2321_1(glval) = VariableAddress[s2] : -# 2321| m2321_2(String) = Uninitialized[s2] : &:r2321_1 -# 2321| r2321_3(glval) = FunctionAddress[String] : -# 2321| v2321_4(void) = Call[String] : func:r2321_3, this:r2321_1 -# 2321| m2321_5(unknown) = ^CallSideEffect : ~m2318_15 -# 2321| m2321_6(unknown) = Chi : total:m2318_15, partial:m2321_5 -# 2321| m2321_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 -# 2321| m2321_8(String) = Chi : total:m2321_2, partial:m2321_7 -# 2322| r2322_1(glval) = VariableAddress[s2] : -# 2322| r2322_2(glval) = FunctionAddress[~String] : -# 2322| v2322_3(void) = Call[~String] : func:r2322_2, this:r2322_1 -# 2322| m2322_4(unknown) = ^CallSideEffect : ~m2321_6 -# 2322| m2322_5(unknown) = Chi : total:m2321_6, partial:m2322_4 -# 2322| v2322_6(void) = ^IndirectReadSideEffect[-1] : &:r2322_1, m2321_8 -# 2322| m2322_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2322_1 -# 2322| m2322_8(String) = Chi : total:m2321_8, partial:m2322_7 +# 2335| Block 2 +# 2335| r2335_1(glval) = VariableAddress[s2] : +# 2335| m2335_2(String) = Uninitialized[s2] : &:r2335_1 +# 2335| r2335_3(glval) = FunctionAddress[String] : +# 2335| v2335_4(void) = Call[String] : func:r2335_3, this:r2335_1 +# 2335| m2335_5(unknown) = ^CallSideEffect : ~m2332_15 +# 2335| m2335_6(unknown) = Chi : total:m2332_15, partial:m2335_5 +# 2335| m2335_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2335_1 +# 2335| m2335_8(String) = Chi : total:m2335_2, partial:m2335_7 +# 2336| r2336_1(glval) = VariableAddress[s2] : +# 2336| r2336_2(glval) = FunctionAddress[~String] : +# 2336| v2336_3(void) = Call[~String] : func:r2336_2, this:r2336_1 +# 2336| m2336_4(unknown) = ^CallSideEffect : ~m2335_6 +# 2336| m2336_5(unknown) = Chi : total:m2335_6, partial:m2336_4 +# 2336| v2336_6(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, m2335_8 +# 2336| m2336_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 +# 2336| m2336_8(String) = Chi : total:m2335_8, partial:m2336_7 #-----| Goto -> Block 3 -# 2322| Block 3 -# 2322| m2322_9(unknown) = Phi : from 1:~m2320_5, from 2:~m2322_5 -# 2322| r2322_10(glval) = VariableAddress[B] : -# 2322| r2322_11(glval) = FunctionAddress[~Bool] : -# 2322| v2322_12(void) = Call[~Bool] : func:r2322_11, this:r2322_10 -# 2322| m2322_13(unknown) = ^CallSideEffect : ~m2322_9 -# 2322| m2322_14(unknown) = Chi : total:m2322_9, partial:m2322_13 -# 2322| v2322_15(void) = ^IndirectReadSideEffect[-1] : &:r2322_10, m2318_18 -# 2322| m2322_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2322_10 -# 2322| m2322_17(Bool) = Chi : total:m2318_18, partial:m2322_16 -# 2323| v2323_1(void) = NoOp : -# 2317| v2317_7(void) = ReturnVoid : -# 2317| v2317_8(void) = AliasedUse : ~m2322_14 -# 2317| v2317_9(void) = ExitFunction : - -# 2325| void WhileLoopDestructors(bool) -# 2325| Block 0 -# 2325| v2325_1(void) = EnterFunction : -# 2325| m2325_2(unknown) = AliasedDefinition : -# 2325| m2325_3(unknown) = InitializeNonLocal : -# 2325| m2325_4(unknown) = Chi : total:m2325_2, partial:m2325_3 -# 2325| r2325_5(glval) = VariableAddress[b] : -# 2325| m2325_6(bool) = InitializeParameter[b] : &:r2325_5 -# 2327| r2327_1(glval) = VariableAddress[s] : -# 2327| m2327_2(String) = Uninitialized[s] : &:r2327_1 -# 2327| r2327_3(glval) = FunctionAddress[String] : -# 2327| v2327_4(void) = Call[String] : func:r2327_3, this:r2327_1 -# 2327| m2327_5(unknown) = ^CallSideEffect : ~m2325_4 -# 2327| m2327_6(unknown) = Chi : total:m2325_4, partial:m2327_5 -# 2327| m2327_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2327_1 -# 2327| m2327_8(String) = Chi : total:m2327_2, partial:m2327_7 +# 2336| Block 3 +# 2336| m2336_9(unknown) = Phi : from 1:~m2334_5, from 2:~m2336_5 +# 2336| r2336_10(glval) = VariableAddress[B] : +# 2336| r2336_11(glval) = FunctionAddress[~Bool] : +# 2336| v2336_12(void) = Call[~Bool] : func:r2336_11, this:r2336_10 +# 2336| m2336_13(unknown) = ^CallSideEffect : ~m2336_9 +# 2336| m2336_14(unknown) = Chi : total:m2336_9, partial:m2336_13 +# 2336| v2336_15(void) = ^IndirectReadSideEffect[-1] : &:r2336_10, m2332_18 +# 2336| m2336_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_10 +# 2336| m2336_17(Bool) = Chi : total:m2332_18, partial:m2336_16 +# 2337| v2337_1(void) = NoOp : +# 2331| v2331_7(void) = ReturnVoid : +# 2331| v2331_8(void) = AliasedUse : ~m2336_14 +# 2331| v2331_9(void) = ExitFunction : + +# 2339| void WhileLoopDestructors(bool) +# 2339| Block 0 +# 2339| v2339_1(void) = EnterFunction : +# 2339| m2339_2(unknown) = AliasedDefinition : +# 2339| m2339_3(unknown) = InitializeNonLocal : +# 2339| m2339_4(unknown) = Chi : total:m2339_2, partial:m2339_3 +# 2339| r2339_5(glval) = VariableAddress[b] : +# 2339| m2339_6(bool) = InitializeParameter[b] : &:r2339_5 +# 2341| r2341_1(glval) = VariableAddress[s] : +# 2341| m2341_2(String) = Uninitialized[s] : &:r2341_1 +# 2341| r2341_3(glval) = FunctionAddress[String] : +# 2341| v2341_4(void) = Call[String] : func:r2341_3, this:r2341_1 +# 2341| m2341_5(unknown) = ^CallSideEffect : ~m2339_4 +# 2341| m2341_6(unknown) = Chi : total:m2339_4, partial:m2341_5 +# 2341| m2341_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2341_1 +# 2341| m2341_8(String) = Chi : total:m2341_2, partial:m2341_7 #-----| Goto -> Block 1 -# 2328| Block 1 -# 2328| m2328_1(bool) = Phi : from 0:m2325_6, from 2:m2329_3 -# 2328| r2328_2(glval) = VariableAddress[b] : -# 2328| r2328_3(bool) = Load[b] : &:r2328_2, m2328_1 -# 2328| v2328_4(void) = ConditionalBranch : r2328_3 +# 2342| Block 1 +# 2342| m2342_1(bool) = Phi : from 0:m2339_6, from 2:m2343_3 +# 2342| r2342_2(glval) = VariableAddress[b] : +# 2342| r2342_3(bool) = Load[b] : &:r2342_2, m2342_1 +# 2342| v2342_4(void) = ConditionalBranch : r2342_3 #-----| False -> Block 3 #-----| True -> Block 2 -# 2329| Block 2 -# 2329| r2329_1(bool) = Constant[0] : -# 2329| r2329_2(glval) = VariableAddress[b] : -# 2329| m2329_3(bool) = Store[b] : &:r2329_2, r2329_1 +# 2343| Block 2 +# 2343| r2343_1(bool) = Constant[0] : +# 2343| r2343_2(glval) = VariableAddress[b] : +# 2343| m2343_3(bool) = Store[b] : &:r2343_2, r2343_1 #-----| Goto (back edge) -> Block 1 -# 2331| Block 3 -# 2331| r2331_1(glval) = VariableAddress[s] : -# 2331| r2331_2(glval) = FunctionAddress[~String] : -# 2331| v2331_3(void) = Call[~String] : func:r2331_2, this:r2331_1 -# 2331| m2331_4(unknown) = ^CallSideEffect : ~m2327_6 -# 2331| m2331_5(unknown) = Chi : total:m2327_6, partial:m2331_4 -# 2331| v2331_6(void) = ^IndirectReadSideEffect[-1] : &:r2331_1, m2327_8 -# 2331| m2331_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2331_1 -# 2331| m2331_8(String) = Chi : total:m2327_8, partial:m2331_7 +# 2345| Block 3 +# 2345| r2345_1(glval) = VariableAddress[s] : +# 2345| r2345_2(glval) = FunctionAddress[~String] : +# 2345| v2345_3(void) = Call[~String] : func:r2345_2, this:r2345_1 +# 2345| m2345_4(unknown) = ^CallSideEffect : ~m2341_6 +# 2345| m2345_5(unknown) = Chi : total:m2341_6, partial:m2345_4 +# 2345| v2345_6(void) = ^IndirectReadSideEffect[-1] : &:r2345_1, m2341_8 +# 2345| m2345_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2345_1 +# 2345| m2345_8(String) = Chi : total:m2341_8, partial:m2345_7 #-----| Goto -> Block 4 -# 2334| Block 4 -# 2334| m2334_1(unknown) = Phi : from 3:~m2331_5, from 5:~m2336_5 -# 2334| m2334_2(bool) = Phi : from 3:m2328_1, from 5:m2335_3 -# 2334| r2334_3(glval) = VariableAddress[B] : -# 2334| m2334_4(Bool) = Uninitialized[B] : &:r2334_3 -# 2334| r2334_5(glval) = FunctionAddress[Bool] : -# 2334| r2334_6(glval) = VariableAddress[b] : -# 2334| r2334_7(bool) = Load[b] : &:r2334_6, m2334_2 -# 2334| v2334_8(void) = Call[Bool] : func:r2334_5, this:r2334_3, 0:r2334_7 -# 2334| m2334_9(unknown) = ^CallSideEffect : ~m2334_1 -# 2334| m2334_10(unknown) = Chi : total:m2334_1, partial:m2334_9 -# 2334| m2334_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_3 -# 2334| m2334_12(Bool) = Chi : total:m2334_4, partial:m2334_11 -# 2334| r2334_13(glval) = VariableAddress[B] : -# 2334| r2334_14(glval) = FunctionAddress[operator bool] : -# 2334| r2334_15(bool) = Call[operator bool] : func:r2334_14, this:r2334_13 -# 2334| m2334_16(unknown) = ^CallSideEffect : ~m2334_10 -# 2334| m2334_17(unknown) = Chi : total:m2334_10, partial:m2334_16 -# 2334| v2334_18(void) = ^IndirectReadSideEffect[-1] : &:r2334_13, m2334_12 -# 2334| m2334_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_13 -# 2334| m2334_20(Bool) = Chi : total:m2334_12, partial:m2334_19 -# 2334| r2334_21(bool) = CopyValue : r2334_15 -# 2334| v2334_22(void) = ConditionalBranch : r2334_21 +# 2348| Block 4 +# 2348| m2348_1(unknown) = Phi : from 3:~m2345_5, from 5:~m2350_5 +# 2348| m2348_2(bool) = Phi : from 3:m2342_1, from 5:m2349_3 +# 2348| r2348_3(glval) = VariableAddress[B] : +# 2348| m2348_4(Bool) = Uninitialized[B] : &:r2348_3 +# 2348| r2348_5(glval) = FunctionAddress[Bool] : +# 2348| r2348_6(glval) = VariableAddress[b] : +# 2348| r2348_7(bool) = Load[b] : &:r2348_6, m2348_2 +# 2348| v2348_8(void) = Call[Bool] : func:r2348_5, this:r2348_3, 0:r2348_7 +# 2348| m2348_9(unknown) = ^CallSideEffect : ~m2348_1 +# 2348| m2348_10(unknown) = Chi : total:m2348_1, partial:m2348_9 +# 2348| m2348_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2348_3 +# 2348| m2348_12(Bool) = Chi : total:m2348_4, partial:m2348_11 +# 2348| r2348_13(glval) = VariableAddress[B] : +# 2348| r2348_14(glval) = FunctionAddress[operator bool] : +# 2348| r2348_15(bool) = Call[operator bool] : func:r2348_14, this:r2348_13 +# 2348| m2348_16(unknown) = ^CallSideEffect : ~m2348_10 +# 2348| m2348_17(unknown) = Chi : total:m2348_10, partial:m2348_16 +# 2348| v2348_18(void) = ^IndirectReadSideEffect[-1] : &:r2348_13, m2348_12 +# 2348| m2348_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2348_13 +# 2348| m2348_20(Bool) = Chi : total:m2348_12, partial:m2348_19 +# 2348| r2348_21(bool) = CopyValue : r2348_15 +# 2348| v2348_22(void) = ConditionalBranch : r2348_21 #-----| False -> Block 6 #-----| True -> Block 5 -# 2335| Block 5 -# 2335| r2335_1(bool) = Constant[0] : -# 2335| r2335_2(glval) = VariableAddress[b] : -# 2335| m2335_3(bool) = Store[b] : &:r2335_2, r2335_1 -# 2336| r2336_1(glval) = VariableAddress[B] : -# 2336| r2336_2(glval) = FunctionAddress[~Bool] : -# 2336| v2336_3(void) = Call[~Bool] : func:r2336_2, this:r2336_1 -# 2336| m2336_4(unknown) = ^CallSideEffect : ~m2334_17 -# 2336| m2336_5(unknown) = Chi : total:m2334_17, partial:m2336_4 -# 2336| v2336_6(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, m2334_20 -# 2336| m2336_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 -# 2336| m2336_8(Bool) = Chi : total:m2334_20, partial:m2336_7 +# 2349| Block 5 +# 2349| r2349_1(bool) = Constant[0] : +# 2349| r2349_2(glval) = VariableAddress[b] : +# 2349| m2349_3(bool) = Store[b] : &:r2349_2, r2349_1 +# 2350| r2350_1(glval) = VariableAddress[B] : +# 2350| r2350_2(glval) = FunctionAddress[~Bool] : +# 2350| v2350_3(void) = Call[~Bool] : func:r2350_2, this:r2350_1 +# 2350| m2350_4(unknown) = ^CallSideEffect : ~m2348_17 +# 2350| m2350_5(unknown) = Chi : total:m2348_17, partial:m2350_4 +# 2350| v2350_6(void) = ^IndirectReadSideEffect[-1] : &:r2350_1, m2348_20 +# 2350| m2350_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2350_1 +# 2350| m2350_8(Bool) = Chi : total:m2348_20, partial:m2350_7 #-----| Goto (back edge) -> Block 4 -# 2336| Block 6 -# 2336| r2336_9(glval) = VariableAddress[B] : -# 2336| r2336_10(glval) = FunctionAddress[~Bool] : -# 2336| v2336_11(void) = Call[~Bool] : func:r2336_10, this:r2336_9 -# 2336| m2336_12(unknown) = ^CallSideEffect : ~m2334_17 -# 2336| m2336_13(unknown) = Chi : total:m2334_17, partial:m2336_12 -# 2336| v2336_14(void) = ^IndirectReadSideEffect[-1] : &:r2336_9, m2334_20 -# 2336| m2336_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_9 -# 2336| m2336_16(Bool) = Chi : total:m2334_20, partial:m2336_15 -# 2338| v2338_1(void) = NoOp : -# 2325| v2325_7(void) = ReturnVoid : -# 2325| v2325_8(void) = AliasedUse : ~m2336_13 -# 2325| v2325_9(void) = ExitFunction : - -# 2340| void VoidFunc() -# 2340| Block 0 -# 2340| v2340_1(void) = EnterFunction : -# 2340| m2340_2(unknown) = AliasedDefinition : -# 2340| m2340_3(unknown) = InitializeNonLocal : -# 2340| m2340_4(unknown) = Chi : total:m2340_2, partial:m2340_3 -# 2340| v2340_5(void) = NoOp : -# 2340| v2340_6(void) = ReturnVoid : -# 2340| v2340_7(void) = AliasedUse : m2340_3 -# 2340| v2340_8(void) = ExitFunction : - -# 2342| void IfReturnDestructors(bool) -# 2342| Block 0 -# 2342| v2342_1(void) = EnterFunction : -# 2342| m2342_2(unknown) = AliasedDefinition : -# 2342| m2342_3(unknown) = InitializeNonLocal : -# 2342| m2342_4(unknown) = Chi : total:m2342_2, partial:m2342_3 -# 2342| r2342_5(glval) = VariableAddress[b] : -# 2342| m2342_6(bool) = InitializeParameter[b] : &:r2342_5 -# 2343| r2343_1(glval) = VariableAddress[s] : -# 2343| m2343_2(String) = Uninitialized[s] : &:r2343_1 -# 2343| r2343_3(glval) = FunctionAddress[String] : -# 2343| v2343_4(void) = Call[String] : func:r2343_3, this:r2343_1 -# 2343| m2343_5(unknown) = ^CallSideEffect : ~m2342_4 -# 2343| m2343_6(unknown) = Chi : total:m2342_4, partial:m2343_5 -# 2343| m2343_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2343_1 -# 2343| m2343_8(String) = Chi : total:m2343_2, partial:m2343_7 -# 2344| r2344_1(glval) = VariableAddress[b] : -# 2344| r2344_2(bool) = Load[b] : &:r2344_1, m2342_6 -# 2344| v2344_3(void) = ConditionalBranch : r2344_2 +# 2350| Block 6 +# 2350| r2350_9(glval) = VariableAddress[B] : +# 2350| r2350_10(glval) = FunctionAddress[~Bool] : +# 2350| v2350_11(void) = Call[~Bool] : func:r2350_10, this:r2350_9 +# 2350| m2350_12(unknown) = ^CallSideEffect : ~m2348_17 +# 2350| m2350_13(unknown) = Chi : total:m2348_17, partial:m2350_12 +# 2350| v2350_14(void) = ^IndirectReadSideEffect[-1] : &:r2350_9, m2348_20 +# 2350| m2350_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2350_9 +# 2350| m2350_16(Bool) = Chi : total:m2348_20, partial:m2350_15 +# 2352| v2352_1(void) = NoOp : +# 2339| v2339_7(void) = ReturnVoid : +# 2339| v2339_8(void) = AliasedUse : ~m2350_13 +# 2339| v2339_9(void) = ExitFunction : + +# 2354| void VoidFunc() +# 2354| Block 0 +# 2354| v2354_1(void) = EnterFunction : +# 2354| m2354_2(unknown) = AliasedDefinition : +# 2354| m2354_3(unknown) = InitializeNonLocal : +# 2354| m2354_4(unknown) = Chi : total:m2354_2, partial:m2354_3 +# 2354| v2354_5(void) = NoOp : +# 2354| v2354_6(void) = ReturnVoid : +# 2354| v2354_7(void) = AliasedUse : m2354_3 +# 2354| v2354_8(void) = ExitFunction : + +# 2356| void IfReturnDestructors(bool) +# 2356| Block 0 +# 2356| v2356_1(void) = EnterFunction : +# 2356| m2356_2(unknown) = AliasedDefinition : +# 2356| m2356_3(unknown) = InitializeNonLocal : +# 2356| m2356_4(unknown) = Chi : total:m2356_2, partial:m2356_3 +# 2356| r2356_5(glval) = VariableAddress[b] : +# 2356| m2356_6(bool) = InitializeParameter[b] : &:r2356_5 +# 2357| r2357_1(glval) = VariableAddress[s] : +# 2357| m2357_2(String) = Uninitialized[s] : &:r2357_1 +# 2357| r2357_3(glval) = FunctionAddress[String] : +# 2357| v2357_4(void) = Call[String] : func:r2357_3, this:r2357_1 +# 2357| m2357_5(unknown) = ^CallSideEffect : ~m2356_4 +# 2357| m2357_6(unknown) = Chi : total:m2356_4, partial:m2357_5 +# 2357| m2357_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2357_1 +# 2357| m2357_8(String) = Chi : total:m2357_2, partial:m2357_7 +# 2358| r2358_1(glval) = VariableAddress[b] : +# 2358| r2358_2(bool) = Load[b] : &:r2358_1, m2356_6 +# 2358| v2358_3(void) = ConditionalBranch : r2358_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2342| Block 1 -# 2342| m2342_7(unknown) = Phi : from 2:~m2351_5, from 4:~m2351_13, from 5:~m2351_22 -# 2342| v2342_8(void) = ReturnVoid : -# 2342| v2342_9(void) = AliasedUse : ~m2342_7 -# 2342| v2342_10(void) = ExitFunction : - -# 2345| Block 2 -# 2345| v2345_1(void) = NoOp : -# 2351| r2351_1(glval) = VariableAddress[s] : -# 2351| r2351_2(glval) = FunctionAddress[~String] : -# 2351| v2351_3(void) = Call[~String] : func:r2351_2, this:r2351_1 -# 2351| m2351_4(unknown) = ^CallSideEffect : ~m2343_6 -# 2351| m2351_5(unknown) = Chi : total:m2343_6, partial:m2351_4 -# 2351| v2351_6(void) = ^IndirectReadSideEffect[-1] : &:r2351_1, m2343_8 -# 2351| m2351_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_1 -# 2351| m2351_8(String) = Chi : total:m2343_8, partial:m2351_7 +# 2356| Block 1 +# 2356| m2356_7(unknown) = Phi : from 2:~m2365_5, from 4:~m2365_13, from 5:~m2365_22 +# 2356| v2356_8(void) = ReturnVoid : +# 2356| v2356_9(void) = AliasedUse : ~m2356_7 +# 2356| v2356_10(void) = ExitFunction : + +# 2359| Block 2 +# 2359| v2359_1(void) = NoOp : +# 2365| r2365_1(glval) = VariableAddress[s] : +# 2365| r2365_2(glval) = FunctionAddress[~String] : +# 2365| v2365_3(void) = Call[~String] : func:r2365_2, this:r2365_1 +# 2365| m2365_4(unknown) = ^CallSideEffect : ~m2357_6 +# 2365| m2365_5(unknown) = Chi : total:m2357_6, partial:m2365_4 +# 2365| v2365_6(void) = ^IndirectReadSideEffect[-1] : &:r2365_1, m2357_8 +# 2365| m2365_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_1 +# 2365| m2365_8(String) = Chi : total:m2357_8, partial:m2365_7 #-----| Goto -> Block 1 -# 2347| Block 3 -# 2347| r2347_1(glval) = VariableAddress[b] : -# 2347| r2347_2(bool) = Load[b] : &:r2347_1, m2342_6 -# 2347| v2347_3(void) = ConditionalBranch : r2347_2 +# 2361| Block 3 +# 2361| r2361_1(glval) = VariableAddress[b] : +# 2361| r2361_2(bool) = Load[b] : &:r2361_1, m2356_6 +# 2361| v2361_3(void) = ConditionalBranch : r2361_2 #-----| False -> Block 5 #-----| True -> Block 4 -# 2348| Block 4 -# 2348| r2348_1(glval) = FunctionAddress[VoidFunc] : -# 2348| v2348_2(void) = Call[VoidFunc] : func:r2348_1 -# 2348| m2348_3(unknown) = ^CallSideEffect : ~m2343_6 -# 2348| m2348_4(unknown) = Chi : total:m2343_6, partial:m2348_3 -# 2348| v2348_5(void) = NoOp : -# 2351| r2351_9(glval) = VariableAddress[s] : -# 2351| r2351_10(glval) = FunctionAddress[~String] : -# 2351| v2351_11(void) = Call[~String] : func:r2351_10, this:r2351_9 -# 2351| m2351_12(unknown) = ^CallSideEffect : ~m2348_4 -# 2351| m2351_13(unknown) = Chi : total:m2348_4, partial:m2351_12 -# 2351| v2351_14(void) = ^IndirectReadSideEffect[-1] : &:r2351_9, m2343_8 -# 2351| m2351_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_9 -# 2351| m2351_16(String) = Chi : total:m2343_8, partial:m2351_15 +# 2362| Block 4 +# 2362| r2362_1(glval) = FunctionAddress[VoidFunc] : +# 2362| v2362_2(void) = Call[VoidFunc] : func:r2362_1 +# 2362| m2362_3(unknown) = ^CallSideEffect : ~m2357_6 +# 2362| m2362_4(unknown) = Chi : total:m2357_6, partial:m2362_3 +# 2362| v2362_5(void) = NoOp : +# 2365| r2365_9(glval) = VariableAddress[s] : +# 2365| r2365_10(glval) = FunctionAddress[~String] : +# 2365| v2365_11(void) = Call[~String] : func:r2365_10, this:r2365_9 +# 2365| m2365_12(unknown) = ^CallSideEffect : ~m2362_4 +# 2365| m2365_13(unknown) = Chi : total:m2362_4, partial:m2365_12 +# 2365| v2365_14(void) = ^IndirectReadSideEffect[-1] : &:r2365_9, m2357_8 +# 2365| m2365_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_9 +# 2365| m2365_16(String) = Chi : total:m2357_8, partial:m2365_15 #-----| Goto -> Block 1 -# 2350| Block 5 -# 2350| r2350_1(glval) = VariableAddress[s] : -# 2351| v2351_17(void) = NoOp : -# 2351| r2351_18(glval) = VariableAddress[s] : -# 2351| r2351_19(glval) = FunctionAddress[~String] : -# 2351| v2351_20(void) = Call[~String] : func:r2351_19, this:r2351_18 -# 2351| m2351_21(unknown) = ^CallSideEffect : ~m2343_6 -# 2351| m2351_22(unknown) = Chi : total:m2343_6, partial:m2351_21 -# 2351| v2351_23(void) = ^IndirectReadSideEffect[-1] : &:r2351_18, m2343_8 -# 2351| m2351_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_18 -# 2351| m2351_25(String) = Chi : total:m2343_8, partial:m2351_24 +# 2364| Block 5 +# 2364| r2364_1(glval) = VariableAddress[s] : +# 2365| v2365_17(void) = NoOp : +# 2365| r2365_18(glval) = VariableAddress[s] : +# 2365| r2365_19(glval) = FunctionAddress[~String] : +# 2365| v2365_20(void) = Call[~String] : func:r2365_19, this:r2365_18 +# 2365| m2365_21(unknown) = ^CallSideEffect : ~m2357_6 +# 2365| m2365_22(unknown) = Chi : total:m2357_6, partial:m2365_21 +# 2365| v2365_23(void) = ^IndirectReadSideEffect[-1] : &:r2365_18, m2357_8 +# 2365| m2365_24(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_18 +# 2365| m2365_25(String) = Chi : total:m2357_8, partial:m2365_24 #-----| Goto -> Block 1 -# 2353| int IfReturnDestructors3(bool) -# 2353| Block 0 -# 2353| v2353_1(void) = EnterFunction : -# 2353| m2353_2(unknown) = AliasedDefinition : -# 2353| m2353_3(unknown) = InitializeNonLocal : -# 2353| m2353_4(unknown) = Chi : total:m2353_2, partial:m2353_3 -# 2353| r2353_5(glval) = VariableAddress[b] : -# 2353| m2353_6(bool) = InitializeParameter[b] : &:r2353_5 -# 2354| r2354_1(glval) = VariableAddress[s] : -# 2354| m2354_2(String) = Uninitialized[s] : &:r2354_1 -# 2354| r2354_3(glval) = FunctionAddress[String] : -# 2354| v2354_4(void) = Call[String] : func:r2354_3, this:r2354_1 -# 2354| m2354_5(unknown) = ^CallSideEffect : ~m2353_4 -# 2354| m2354_6(unknown) = Chi : total:m2353_4, partial:m2354_5 -# 2354| m2354_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2354_1 -# 2354| m2354_8(String) = Chi : total:m2354_2, partial:m2354_7 -# 2355| r2355_1(glval) = VariableAddress[b] : -# 2355| r2355_2(bool) = Load[b] : &:r2355_1, m2353_6 -# 2355| v2355_3(void) = ConditionalBranch : r2355_2 +# 2367| int IfReturnDestructors3(bool) +# 2367| Block 0 +# 2367| v2367_1(void) = EnterFunction : +# 2367| m2367_2(unknown) = AliasedDefinition : +# 2367| m2367_3(unknown) = InitializeNonLocal : +# 2367| m2367_4(unknown) = Chi : total:m2367_2, partial:m2367_3 +# 2367| r2367_5(glval) = VariableAddress[b] : +# 2367| m2367_6(bool) = InitializeParameter[b] : &:r2367_5 +# 2368| r2368_1(glval) = VariableAddress[s] : +# 2368| m2368_2(String) = Uninitialized[s] : &:r2368_1 +# 2368| r2368_3(glval) = FunctionAddress[String] : +# 2368| v2368_4(void) = Call[String] : func:r2368_3, this:r2368_1 +# 2368| m2368_5(unknown) = ^CallSideEffect : ~m2367_4 +# 2368| m2368_6(unknown) = Chi : total:m2367_4, partial:m2368_5 +# 2368| m2368_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2368_1 +# 2368| m2368_8(String) = Chi : total:m2368_2, partial:m2368_7 +# 2369| r2369_1(glval) = VariableAddress[b] : +# 2369| r2369_2(bool) = Load[b] : &:r2369_1, m2367_6 +# 2369| v2369_3(void) = ConditionalBranch : r2369_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2353| Block 1 -# 2353| m2353_7(unknown) = Phi : from 2:~m2359_5, from 3:~m2359_13 -# 2353| m2353_8(int) = Phi : from 2:m2356_3, from 3:m2358_3 -# 2353| r2353_9(glval) = VariableAddress[#return] : -# 2353| v2353_10(void) = ReturnValue : &:r2353_9, m2353_8 -# 2353| v2353_11(void) = AliasedUse : ~m2353_7 -# 2353| v2353_12(void) = ExitFunction : - -# 2356| Block 2 -# 2356| r2356_1(glval) = VariableAddress[#return] : -# 2356| r2356_2(int) = Constant[1] : -# 2356| m2356_3(int) = Store[#return] : &:r2356_1, r2356_2 -# 2359| r2359_1(glval) = VariableAddress[s] : -# 2359| r2359_2(glval) = FunctionAddress[~String] : -# 2359| v2359_3(void) = Call[~String] : func:r2359_2, this:r2359_1 -# 2359| m2359_4(unknown) = ^CallSideEffect : ~m2354_6 -# 2359| m2359_5(unknown) = Chi : total:m2354_6, partial:m2359_4 -# 2359| v2359_6(void) = ^IndirectReadSideEffect[-1] : &:r2359_1, m2354_8 -# 2359| m2359_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_1 -# 2359| m2359_8(String) = Chi : total:m2354_8, partial:m2359_7 +# 2367| Block 1 +# 2367| m2367_7(unknown) = Phi : from 2:~m2373_5, from 3:~m2373_13 +# 2367| m2367_8(int) = Phi : from 2:m2370_3, from 3:m2372_3 +# 2367| r2367_9(glval) = VariableAddress[#return] : +# 2367| v2367_10(void) = ReturnValue : &:r2367_9, m2367_8 +# 2367| v2367_11(void) = AliasedUse : ~m2367_7 +# 2367| v2367_12(void) = ExitFunction : + +# 2370| Block 2 +# 2370| r2370_1(glval) = VariableAddress[#return] : +# 2370| r2370_2(int) = Constant[1] : +# 2370| m2370_3(int) = Store[#return] : &:r2370_1, r2370_2 +# 2373| r2373_1(glval) = VariableAddress[s] : +# 2373| r2373_2(glval) = FunctionAddress[~String] : +# 2373| v2373_3(void) = Call[~String] : func:r2373_2, this:r2373_1 +# 2373| m2373_4(unknown) = ^CallSideEffect : ~m2368_6 +# 2373| m2373_5(unknown) = Chi : total:m2368_6, partial:m2373_4 +# 2373| v2373_6(void) = ^IndirectReadSideEffect[-1] : &:r2373_1, m2368_8 +# 2373| m2373_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2373_1 +# 2373| m2373_8(String) = Chi : total:m2368_8, partial:m2373_7 #-----| Goto -> Block 1 -# 2358| Block 3 -# 2358| r2358_1(glval) = VariableAddress[#return] : -# 2358| r2358_2(int) = Constant[0] : -# 2358| m2358_3(int) = Store[#return] : &:r2358_1, r2358_2 -# 2359| r2359_9(glval) = VariableAddress[s] : -# 2359| r2359_10(glval) = FunctionAddress[~String] : -# 2359| v2359_11(void) = Call[~String] : func:r2359_10, this:r2359_9 -# 2359| m2359_12(unknown) = ^CallSideEffect : ~m2354_6 -# 2359| m2359_13(unknown) = Chi : total:m2354_6, partial:m2359_12 -# 2359| v2359_14(void) = ^IndirectReadSideEffect[-1] : &:r2359_9, m2354_8 -# 2359| m2359_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_9 -# 2359| m2359_16(String) = Chi : total:m2354_8, partial:m2359_15 +# 2372| Block 3 +# 2372| r2372_1(glval) = VariableAddress[#return] : +# 2372| r2372_2(int) = Constant[0] : +# 2372| m2372_3(int) = Store[#return] : &:r2372_1, r2372_2 +# 2373| r2373_9(glval) = VariableAddress[s] : +# 2373| r2373_10(glval) = FunctionAddress[~String] : +# 2373| v2373_11(void) = Call[~String] : func:r2373_10, this:r2373_9 +# 2373| m2373_12(unknown) = ^CallSideEffect : ~m2368_6 +# 2373| m2373_13(unknown) = Chi : total:m2368_6, partial:m2373_12 +# 2373| v2373_14(void) = ^IndirectReadSideEffect[-1] : &:r2373_9, m2368_8 +# 2373| m2373_15(String) = ^IndirectMayWriteSideEffect[-1] : &:r2373_9 +# 2373| m2373_16(String) = Chi : total:m2368_8, partial:m2373_15 #-----| Goto -> Block 1 -# 2361| void VoidReturnDestructors() -# 2361| Block 0 -# 2361| v2361_1(void) = EnterFunction : -# 2361| m2361_2(unknown) = AliasedDefinition : -# 2361| m2361_3(unknown) = InitializeNonLocal : -# 2361| m2361_4(unknown) = Chi : total:m2361_2, partial:m2361_3 -# 2362| r2362_1(glval) = VariableAddress[s] : -# 2362| m2362_2(String) = Uninitialized[s] : &:r2362_1 -# 2362| r2362_3(glval) = FunctionAddress[String] : -# 2362| v2362_4(void) = Call[String] : func:r2362_3, this:r2362_1 -# 2362| m2362_5(unknown) = ^CallSideEffect : ~m2361_4 -# 2362| m2362_6(unknown) = Chi : total:m2361_4, partial:m2362_5 -# 2362| m2362_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2362_1 -# 2362| m2362_8(String) = Chi : total:m2362_2, partial:m2362_7 -# 2363| r2363_1(glval) = FunctionAddress[VoidFunc] : -# 2363| v2363_2(void) = Call[VoidFunc] : func:r2363_1 -# 2363| m2363_3(unknown) = ^CallSideEffect : ~m2362_6 -# 2363| m2363_4(unknown) = Chi : total:m2362_6, partial:m2363_3 -# 2363| v2363_5(void) = NoOp : -# 2364| r2364_1(glval) = VariableAddress[s] : -# 2364| r2364_2(glval) = FunctionAddress[~String] : -# 2364| v2364_3(void) = Call[~String] : func:r2364_2, this:r2364_1 -# 2364| m2364_4(unknown) = ^CallSideEffect : ~m2363_4 -# 2364| m2364_5(unknown) = Chi : total:m2363_4, partial:m2364_4 -# 2364| v2364_6(void) = ^IndirectReadSideEffect[-1] : &:r2364_1, m2362_8 -# 2364| m2364_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2364_1 -# 2364| m2364_8(String) = Chi : total:m2362_8, partial:m2364_7 -# 2361| v2361_5(void) = ReturnVoid : -# 2361| v2361_6(void) = AliasedUse : ~m2364_5 -# 2361| v2361_7(void) = ExitFunction : - -# 2374| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2374| Block 0 -# 2374| v2374_1(void) = EnterFunction : -# 2374| m2374_2(unknown) = AliasedDefinition : -# 2374| m2374_3(unknown) = InitializeNonLocal : -# 2374| m2374_4(unknown) = Chi : total:m2374_2, partial:m2374_3 -# 2376| r2376_1(glval<..:: *>) = VariableAddress[#return] : -# 2376| r2376_2(..()(..)) = FunctionAddress[VoidToInt] : -# 2376| m2376_3(..:: *) = Store[#return] : &:r2376_1, r2376_2 -# 2374| r2374_5(glval<..:: *>) = VariableAddress[#return] : -# 2374| v2374_6(void) = ReturnValue : &:r2374_5, m2376_3 -# 2374| v2374_7(void) = AliasedUse : m2374_3 -# 2374| v2374_8(void) = ExitFunction : - -# 2381| int small_operation_should_not_be_constant_folded() -# 2381| Block 0 -# 2381| v2381_1(void) = EnterFunction : -# 2381| m2381_2(unknown) = AliasedDefinition : -# 2381| m2381_3(unknown) = InitializeNonLocal : -# 2381| m2381_4(unknown) = Chi : total:m2381_2, partial:m2381_3 -# 2382| r2382_1(glval) = VariableAddress[#return] : -# 2382| r2382_2(int) = Constant[1] : -# 2382| r2382_3(int) = Constant[2] : -# 2382| r2382_4(int) = BitXor : r2382_2, r2382_3 -# 2382| m2382_5(int) = Store[#return] : &:r2382_1, r2382_4 -# 2381| r2381_5(glval) = VariableAddress[#return] : -# 2381| v2381_6(void) = ReturnValue : &:r2381_5, m2382_5 -# 2381| v2381_7(void) = AliasedUse : m2381_3 -# 2381| v2381_8(void) = ExitFunction : - -# 2392| int large_operation_should_be_constant_folded() -# 2392| Block 0 -# 2392| v2392_1(void) = EnterFunction : -# 2392| m2392_2(unknown) = AliasedDefinition : -# 2392| m2392_3(unknown) = InitializeNonLocal : -# 2392| m2392_4(unknown) = Chi : total:m2392_2, partial:m2392_3 -# 2393| r2393_1(glval) = VariableAddress[#return] : -# 2393| r2393_2(int) = Constant[0] : -# 2393| m2393_3(int) = Store[#return] : &:r2393_1, r2393_2 -# 2392| r2392_5(glval) = VariableAddress[#return] : -# 2392| v2392_6(void) = ReturnValue : &:r2392_5, m2393_3 -# 2392| v2392_7(void) = AliasedUse : m2392_3 -# 2392| v2392_8(void) = ExitFunction : - -# 2396| void initialization_with_temp_destructor() -# 2396| Block 0 -# 2396| v2396_1(void) = EnterFunction : -# 2396| m2396_2(unknown) = AliasedDefinition : -# 2396| m2396_3(unknown) = InitializeNonLocal : -# 2396| m2396_4(unknown) = Chi : total:m2396_2, partial:m2396_3 -# 2397| r2397_1(glval) = VariableAddress[x] : -# 2397| r2397_2(glval) = VariableAddress[#temp2397:18] : -# 2397| m2397_3(ClassWithDestructor) = Uninitialized[#temp2397:18] : &:r2397_2 -# 2397| r2397_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2397| v2397_5(void) = Call[ClassWithDestructor] : func:r2397_4, this:r2397_2 -# 2397| m2397_6(unknown) = ^CallSideEffect : ~m2396_4 -# 2397| m2397_7(unknown) = Chi : total:m2396_4, partial:m2397_6 -# 2397| m2397_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 -# 2397| m2397_9(ClassWithDestructor) = Chi : total:m2397_3, partial:m2397_8 -# 2397| r2397_10(glval) = FunctionAddress[get_x] : -# 2397| r2397_11(char) = Call[get_x] : func:r2397_10, this:r2397_2 -# 2397| m2397_12(unknown) = ^CallSideEffect : ~m2397_7 -# 2397| m2397_13(unknown) = Chi : total:m2397_7, partial:m2397_12 -# 2397| v2397_14(void) = ^IndirectReadSideEffect[-1] : &:r2397_2, m2397_9 -# 2397| m2397_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 -# 2397| m2397_16(ClassWithDestructor) = Chi : total:m2397_9, partial:m2397_15 -# 2397| m2397_17(char) = Store[x] : &:r2397_1, r2397_11 -# 2397| r2397_18(glval) = VariableAddress[x] : -# 2397| r2397_19(char) = Load[x] : &:r2397_18, m2397_17 -# 2397| r2397_20(char) = Constant[0] : -# 2397| r2397_21(bool) = CompareNE : r2397_19, r2397_20 -# 2397| r2397_22(bool) = CopyValue : r2397_21 -# 2397| v2397_23(void) = ConditionalBranch : r2397_22 +# 2375| void VoidReturnDestructors() +# 2375| Block 0 +# 2375| v2375_1(void) = EnterFunction : +# 2375| m2375_2(unknown) = AliasedDefinition : +# 2375| m2375_3(unknown) = InitializeNonLocal : +# 2375| m2375_4(unknown) = Chi : total:m2375_2, partial:m2375_3 +# 2376| r2376_1(glval) = VariableAddress[s] : +# 2376| m2376_2(String) = Uninitialized[s] : &:r2376_1 +# 2376| r2376_3(glval) = FunctionAddress[String] : +# 2376| v2376_4(void) = Call[String] : func:r2376_3, this:r2376_1 +# 2376| m2376_5(unknown) = ^CallSideEffect : ~m2375_4 +# 2376| m2376_6(unknown) = Chi : total:m2375_4, partial:m2376_5 +# 2376| m2376_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2376_1 +# 2376| m2376_8(String) = Chi : total:m2376_2, partial:m2376_7 +# 2377| r2377_1(glval) = FunctionAddress[VoidFunc] : +# 2377| v2377_2(void) = Call[VoidFunc] : func:r2377_1 +# 2377| m2377_3(unknown) = ^CallSideEffect : ~m2376_6 +# 2377| m2377_4(unknown) = Chi : total:m2376_6, partial:m2377_3 +# 2377| v2377_5(void) = NoOp : +# 2378| r2378_1(glval) = VariableAddress[s] : +# 2378| r2378_2(glval) = FunctionAddress[~String] : +# 2378| v2378_3(void) = Call[~String] : func:r2378_2, this:r2378_1 +# 2378| m2378_4(unknown) = ^CallSideEffect : ~m2377_4 +# 2378| m2378_5(unknown) = Chi : total:m2377_4, partial:m2378_4 +# 2378| v2378_6(void) = ^IndirectReadSideEffect[-1] : &:r2378_1, m2376_8 +# 2378| m2378_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2378_1 +# 2378| m2378_8(String) = Chi : total:m2376_8, partial:m2378_7 +# 2375| v2375_5(void) = ReturnVoid : +# 2375| v2375_6(void) = AliasedUse : ~m2378_5 +# 2375| v2375_7(void) = ExitFunction : + +# 2388| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2388| Block 0 +# 2388| v2388_1(void) = EnterFunction : +# 2388| m2388_2(unknown) = AliasedDefinition : +# 2388| m2388_3(unknown) = InitializeNonLocal : +# 2388| m2388_4(unknown) = Chi : total:m2388_2, partial:m2388_3 +# 2390| r2390_1(glval<..:: *>) = VariableAddress[#return] : +# 2390| r2390_2(..()(..)) = FunctionAddress[VoidToInt] : +# 2390| m2390_3(..:: *) = Store[#return] : &:r2390_1, r2390_2 +# 2388| r2388_5(glval<..:: *>) = VariableAddress[#return] : +# 2388| v2388_6(void) = ReturnValue : &:r2388_5, m2390_3 +# 2388| v2388_7(void) = AliasedUse : m2388_3 +# 2388| v2388_8(void) = ExitFunction : + +# 2395| int small_operation_should_not_be_constant_folded() +# 2395| Block 0 +# 2395| v2395_1(void) = EnterFunction : +# 2395| m2395_2(unknown) = AliasedDefinition : +# 2395| m2395_3(unknown) = InitializeNonLocal : +# 2395| m2395_4(unknown) = Chi : total:m2395_2, partial:m2395_3 +# 2396| r2396_1(glval) = VariableAddress[#return] : +# 2396| r2396_2(int) = Constant[1] : +# 2396| r2396_3(int) = Constant[2] : +# 2396| r2396_4(int) = BitXor : r2396_2, r2396_3 +# 2396| m2396_5(int) = Store[#return] : &:r2396_1, r2396_4 +# 2395| r2395_5(glval) = VariableAddress[#return] : +# 2395| v2395_6(void) = ReturnValue : &:r2395_5, m2396_5 +# 2395| v2395_7(void) = AliasedUse : m2395_3 +# 2395| v2395_8(void) = ExitFunction : + +# 2406| int large_operation_should_be_constant_folded() +# 2406| Block 0 +# 2406| v2406_1(void) = EnterFunction : +# 2406| m2406_2(unknown) = AliasedDefinition : +# 2406| m2406_3(unknown) = InitializeNonLocal : +# 2406| m2406_4(unknown) = Chi : total:m2406_2, partial:m2406_3 +# 2407| r2407_1(glval) = VariableAddress[#return] : +# 2407| r2407_2(int) = Constant[0] : +# 2407| m2407_3(int) = Store[#return] : &:r2407_1, r2407_2 +# 2406| r2406_5(glval) = VariableAddress[#return] : +# 2406| v2406_6(void) = ReturnValue : &:r2406_5, m2407_3 +# 2406| v2406_7(void) = AliasedUse : m2406_3 +# 2406| v2406_8(void) = ExitFunction : + +# 2410| void initialization_with_temp_destructor() +# 2410| Block 0 +# 2410| v2410_1(void) = EnterFunction : +# 2410| m2410_2(unknown) = AliasedDefinition : +# 2410| m2410_3(unknown) = InitializeNonLocal : +# 2410| m2410_4(unknown) = Chi : total:m2410_2, partial:m2410_3 +# 2411| r2411_1(glval) = VariableAddress[x] : +# 2411| r2411_2(glval) = VariableAddress[#temp2411:18] : +# 2411| m2411_3(ClassWithDestructor) = Uninitialized[#temp2411:18] : &:r2411_2 +# 2411| r2411_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2 +# 2411| m2411_6(unknown) = ^CallSideEffect : ~m2410_4 +# 2411| m2411_7(unknown) = Chi : total:m2410_4, partial:m2411_6 +# 2411| m2411_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| m2411_9(ClassWithDestructor) = Chi : total:m2411_3, partial:m2411_8 +# 2411| r2411_10(glval) = FunctionAddress[get_x] : +# 2411| r2411_11(char) = Call[get_x] : func:r2411_10, this:r2411_2 +# 2411| m2411_12(unknown) = ^CallSideEffect : ~m2411_7 +# 2411| m2411_13(unknown) = Chi : total:m2411_7, partial:m2411_12 +# 2411| v2411_14(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, m2411_9 +# 2411| m2411_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| m2411_16(ClassWithDestructor) = Chi : total:m2411_9, partial:m2411_15 +# 2411| m2411_17(char) = Store[x] : &:r2411_1, r2411_11 +# 2411| r2411_18(glval) = VariableAddress[x] : +# 2411| r2411_19(char) = Load[x] : &:r2411_18, m2411_17 +# 2411| r2411_20(char) = Constant[0] : +# 2411| r2411_21(bool) = CompareNE : r2411_19, r2411_20 +# 2411| r2411_22(bool) = CopyValue : r2411_21 +# 2411| v2411_23(void) = ConditionalBranch : r2411_22 #-----| False -> Block 2 #-----| True -> Block 1 -# 2398| Block 1 -# 2398| r2398_1(glval) = VariableAddress[x] : -# 2398| r2398_2(char) = Load[x] : &:r2398_1, m2397_17 -# 2398| r2398_3(char) = Constant[1] : -# 2398| r2398_4(char) = Add : r2398_2, r2398_3 -# 2398| m2398_5(char) = Store[x] : &:r2398_1, r2398_4 +# 2412| Block 1 +# 2412| r2412_1(glval) = VariableAddress[x] : +# 2412| r2412_2(char) = Load[x] : &:r2412_1, m2411_17 +# 2412| r2412_3(char) = Constant[1] : +# 2412| r2412_4(char) = Add : r2412_2, r2412_3 +# 2412| m2412_5(char) = Store[x] : &:r2412_1, r2412_4 #-----| Goto -> Block 2 -# 2400| Block 2 -# 2400| r2400_1(glval) = VariableAddress[x] : -# 2400| r2400_2(glval) = VariableAddress[#temp2400:18] : -# 2400| m2400_3(ClassWithDestructor) = Uninitialized[#temp2400:18] : &:r2400_2 -# 2400| r2400_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2400| v2400_5(void) = Call[ClassWithDestructor] : func:r2400_4, this:r2400_2 -# 2400| m2400_6(unknown) = ^CallSideEffect : ~m2397_13 -# 2400| m2400_7(unknown) = Chi : total:m2397_13, partial:m2400_6 -# 2400| m2400_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 -# 2400| m2400_9(ClassWithDestructor) = Chi : total:m2400_3, partial:m2400_8 -# 2400| r2400_10(glval) = FunctionAddress[get_x] : -# 2400| r2400_11(char) = Call[get_x] : func:r2400_10, this:r2400_2 -# 2400| m2400_12(unknown) = ^CallSideEffect : ~m2400_7 -# 2400| m2400_13(unknown) = Chi : total:m2400_7, partial:m2400_12 -# 2400| v2400_14(void) = ^IndirectReadSideEffect[-1] : &:r2400_2, m2400_9 -# 2400| m2400_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 -# 2400| m2400_16(ClassWithDestructor) = Chi : total:m2400_9, partial:m2400_15 -# 2400| m2400_17(char) = Store[x] : &:r2400_1, r2400_11 -# 2400| r2400_18(glval) = VariableAddress[x] : -# 2400| r2400_19(char) = Load[x] : &:r2400_18, m2400_17 -# 2400| r2400_20(char) = Constant[0] : -# 2400| r2400_21(bool) = CompareNE : r2400_19, r2400_20 -# 2400| v2400_22(void) = ConditionalBranch : r2400_21 +# 2414| Block 2 +# 2414| r2414_1(glval) = VariableAddress[x] : +# 2414| r2414_2(glval) = VariableAddress[#temp2414:18] : +# 2414| m2414_3(ClassWithDestructor) = Uninitialized[#temp2414:18] : &:r2414_2 +# 2414| r2414_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2414| v2414_5(void) = Call[ClassWithDestructor] : func:r2414_4, this:r2414_2 +# 2414| m2414_6(unknown) = ^CallSideEffect : ~m2411_13 +# 2414| m2414_7(unknown) = Chi : total:m2411_13, partial:m2414_6 +# 2414| m2414_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_2 +# 2414| m2414_9(ClassWithDestructor) = Chi : total:m2414_3, partial:m2414_8 +# 2414| r2414_10(glval) = FunctionAddress[get_x] : +# 2414| r2414_11(char) = Call[get_x] : func:r2414_10, this:r2414_2 +# 2414| m2414_12(unknown) = ^CallSideEffect : ~m2414_7 +# 2414| m2414_13(unknown) = Chi : total:m2414_7, partial:m2414_12 +# 2414| v2414_14(void) = ^IndirectReadSideEffect[-1] : &:r2414_2, m2414_9 +# 2414| m2414_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_2 +# 2414| m2414_16(ClassWithDestructor) = Chi : total:m2414_9, partial:m2414_15 +# 2414| m2414_17(char) = Store[x] : &:r2414_1, r2414_11 +# 2414| r2414_18(glval) = VariableAddress[x] : +# 2414| r2414_19(char) = Load[x] : &:r2414_18, m2414_17 +# 2414| r2414_20(char) = Constant[0] : +# 2414| r2414_21(bool) = CompareNE : r2414_19, r2414_20 +# 2414| v2414_22(void) = ConditionalBranch : r2414_21 #-----| False -> Block 4 #-----| True -> Block 3 -# 2401| Block 3 -# 2401| r2401_1(glval) = VariableAddress[x] : -# 2401| r2401_2(char) = Load[x] : &:r2401_1, m2400_17 -# 2401| r2401_3(char) = Constant[1] : -# 2401| r2401_4(char) = Add : r2401_2, r2401_3 -# 2401| m2401_5(char) = Store[x] : &:r2401_1, r2401_4 +# 2415| Block 3 +# 2415| r2415_1(glval) = VariableAddress[x] : +# 2415| r2415_2(char) = Load[x] : &:r2415_1, m2414_17 +# 2415| r2415_3(char) = Constant[1] : +# 2415| r2415_4(char) = Add : r2415_2, r2415_3 +# 2415| m2415_5(char) = Store[x] : &:r2415_1, r2415_4 #-----| Goto -> Block 4 -# 2403| Block 4 -# 2403| r2403_1(glval) = VariableAddress[x] : -# 2403| r2403_2(glval) = VariableAddress[#temp2403:28] : -# 2403| m2403_3(ClassWithDestructor) = Uninitialized[#temp2403:28] : &:r2403_2 -# 2403| r2403_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2403| v2403_5(void) = Call[ClassWithDestructor] : func:r2403_4, this:r2403_2 -# 2403| m2403_6(unknown) = ^CallSideEffect : ~m2400_13 -# 2403| m2403_7(unknown) = Chi : total:m2400_13, partial:m2403_6 -# 2403| m2403_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 -# 2403| m2403_9(ClassWithDestructor) = Chi : total:m2403_3, partial:m2403_8 -# 2403| r2403_10(glval) = FunctionAddress[get_x] : -# 2403| r2403_11(char) = Call[get_x] : func:r2403_10, this:r2403_2 -# 2403| m2403_12(unknown) = ^CallSideEffect : ~m2403_7 -# 2403| m2403_13(unknown) = Chi : total:m2403_7, partial:m2403_12 -# 2403| v2403_14(void) = ^IndirectReadSideEffect[-1] : &:r2403_2, m2403_9 -# 2403| m2403_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 -# 2403| m2403_16(ClassWithDestructor) = Chi : total:m2403_9, partial:m2403_15 -# 2403| m2403_17(char) = Store[x] : &:r2403_1, r2403_11 -# 2403| r2403_18(bool) = Constant[1] : -# 2403| v2403_19(void) = ConditionalBranch : r2403_18 +# 2417| Block 4 +# 2417| r2417_1(glval) = VariableAddress[x] : +# 2417| r2417_2(glval) = VariableAddress[#temp2417:28] : +# 2417| m2417_3(ClassWithDestructor) = Uninitialized[#temp2417:28] : &:r2417_2 +# 2417| r2417_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2417| v2417_5(void) = Call[ClassWithDestructor] : func:r2417_4, this:r2417_2 +# 2417| m2417_6(unknown) = ^CallSideEffect : ~m2414_13 +# 2417| m2417_7(unknown) = Chi : total:m2414_13, partial:m2417_6 +# 2417| m2417_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_2 +# 2417| m2417_9(ClassWithDestructor) = Chi : total:m2417_3, partial:m2417_8 +# 2417| r2417_10(glval) = FunctionAddress[get_x] : +# 2417| r2417_11(char) = Call[get_x] : func:r2417_10, this:r2417_2 +# 2417| m2417_12(unknown) = ^CallSideEffect : ~m2417_7 +# 2417| m2417_13(unknown) = Chi : total:m2417_7, partial:m2417_12 +# 2417| v2417_14(void) = ^IndirectReadSideEffect[-1] : &:r2417_2, m2417_9 +# 2417| m2417_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_2 +# 2417| m2417_16(ClassWithDestructor) = Chi : total:m2417_9, partial:m2417_15 +# 2417| m2417_17(char) = Store[x] : &:r2417_1, r2417_11 +# 2417| r2417_18(bool) = Constant[1] : +# 2417| v2417_19(void) = ConditionalBranch : r2417_18 #-----| False -> Block 13 #-----| True -> Block 5 -# 2404| Block 5 -# 2404| r2404_1(glval) = VariableAddress[x] : -# 2404| r2404_2(char) = Load[x] : &:r2404_1, m2403_17 -# 2404| r2404_3(char) = Constant[1] : -# 2404| r2404_4(char) = Add : r2404_2, r2404_3 -# 2404| m2404_5(char) = Store[x] : &:r2404_1, r2404_4 -# 2406| r2406_1(glval) = VariableAddress[x] : -# 2406| r2406_2(glval) = VariableAddress[#temp2406:21] : -# 2406| m2406_3(ClassWithDestructor) = Uninitialized[#temp2406:21] : &:r2406_2 -# 2406| r2406_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2406| v2406_5(void) = Call[ClassWithDestructor] : func:r2406_4, this:r2406_2 -# 2406| m2406_6(unknown) = ^CallSideEffect : ~m2403_13 -# 2406| m2406_7(unknown) = Chi : total:m2403_13, partial:m2406_6 -# 2406| m2406_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 -# 2406| m2406_9(ClassWithDestructor) = Chi : total:m2406_3, partial:m2406_8 -# 2406| r2406_10(glval) = FunctionAddress[get_x] : -# 2406| r2406_11(char) = Call[get_x] : func:r2406_10, this:r2406_2 -# 2406| m2406_12(unknown) = ^CallSideEffect : ~m2406_7 -# 2406| m2406_13(unknown) = Chi : total:m2406_7, partial:m2406_12 -# 2406| v2406_14(void) = ^IndirectReadSideEffect[-1] : &:r2406_2, m2406_9 -# 2406| m2406_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 -# 2406| m2406_16(ClassWithDestructor) = Chi : total:m2406_9, partial:m2406_15 -# 2406| m2406_17(char) = Store[x] : &:r2406_1, r2406_11 -# 2406| r2406_18(glval) = VariableAddress[x] : -# 2406| r2406_19(char) = Load[x] : &:r2406_18, m2406_17 -# 2406| r2406_20(int) = Convert : r2406_19 -# 2406| r2406_21(int) = CopyValue : r2406_20 -# 2406| v2406_22(void) = Switch : r2406_21 +# 2418| Block 5 +# 2418| r2418_1(glval) = VariableAddress[x] : +# 2418| r2418_2(char) = Load[x] : &:r2418_1, m2417_17 +# 2418| r2418_3(char) = Constant[1] : +# 2418| r2418_4(char) = Add : r2418_2, r2418_3 +# 2418| m2418_5(char) = Store[x] : &:r2418_1, r2418_4 +# 2420| r2420_1(glval) = VariableAddress[x] : +# 2420| r2420_2(glval) = VariableAddress[#temp2420:21] : +# 2420| m2420_3(ClassWithDestructor) = Uninitialized[#temp2420:21] : &:r2420_2 +# 2420| r2420_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2420| v2420_5(void) = Call[ClassWithDestructor] : func:r2420_4, this:r2420_2 +# 2420| m2420_6(unknown) = ^CallSideEffect : ~m2417_13 +# 2420| m2420_7(unknown) = Chi : total:m2417_13, partial:m2420_6 +# 2420| m2420_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_2 +# 2420| m2420_9(ClassWithDestructor) = Chi : total:m2420_3, partial:m2420_8 +# 2420| r2420_10(glval) = FunctionAddress[get_x] : +# 2420| r2420_11(char) = Call[get_x] : func:r2420_10, this:r2420_2 +# 2420| m2420_12(unknown) = ^CallSideEffect : ~m2420_7 +# 2420| m2420_13(unknown) = Chi : total:m2420_7, partial:m2420_12 +# 2420| v2420_14(void) = ^IndirectReadSideEffect[-1] : &:r2420_2, m2420_9 +# 2420| m2420_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_2 +# 2420| m2420_16(ClassWithDestructor) = Chi : total:m2420_9, partial:m2420_15 +# 2420| m2420_17(char) = Store[x] : &:r2420_1, r2420_11 +# 2420| r2420_18(glval) = VariableAddress[x] : +# 2420| r2420_19(char) = Load[x] : &:r2420_18, m2420_17 +# 2420| r2420_20(int) = Convert : r2420_19 +# 2420| r2420_21(int) = CopyValue : r2420_20 +# 2420| v2420_22(void) = Switch : r2420_21 #-----| Case[97] -> Block 6 #-----| Default -> Block 7 -# 2407| Block 6 -# 2407| v2407_1(void) = NoOp : -# 2408| r2408_1(glval) = VariableAddress[x] : -# 2408| r2408_2(char) = Load[x] : &:r2408_1, m2406_17 -# 2408| r2408_3(char) = Constant[1] : -# 2408| r2408_4(char) = Add : r2408_2, r2408_3 -# 2408| m2408_5(char) = Store[x] : &:r2408_1, r2408_4 +# 2421| Block 6 +# 2421| v2421_1(void) = NoOp : +# 2422| r2422_1(glval) = VariableAddress[x] : +# 2422| r2422_2(char) = Load[x] : &:r2422_1, m2420_17 +# 2422| r2422_3(char) = Constant[1] : +# 2422| r2422_4(char) = Add : r2422_2, r2422_3 +# 2422| m2422_5(char) = Store[x] : &:r2422_1, r2422_4 #-----| Goto -> Block 7 -# 2411| Block 7 -# 2411| r2411_1(glval) = VariableAddress[x] : -# 2411| r2411_2(glval) = VariableAddress[#temp2411:21] : -# 2411| m2411_3(ClassWithDestructor) = Uninitialized[#temp2411:21] : &:r2411_2 -# 2411| r2411_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2 -# 2411| m2411_6(unknown) = ^CallSideEffect : ~m2406_13 -# 2411| m2411_7(unknown) = Chi : total:m2406_13, partial:m2411_6 -# 2411| m2411_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 -# 2411| m2411_9(ClassWithDestructor) = Chi : total:m2411_3, partial:m2411_8 -# 2411| r2411_10(glval) = FunctionAddress[get_x] : -# 2411| r2411_11(char) = Call[get_x] : func:r2411_10, this:r2411_2 -# 2411| m2411_12(unknown) = ^CallSideEffect : ~m2411_7 -# 2411| m2411_13(unknown) = Chi : total:m2411_7, partial:m2411_12 -# 2411| v2411_14(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, m2411_9 -# 2411| m2411_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 -# 2411| m2411_16(ClassWithDestructor) = Chi : total:m2411_9, partial:m2411_15 -# 2411| m2411_17(char) = Store[x] : &:r2411_1, r2411_11 -# 2411| r2411_18(glval) = VariableAddress[x] : -# 2411| r2411_19(char) = Load[x] : &:r2411_18, m2411_17 -# 2411| r2411_20(int) = Convert : r2411_19 -# 2411| v2411_21(void) = Switch : r2411_20 +# 2425| Block 7 +# 2425| r2425_1(glval) = VariableAddress[x] : +# 2425| r2425_2(glval) = VariableAddress[#temp2425:21] : +# 2425| m2425_3(ClassWithDestructor) = Uninitialized[#temp2425:21] : &:r2425_2 +# 2425| r2425_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2425| v2425_5(void) = Call[ClassWithDestructor] : func:r2425_4, this:r2425_2 +# 2425| m2425_6(unknown) = ^CallSideEffect : ~m2420_13 +# 2425| m2425_7(unknown) = Chi : total:m2420_13, partial:m2425_6 +# 2425| m2425_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_2 +# 2425| m2425_9(ClassWithDestructor) = Chi : total:m2425_3, partial:m2425_8 +# 2425| r2425_10(glval) = FunctionAddress[get_x] : +# 2425| r2425_11(char) = Call[get_x] : func:r2425_10, this:r2425_2 +# 2425| m2425_12(unknown) = ^CallSideEffect : ~m2425_7 +# 2425| m2425_13(unknown) = Chi : total:m2425_7, partial:m2425_12 +# 2425| v2425_14(void) = ^IndirectReadSideEffect[-1] : &:r2425_2, m2425_9 +# 2425| m2425_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_2 +# 2425| m2425_16(ClassWithDestructor) = Chi : total:m2425_9, partial:m2425_15 +# 2425| m2425_17(char) = Store[x] : &:r2425_1, r2425_11 +# 2425| r2425_18(glval) = VariableAddress[x] : +# 2425| r2425_19(char) = Load[x] : &:r2425_18, m2425_17 +# 2425| r2425_20(int) = Convert : r2425_19 +# 2425| v2425_21(void) = Switch : r2425_20 #-----| Case[97] -> Block 8 #-----| Default -> Block 9 -# 2412| Block 8 -# 2412| v2412_1(void) = NoOp : -# 2413| r2413_1(glval) = VariableAddress[x] : -# 2413| r2413_2(char) = Load[x] : &:r2413_1, m2411_17 -# 2413| r2413_3(char) = Constant[1] : -# 2413| r2413_4(char) = Add : r2413_2, r2413_3 -# 2413| m2413_5(char) = Store[x] : &:r2413_1, r2413_4 +# 2426| Block 8 +# 2426| v2426_1(void) = NoOp : +# 2427| r2427_1(glval) = VariableAddress[x] : +# 2427| r2427_2(char) = Load[x] : &:r2427_1, m2425_17 +# 2427| r2427_3(char) = Constant[1] : +# 2427| r2427_4(char) = Add : r2427_2, r2427_3 +# 2427| m2427_5(char) = Store[x] : &:r2427_1, r2427_4 #-----| Goto -> Block 9 -# 2416| Block 9 -# 2416| r2416_1(glval) = VariableAddress[x] : -# 2416| r2416_2(glval) = VariableAddress[#temp2416:18] : -# 2416| m2416_3(ClassWithDestructor) = Uninitialized[#temp2416:18] : &:r2416_2 -# 2416| r2416_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2416| v2416_5(void) = Call[ClassWithDestructor] : func:r2416_4, this:r2416_2 -# 2416| m2416_6(unknown) = ^CallSideEffect : ~m2411_13 -# 2416| m2416_7(unknown) = Chi : total:m2411_13, partial:m2416_6 -# 2416| m2416_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 -# 2416| m2416_9(ClassWithDestructor) = Chi : total:m2416_3, partial:m2416_8 -# 2416| r2416_10(glval) = FunctionAddress[get_x] : -# 2416| r2416_11(char) = Call[get_x] : func:r2416_10, this:r2416_2 -# 2416| m2416_12(unknown) = ^CallSideEffect : ~m2416_7 -# 2416| m2416_13(unknown) = Chi : total:m2416_7, partial:m2416_12 -# 2416| v2416_14(void) = ^IndirectReadSideEffect[-1] : &:r2416_2, m2416_9 -# 2416| m2416_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 -# 2416| m2416_16(ClassWithDestructor) = Chi : total:m2416_9, partial:m2416_15 -# 2416| m2416_17(char) = Store[x] : &:r2416_1, r2416_11 -# 2416| r2416_18(glval &&>) = VariableAddress[(__range)] : -# 2416| r2416_19(glval>) = VariableAddress[#temp2416:58] : -# 2416| m2416_20(vector) = Uninitialized[#temp2416:58] : &:r2416_19 -# 2416| r2416_21(glval) = FunctionAddress[vector] : -# 2416| r2416_22(glval) = VariableAddress[x] : -# 2416| r2416_23(char) = Load[x] : &:r2416_22, m2416_17 -# 2416| v2416_24(void) = Call[vector] : func:r2416_21, this:r2416_19, 0:r2416_23 -# 2416| m2416_25(unknown) = ^CallSideEffect : ~m2416_13 -# 2416| m2416_26(unknown) = Chi : total:m2416_13, partial:m2416_25 -# 2416| m2416_27(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2416_19 -# 2416| m2416_28(vector) = Chi : total:m2416_20, partial:m2416_27 -# 2416| r2416_29(vector &) = CopyValue : r2416_19 -# 2416| m2416_30(vector &&) = Store[(__range)] : &:r2416_18, r2416_29 -# 2416| r2416_31(glval>) = VariableAddress[(__begin)] : -# 2416| r2416_32(glval &&>) = VariableAddress[(__range)] : -# 2416| r2416_33(vector &&) = Load[(__range)] : &:r2416_32, m2416_30 -#-----| r0_1(glval>) = CopyValue : r2416_33 +# 2430| Block 9 +# 2430| r2430_1(glval) = VariableAddress[x] : +# 2430| r2430_2(glval) = VariableAddress[#temp2430:18] : +# 2430| m2430_3(ClassWithDestructor) = Uninitialized[#temp2430:18] : &:r2430_2 +# 2430| r2430_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2430| v2430_5(void) = Call[ClassWithDestructor] : func:r2430_4, this:r2430_2 +# 2430| m2430_6(unknown) = ^CallSideEffect : ~m2425_13 +# 2430| m2430_7(unknown) = Chi : total:m2425_13, partial:m2430_6 +# 2430| m2430_8(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_2 +# 2430| m2430_9(ClassWithDestructor) = Chi : total:m2430_3, partial:m2430_8 +# 2430| r2430_10(glval) = FunctionAddress[get_x] : +# 2430| r2430_11(char) = Call[get_x] : func:r2430_10, this:r2430_2 +# 2430| m2430_12(unknown) = ^CallSideEffect : ~m2430_7 +# 2430| m2430_13(unknown) = Chi : total:m2430_7, partial:m2430_12 +# 2430| v2430_14(void) = ^IndirectReadSideEffect[-1] : &:r2430_2, m2430_9 +# 2430| m2430_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_2 +# 2430| m2430_16(ClassWithDestructor) = Chi : total:m2430_9, partial:m2430_15 +# 2430| m2430_17(char) = Store[x] : &:r2430_1, r2430_11 +# 2430| r2430_18(glval &&>) = VariableAddress[(__range)] : +# 2430| r2430_19(glval>) = VariableAddress[#temp2430:58] : +# 2430| m2430_20(vector) = Uninitialized[#temp2430:58] : &:r2430_19 +# 2430| r2430_21(glval) = FunctionAddress[vector] : +# 2430| r2430_22(glval) = VariableAddress[x] : +# 2430| r2430_23(char) = Load[x] : &:r2430_22, m2430_17 +# 2430| v2430_24(void) = Call[vector] : func:r2430_21, this:r2430_19, 0:r2430_23 +# 2430| m2430_25(unknown) = ^CallSideEffect : ~m2430_13 +# 2430| m2430_26(unknown) = Chi : total:m2430_13, partial:m2430_25 +# 2430| m2430_27(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2430_19 +# 2430| m2430_28(vector) = Chi : total:m2430_20, partial:m2430_27 +# 2430| r2430_29(vector &) = CopyValue : r2430_19 +# 2430| m2430_30(vector &&) = Store[(__range)] : &:r2430_18, r2430_29 +# 2430| r2430_31(glval>) = VariableAddress[(__begin)] : +# 2430| r2430_32(glval &&>) = VariableAddress[(__range)] : +# 2430| r2430_33(vector &&) = Load[(__range)] : &:r2430_32, m2430_30 +#-----| r0_1(glval>) = CopyValue : r2430_33 #-----| r0_2(glval>) = Convert : r0_1 -# 2416| r2416_34(glval) = FunctionAddress[begin] : -# 2416| r2416_35(iterator) = Call[begin] : func:r2416_34, this:r0_2 -#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2416_28 -# 2416| m2416_36(iterator) = Store[(__begin)] : &:r2416_31, r2416_35 -# 2416| r2416_37(glval>) = VariableAddress[(__end)] : -# 2416| r2416_38(glval &&>) = VariableAddress[(__range)] : -# 2416| r2416_39(vector &&) = Load[(__range)] : &:r2416_38, m2416_30 -#-----| r0_4(glval>) = CopyValue : r2416_39 +# 2430| r2430_34(glval) = FunctionAddress[begin] : +# 2430| r2430_35(iterator) = Call[begin] : func:r2430_34, this:r0_2 +#-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, m2430_28 +# 2430| m2430_36(iterator) = Store[(__begin)] : &:r2430_31, r2430_35 +# 2430| r2430_37(glval>) = VariableAddress[(__end)] : +# 2430| r2430_38(glval &&>) = VariableAddress[(__range)] : +# 2430| r2430_39(vector &&) = Load[(__range)] : &:r2430_38, m2430_30 +#-----| r0_4(glval>) = CopyValue : r2430_39 #-----| r0_5(glval>) = Convert : r0_4 -# 2416| r2416_40(glval) = FunctionAddress[end] : -# 2416| r2416_41(iterator) = Call[end] : func:r2416_40, this:r0_5 -#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2416_28 -# 2416| m2416_42(iterator) = Store[(__end)] : &:r2416_37, r2416_41 +# 2430| r2430_40(glval) = FunctionAddress[end] : +# 2430| r2430_41(iterator) = Call[end] : func:r2430_40, this:r0_5 +#-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, m2430_28 +# 2430| m2430_42(iterator) = Store[(__end)] : &:r2430_37, r2430_41 #-----| Goto -> Block 10 -# 2416| Block 10 -# 2416| m2416_43(iterator) = Phi : from 9:m2416_36, from 11:m2416_73 -# 2416| m2416_44(unknown) = Phi : from 9:~m2416_26, from 11:~m2416_70 -# 2416| r2416_45(glval>) = VariableAddress[(__begin)] : -#-----| r0_7(glval>) = Convert : r2416_45 -# 2416| r2416_46(glval) = FunctionAddress[operator!=] : +# 2430| Block 10 +# 2430| m2430_43(iterator) = Phi : from 9:m2430_36, from 11:m2430_73 +# 2430| m2430_44(unknown) = Phi : from 9:~m2430_26, from 11:~m2430_70 +# 2430| r2430_45(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2430_45 +# 2430| r2430_46(glval) = FunctionAddress[operator!=] : #-----| r0_8(glval>) = VariableAddress[#temp0:0] : #-----| m0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 -# 2416| r2416_47(glval) = FunctionAddress[iterator] : -# 2416| r2416_48(glval>) = VariableAddress[(__end)] : -#-----| r0_10(glval>) = Convert : r2416_48 +# 2430| r2430_47(glval) = FunctionAddress[iterator] : +# 2430| r2430_48(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2430_48 #-----| r0_11(iterator &) = CopyValue : r0_10 -# 2416| v2416_49(void) = Call[iterator] : func:r2416_47, this:r0_8, 0:r0_11 -# 2416| m2416_50(unknown) = ^CallSideEffect : ~m2416_44 -# 2416| m2416_51(unknown) = Chi : total:m2416_44, partial:m2416_50 -#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2416_42 -# 2416| m2416_52(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 -# 2416| m2416_53(iterator) = Chi : total:m0_9, partial:m2416_52 -#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2416_53 -# 2416| r2416_54(bool) = Call[operator!=] : func:r2416_46, this:r0_7, 0:r0_13 -# 2416| m2416_55(unknown) = ^CallSideEffect : ~m2416_51 -# 2416| m2416_56(unknown) = Chi : total:m2416_51, partial:m2416_55 -#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2416_43 -# 2416| v2416_57(void) = ConditionalBranch : r2416_54 +# 2430| v2430_49(void) = Call[iterator] : func:r2430_47, this:r0_8, 0:r0_11 +# 2430| m2430_50(unknown) = ^CallSideEffect : ~m2430_44 +# 2430| m2430_51(unknown) = Chi : total:m2430_44, partial:m2430_50 +#-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m2430_42 +# 2430| m2430_52(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2430| m2430_53(iterator) = Chi : total:m0_9, partial:m2430_52 +#-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, m2430_53 +# 2430| r2430_54(bool) = Call[operator!=] : func:r2430_46, this:r0_7, 0:r0_13 +# 2430| m2430_55(unknown) = ^CallSideEffect : ~m2430_51 +# 2430| m2430_56(unknown) = Chi : total:m2430_51, partial:m2430_55 +#-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, m2430_43 +# 2430| v2430_57(void) = ConditionalBranch : r2430_54 #-----| False -> Block 12 #-----| True -> Block 11 -# 2416| Block 11 -# 2416| r2416_58(glval) = VariableAddress[y] : -# 2416| r2416_59(glval>) = VariableAddress[(__begin)] : -#-----| r0_15(glval>) = Convert : r2416_59 -# 2416| r2416_60(glval) = FunctionAddress[operator*] : -# 2416| r2416_61(char &) = Call[operator*] : func:r2416_60, this:r0_15 -# 2416| m2416_62(unknown) = ^CallSideEffect : ~m2416_56 -# 2416| m2416_63(unknown) = Chi : total:m2416_56, partial:m2416_62 -#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2416_43 -# 2416| r2416_64(char) = Load[?] : &:r2416_61, ~m2416_63 -# 2416| m2416_65(char) = Store[y] : &:r2416_58, r2416_64 -# 2417| r2417_1(glval) = VariableAddress[x] : -# 2417| r2417_2(char) = Load[x] : &:r2417_1, m2416_17 -# 2417| r2417_3(int) = Convert : r2417_2 -# 2417| r2417_4(glval) = VariableAddress[y] : -# 2417| r2417_5(char) = Load[y] : &:r2417_4, m2416_65 -# 2417| r2417_6(int) = Convert : r2417_5 -# 2417| r2417_7(int) = Add : r2417_6, r2417_3 -# 2417| r2417_8(char) = Convert : r2417_7 -# 2417| m2417_9(char) = Store[y] : &:r2417_4, r2417_8 -# 2416| r2416_66(glval>) = VariableAddress[(__begin)] : -# 2416| r2416_67(glval) = FunctionAddress[operator++] : -# 2416| r2416_68(iterator &) = Call[operator++] : func:r2416_67, this:r2416_66 -# 2416| m2416_69(unknown) = ^CallSideEffect : ~m2416_63 -# 2416| m2416_70(unknown) = Chi : total:m2416_63, partial:m2416_69 -# 2416| v2416_71(void) = ^IndirectReadSideEffect[-1] : &:r2416_66, m2416_43 -# 2416| m2416_72(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2416_66 -# 2416| m2416_73(iterator) = Chi : total:m2416_43, partial:m2416_72 -# 2416| r2416_74(glval>) = CopyValue : r2416_68 +# 2430| Block 11 +# 2430| r2430_58(glval) = VariableAddress[y] : +# 2430| r2430_59(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2430_59 +# 2430| r2430_60(glval) = FunctionAddress[operator*] : +# 2430| r2430_61(char &) = Call[operator*] : func:r2430_60, this:r0_15 +# 2430| m2430_62(unknown) = ^CallSideEffect : ~m2430_56 +# 2430| m2430_63(unknown) = Chi : total:m2430_56, partial:m2430_62 +#-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, m2430_43 +# 2430| r2430_64(char) = Load[?] : &:r2430_61, ~m2430_63 +# 2430| m2430_65(char) = Store[y] : &:r2430_58, r2430_64 +# 2431| r2431_1(glval) = VariableAddress[x] : +# 2431| r2431_2(char) = Load[x] : &:r2431_1, m2430_17 +# 2431| r2431_3(int) = Convert : r2431_2 +# 2431| r2431_4(glval) = VariableAddress[y] : +# 2431| r2431_5(char) = Load[y] : &:r2431_4, m2430_65 +# 2431| r2431_6(int) = Convert : r2431_5 +# 2431| r2431_7(int) = Add : r2431_6, r2431_3 +# 2431| r2431_8(char) = Convert : r2431_7 +# 2431| m2431_9(char) = Store[y] : &:r2431_4, r2431_8 +# 2430| r2430_66(glval>) = VariableAddress[(__begin)] : +# 2430| r2430_67(glval) = FunctionAddress[operator++] : +# 2430| r2430_68(iterator &) = Call[operator++] : func:r2430_67, this:r2430_66 +# 2430| m2430_69(unknown) = ^CallSideEffect : ~m2430_63 +# 2430| m2430_70(unknown) = Chi : total:m2430_63, partial:m2430_69 +# 2430| v2430_71(void) = ^IndirectReadSideEffect[-1] : &:r2430_66, m2430_43 +# 2430| m2430_72(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2430_66 +# 2430| m2430_73(iterator) = Chi : total:m2430_43, partial:m2430_72 +# 2430| r2430_74(glval>) = CopyValue : r2430_68 #-----| Goto (back edge) -> Block 10 -# 2418| Block 12 -# 2418| v2418_1(void) = NoOp : -# 2396| v2396_5(void) = ReturnVoid : -# 2396| v2396_6(void) = AliasedUse : ~m2416_56 -# 2396| v2396_7(void) = ExitFunction : +# 2432| Block 12 +# 2432| v2432_1(void) = NoOp : +# 2410| v2410_5(void) = ReturnVoid : +# 2410| v2410_6(void) = AliasedUse : ~m2430_56 +# 2410| v2410_7(void) = ExitFunction : -# 2396| Block 13 -# 2396| v2396_8(void) = Unreached : +# 2410| Block 13 +# 2410| v2410_8(void) = Unreached : perf-regression.cpp: # 6| void Big::Big() diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index 67327ddc846d..2d476b11fd4e 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -1933,6 +1933,20 @@ namespace missing_declaration_entries { Bar2 b; b.two_missing_variable_declaration_entries(); } + + template struct Bar3 { + + int two_more_missing_variable_declaration_entries() { + extern int g; + int z(float); + return g; + } + }; + + void test3() { + Bar3 b; + b.two_more_missing_variable_declaration_entries(); + } } template T global_template = 42; 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 80ec181a2194..a112a7698764 100644 --- a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected +++ b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected @@ -1346,9 +1346,9 @@ | file://:0:0:0:0 | ChiTotal | total:m1765_19 | | file://:0:0:0:0 | ChiTotal | total:m1883_8 | | file://:0:0:0:0 | ChiTotal | total:m1888_8 | -| file://:0:0:0:0 | ChiTotal | total:m2222_6 | -| file://:0:0:0:0 | ChiTotal | total:m2226_4 | -| file://:0:0:0:0 | ChiTotal | total:m2233_6 | +| file://:0:0:0:0 | ChiTotal | total:m2236_6 | +| file://:0:0:0:0 | ChiTotal | total:m2240_4 | +| file://:0:0:0:0 | ChiTotal | total:m2247_6 | | file://:0:0:0:0 | Left | r0_2 | | file://:0:0:0:0 | Left | r0_4 | | file://:0:0:0:0 | Left | r0_7 | @@ -1389,13 +1389,13 @@ | file://:0:0:0:0 | Load | m1883_6 | | file://:0:0:0:0 | Load | m1883_6 | | file://:0:0:0:0 | Load | m1888_6 | -| file://:0:0:0:0 | Load | m2062_6 | -| file://:0:0:0:0 | Load | m2201_40 | -| file://:0:0:0:0 | Load | m2204_40 | -| file://:0:0:0:0 | Load | m2210_36 | +| file://:0:0:0:0 | Load | m2076_6 | | file://:0:0:0:0 | Load | m2215_40 | -| file://:0:0:0:0 | Load | m2293_46 | -| file://:0:0:0:0 | Load | m2416_53 | +| file://:0:0:0:0 | Load | m2218_40 | +| file://:0:0:0:0 | Load | m2224_36 | +| file://:0:0:0:0 | Load | m2229_40 | +| file://:0:0:0:0 | Load | m2307_46 | +| file://:0:0:0:0 | Load | m2430_53 | | file://:0:0:0:0 | Load | ~m0_4 | | file://:0:0:0:0 | Load | ~m1493_6 | | file://:0:0:0:0 | Load | ~m1761_10 | @@ -1425,30 +1425,30 @@ | file://:0:0:0:0 | SideEffect | m1127_19 | | file://:0:0:0:0 | SideEffect | m1133_19 | | file://:0:0:0:0 | SideEffect | m1133_19 | -| file://:0:0:0:0 | SideEffect | m2201_13 | -| file://:0:0:0:0 | SideEffect | m2201_13 | -| file://:0:0:0:0 | SideEffect | m2201_30 | -| file://:0:0:0:0 | SideEffect | m2201_30 | -| file://:0:0:0:0 | SideEffect | m2204_13 | -| file://:0:0:0:0 | SideEffect | m2204_13 | -| file://:0:0:0:0 | SideEffect | m2204_30 | -| file://:0:0:0:0 | SideEffect | m2204_30 | -| file://:0:0:0:0 | SideEffect | m2210_9 | -| file://:0:0:0:0 | SideEffect | m2210_9 | -| file://:0:0:0:0 | SideEffect | m2210_26 | -| file://:0:0:0:0 | SideEffect | m2210_26 | | file://:0:0:0:0 | SideEffect | m2215_13 | | file://:0:0:0:0 | SideEffect | m2215_13 | | file://:0:0:0:0 | SideEffect | m2215_30 | | file://:0:0:0:0 | SideEffect | m2215_30 | -| file://:0:0:0:0 | SideEffect | m2293_21 | -| file://:0:0:0:0 | SideEffect | m2293_21 | -| file://:0:0:0:0 | SideEffect | m2293_36 | -| file://:0:0:0:0 | SideEffect | m2293_36 | -| file://:0:0:0:0 | SideEffect | m2416_28 | -| file://:0:0:0:0 | SideEffect | m2416_28 | -| file://:0:0:0:0 | SideEffect | m2416_43 | -| file://:0:0:0:0 | SideEffect | m2416_43 | +| file://:0:0:0:0 | SideEffect | m2218_13 | +| file://:0:0:0:0 | SideEffect | m2218_13 | +| file://:0:0:0:0 | SideEffect | m2218_30 | +| file://:0:0:0:0 | SideEffect | m2218_30 | +| file://:0:0:0:0 | SideEffect | m2224_9 | +| file://:0:0:0:0 | SideEffect | m2224_9 | +| file://:0:0:0:0 | SideEffect | m2224_26 | +| file://:0:0:0:0 | SideEffect | m2224_26 | +| file://:0:0:0:0 | SideEffect | m2229_13 | +| file://:0:0:0:0 | SideEffect | m2229_13 | +| file://:0:0:0:0 | SideEffect | m2229_30 | +| file://:0:0:0:0 | SideEffect | m2229_30 | +| file://:0:0:0:0 | SideEffect | m2307_21 | +| file://:0:0:0:0 | SideEffect | m2307_21 | +| file://:0:0:0:0 | SideEffect | m2307_36 | +| file://:0:0:0:0 | SideEffect | m2307_36 | +| file://:0:0:0:0 | SideEffect | m2430_28 | +| file://:0:0:0:0 | SideEffect | m2430_28 | +| file://:0:0:0:0 | SideEffect | m2430_43 | +| file://:0:0:0:0 | SideEffect | m2430_43 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | | file://:0:0:0:0 | SideEffect | ~m0_4 | @@ -1467,15 +1467,15 @@ | file://:0:0:0:0 | SideEffect | ~m1289_4 | | file://:0:0:0:0 | SideEffect | ~m1496_6 | | file://:0:0:0:0 | SideEffect | ~m1888_8 | -| file://:0:0:0:0 | SideEffect | ~m2201_29 | -| file://:0:0:0:0 | SideEffect | ~m2204_29 | -| file://:0:0:0:0 | SideEffect | ~m2210_25 | | file://:0:0:0:0 | SideEffect | ~m2215_29 | -| file://:0:0:0:0 | SideEffect | ~m2222_6 | -| file://:0:0:0:0 | SideEffect | ~m2226_4 | -| file://:0:0:0:0 | SideEffect | ~m2233_6 | -| file://:0:0:0:0 | SideEffect | ~m2293_35 | -| file://:0:0:0:0 | SideEffect | ~m2416_42 | +| file://:0:0:0:0 | SideEffect | ~m2218_29 | +| file://:0:0:0:0 | SideEffect | ~m2224_25 | +| file://:0:0:0:0 | SideEffect | ~m2229_29 | +| file://:0:0:0:0 | SideEffect | ~m2236_6 | +| file://:0:0:0:0 | SideEffect | ~m2240_4 | +| file://:0:0:0:0 | SideEffect | ~m2247_6 | +| file://:0:0:0:0 | SideEffect | ~m2307_35 | +| file://:0:0:0:0 | SideEffect | ~m2430_42 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | | file://:0:0:0:0 | StoreValue | r0_1 | @@ -9809,1683 +9809,1408 @@ | ir.cpp:1934:11:1934:50 | ChiPartial | partial:m1934_4 | | ir.cpp:1934:11:1934:50 | ChiTotal | total:m1932_4 | | ir.cpp:1934:11:1934:50 | SideEffect | ~m1932_4 | -| ir.cpp:1938:24:1938:24 | Address | &:r1938_3 | -| ir.cpp:1938:24:1938:24 | Address | &:r1938_3 | -| ir.cpp:1938:24:1938:24 | SideEffect | ~m1938_6 | -| ir.cpp:1938:24:1938:24 | SideEffect | ~m1938_6 | -| ir.cpp:1938:42:1938:43 | ChiPartial | partial:m1938_5 | -| ir.cpp:1938:42:1938:43 | ChiPartial | partial:m1938_5 | -| ir.cpp:1938:42:1938:43 | ChiTotal | total:m1938_2 | -| ir.cpp:1938:42:1938:43 | ChiTotal | total:m1938_2 | -| ir.cpp:1938:42:1938:43 | StoreValue | r1938_4 | -| ir.cpp:1938:42:1938:43 | StoreValue | r1938_4 | -| ir.cpp:1940:5:1940:28 | Address | &:r1940_5 | -| ir.cpp:1940:5:1940:28 | ChiPartial | partial:m1940_3 | -| ir.cpp:1940:5:1940:28 | ChiTotal | total:m1940_2 | -| ir.cpp:1940:5:1940:28 | Load | m1943_8 | -| ir.cpp:1940:5:1940:28 | SideEffect | m1940_3 | -| ir.cpp:1941:9:1941:17 | Address | &:r1941_1 | -| ir.cpp:1941:21:1941:40 | Address | &:r1941_2 | -| ir.cpp:1941:21:1941:40 | Load | ~m1940_3 | -| ir.cpp:1941:21:1941:40 | StoreValue | r1941_3 | -| ir.cpp:1942:10:1942:19 | Address | &:r1942_1 | -| ir.cpp:1942:23:1942:43 | Address | &:r1942_2 | -| ir.cpp:1942:23:1942:43 | Load | ~m1940_3 | -| ir.cpp:1942:23:1942:43 | StoreValue | r1942_3 | -| ir.cpp:1943:5:1943:39 | Address | &:r1943_1 | -| ir.cpp:1943:12:1943:20 | Address | &:r1943_2 | -| ir.cpp:1943:12:1943:20 | Left | r1943_3 | -| ir.cpp:1943:12:1943:20 | Load | m1941_4 | -| ir.cpp:1943:12:1943:38 | StoreValue | r1943_7 | -| ir.cpp:1943:24:1943:38 | Right | r1943_6 | -| ir.cpp:1943:29:1943:38 | Address | &:r1943_4 | -| ir.cpp:1943:29:1943:38 | Load | m1942_4 | -| ir.cpp:1943:29:1943:38 | Unary | r1943_5 | -| ir.cpp:1948:5:1948:16 | Address | &:r1948_7 | -| ir.cpp:1948:5:1948:16 | ChiPartial | partial:m1948_3 | -| ir.cpp:1948:5:1948:16 | ChiTotal | total:m1948_2 | -| ir.cpp:1948:5:1948:16 | Load | m1950_4 | -| ir.cpp:1948:5:1948:16 | SideEffect | m1948_3 | -| ir.cpp:1948:22:1948:22 | Address | &:r1948_5 | -| ir.cpp:1949:9:1949:9 | Address | &:r1949_1 | -| ir.cpp:1949:9:1949:9 | Left | r1949_2 | -| ir.cpp:1949:9:1949:9 | Load | m1948_6 | -| ir.cpp:1949:9:1949:14 | Condition | r1949_4 | -| ir.cpp:1949:13:1949:14 | Right | r1949_3 | -| ir.cpp:1950:9:1950:17 | Address | &:r1950_1 | -| ir.cpp:1950:16:1950:16 | Address | &:r1950_2 | -| ir.cpp:1950:16:1950:16 | Load | m1948_6 | -| ir.cpp:1950:16:1950:16 | StoreValue | r1950_3 | -| ir.cpp:1952:9:1952:20 | CallTarget | func:r1952_1 | -| ir.cpp:1952:9:1952:20 | ChiPartial | partial:m1952_3 | -| ir.cpp:1952:9:1952:20 | ChiTotal | total:m1948_4 | -| ir.cpp:1952:9:1952:20 | SideEffect | ~m1948_4 | -| ir.cpp:1956:5:1956:17 | Address | &:r1956_8 | -| ir.cpp:1956:5:1956:17 | ChiPartial | partial:m1956_3 | -| ir.cpp:1956:5:1956:17 | ChiTotal | total:m1956_2 | -| ir.cpp:1956:5:1956:17 | Load | m1960_4 | -| ir.cpp:1956:5:1956:17 | SideEffect | m1956_3 | -| ir.cpp:1956:23:1956:23 | Address | &:r1956_5 | -| ir.cpp:1957:9:1957:9 | Address | &:r1957_1 | -| ir.cpp:1957:9:1957:9 | Left | r1957_2 | -| ir.cpp:1957:9:1957:9 | Load | m1956_6 | -| ir.cpp:1957:9:1957:14 | Condition | r1957_4 | -| ir.cpp:1957:13:1957:14 | Right | r1957_3 | -| ir.cpp:1958:9:1958:20 | CallTarget | func:r1958_1 | -| ir.cpp:1958:9:1958:20 | ChiPartial | partial:m1958_3 | -| ir.cpp:1958:9:1958:20 | ChiTotal | total:m1956_4 | -| ir.cpp:1958:9:1958:20 | SideEffect | ~m1956_4 | -| ir.cpp:1960:5:1960:13 | Address | &:r1960_1 | -| ir.cpp:1960:12:1960:12 | Address | &:r1960_2 | -| ir.cpp:1960:12:1960:12 | Load | m1956_6 | -| ir.cpp:1960:12:1960:12 | StoreValue | r1960_3 | -| ir.cpp:1963:5:1963:19 | Address | &:r1963_7 | -| ir.cpp:1963:5:1963:19 | ChiPartial | partial:m1963_3 | -| ir.cpp:1963:5:1963:19 | ChiTotal | total:m1963_2 | -| ir.cpp:1963:5:1963:19 | Load | m1964_4 | -| ir.cpp:1963:5:1963:19 | SideEffect | m1963_3 | -| ir.cpp:1963:25:1963:25 | Address | &:r1963_5 | -| ir.cpp:1964:5:1964:13 | Address | &:r1964_1 | -| ir.cpp:1964:12:1964:12 | Address | &:r1964_2 | -| ir.cpp:1964:12:1964:12 | Load | m1963_6 | -| ir.cpp:1964:12:1964:12 | StoreValue | r1964_3 | -| ir.cpp:1967:6:1967:43 | ChiPartial | partial:m1967_3 | -| ir.cpp:1967:6:1967:43 | ChiTotal | total:m1967_2 | -| ir.cpp:1967:6:1967:43 | SideEffect | ~m1975_6 | -| ir.cpp:1968:7:1968:7 | Address | &:r1968_1 | -| ir.cpp:1968:7:1968:7 | Address | &:r1968_1 | -| ir.cpp:1968:7:1968:7 | Arg(this) | this:r1968_1 | -| ir.cpp:1968:7:1968:7 | CallTarget | func:r1968_3 | -| ir.cpp:1968:7:1968:7 | ChiPartial | partial:m1968_5 | -| ir.cpp:1968:7:1968:7 | ChiPartial | partial:m1968_7 | -| ir.cpp:1968:7:1968:7 | ChiTotal | total:m1967_4 | -| ir.cpp:1968:7:1968:7 | ChiTotal | total:m1968_2 | -| ir.cpp:1968:7:1968:7 | SideEffect | ~m1967_4 | -| ir.cpp:1969:9:1969:9 | Address | &:r1969_1 | -| ir.cpp:1970:5:1970:5 | Address | &:r1970_7 | -| ir.cpp:1970:11:1970:30 | CallTarget | func:r1970_2 | -| ir.cpp:1970:11:1970:30 | ChiPartial | partial:m1970_5 | -| ir.cpp:1970:11:1970:30 | ChiTotal | total:m1968_6 | -| ir.cpp:1970:11:1970:30 | SideEffect | ~m1968_6 | -| ir.cpp:1970:11:1970:30 | StoreValue | r1970_4 | -| ir.cpp:1970:32:1970:33 | Arg(0) | 0:r1970_3 | +| ir.cpp:1939:13:1939:13 | Address | &:r1939_5 | +| ir.cpp:1939:13:1939:13 | Address | &:r1939_5 | +| ir.cpp:1939:13:1939:13 | Address | &:r1939_7 | +| ir.cpp:1939:13:1939:13 | Address | &:r1939_7 | +| ir.cpp:1939:13:1939:13 | Address | &:r1939_10 | +| ir.cpp:1939:13:1939:13 | ChiPartial | partial:m1939_3 | +| ir.cpp:1939:13:1939:13 | ChiTotal | total:m1939_2 | +| ir.cpp:1939:13:1939:13 | Load | m1939_6 | +| ir.cpp:1939:13:1939:13 | Load | m1942_4 | +| ir.cpp:1939:13:1939:13 | SideEffect | m1939_3 | +| ir.cpp:1939:13:1939:13 | SideEffect | m1939_8 | +| ir.cpp:1942:13:1942:21 | Address | &:r1942_1 | +| ir.cpp:1942:20:1942:20 | Address | &:r1942_2 | +| ir.cpp:1942:20:1942:20 | Load | ~m1939_3 | +| ir.cpp:1942:20:1942:20 | StoreValue | r1942_3 | +| ir.cpp:1946:10:1946:14 | ChiPartial | partial:m1946_3 | +| ir.cpp:1946:10:1946:14 | ChiTotal | total:m1946_2 | +| ir.cpp:1946:10:1946:14 | SideEffect | ~m1948_5 | +| ir.cpp:1947:19:1947:19 | Address | &:r1947_1 | +| ir.cpp:1948:9:1948:9 | Address | &:r1948_1 | +| ir.cpp:1948:9:1948:9 | Address | &:r1948_1 | +| ir.cpp:1948:9:1948:9 | Arg(this) | this:r1948_1 | +| ir.cpp:1948:9:1948:9 | ChiPartial | partial:m1948_7 | +| ir.cpp:1948:9:1948:9 | ChiTotal | total:m1947_2 | +| ir.cpp:1948:9:1948:9 | SideEffect | m1947_2 | +| ir.cpp:1948:11:1948:55 | CallTarget | func:r1948_2 | +| ir.cpp:1948:11:1948:55 | ChiPartial | partial:m1948_4 | +| ir.cpp:1948:11:1948:55 | ChiTotal | total:m1946_4 | +| ir.cpp:1948:11:1948:55 | SideEffect | ~m1946_4 | +| ir.cpp:1952:24:1952:24 | Address | &:r1952_3 | +| ir.cpp:1952:24:1952:24 | Address | &:r1952_3 | +| ir.cpp:1952:24:1952:24 | SideEffect | ~m1952_6 | +| ir.cpp:1952:24:1952:24 | SideEffect | ~m1952_6 | +| ir.cpp:1952:42:1952:43 | ChiPartial | partial:m1952_5 | +| ir.cpp:1952:42:1952:43 | ChiPartial | partial:m1952_5 | +| ir.cpp:1952:42:1952:43 | ChiTotal | total:m1952_2 | +| ir.cpp:1952:42:1952:43 | ChiTotal | total:m1952_2 | +| ir.cpp:1952:42:1952:43 | StoreValue | r1952_4 | +| ir.cpp:1952:42:1952:43 | StoreValue | r1952_4 | +| ir.cpp:1954:5:1954:28 | Address | &:r1954_5 | +| ir.cpp:1954:5:1954:28 | ChiPartial | partial:m1954_3 | +| ir.cpp:1954:5:1954:28 | ChiTotal | total:m1954_2 | +| ir.cpp:1954:5:1954:28 | Load | m1957_8 | +| ir.cpp:1954:5:1954:28 | SideEffect | m1954_3 | +| ir.cpp:1955:9:1955:17 | Address | &:r1955_1 | +| ir.cpp:1955:21:1955:40 | Address | &:r1955_2 | +| ir.cpp:1955:21:1955:40 | Load | ~m1954_3 | +| ir.cpp:1955:21:1955:40 | StoreValue | r1955_3 | +| ir.cpp:1956:10:1956:19 | Address | &:r1956_1 | +| ir.cpp:1956:23:1956:43 | Address | &:r1956_2 | +| ir.cpp:1956:23:1956:43 | Load | ~m1954_3 | +| ir.cpp:1956:23:1956:43 | StoreValue | r1956_3 | +| ir.cpp:1957:5:1957:39 | Address | &:r1957_1 | +| ir.cpp:1957:12:1957:20 | Address | &:r1957_2 | +| ir.cpp:1957:12:1957:20 | Left | r1957_3 | +| ir.cpp:1957:12:1957:20 | Load | m1955_4 | +| ir.cpp:1957:12:1957:38 | StoreValue | r1957_7 | +| ir.cpp:1957:24:1957:38 | Right | r1957_6 | +| ir.cpp:1957:29:1957:38 | Address | &:r1957_4 | +| ir.cpp:1957:29:1957:38 | Load | m1956_4 | +| ir.cpp:1957:29:1957:38 | Unary | r1957_5 | +| ir.cpp:1962:5:1962:16 | Address | &:r1962_7 | +| ir.cpp:1962:5:1962:16 | ChiPartial | partial:m1962_3 | +| ir.cpp:1962:5:1962:16 | ChiTotal | total:m1962_2 | +| ir.cpp:1962:5:1962:16 | Load | m1964_4 | +| ir.cpp:1962:5:1962:16 | SideEffect | m1962_3 | +| ir.cpp:1962:22:1962:22 | Address | &:r1962_5 | +| ir.cpp:1963:9:1963:9 | Address | &:r1963_1 | +| ir.cpp:1963:9:1963:9 | Left | r1963_2 | +| ir.cpp:1963:9:1963:9 | Load | m1962_6 | +| ir.cpp:1963:9:1963:14 | Condition | r1963_4 | +| ir.cpp:1963:13:1963:14 | Right | r1963_3 | +| ir.cpp:1964:9:1964:17 | Address | &:r1964_1 | +| ir.cpp:1964:16:1964:16 | Address | &:r1964_2 | +| ir.cpp:1964:16:1964:16 | Load | m1962_6 | +| ir.cpp:1964:16:1964:16 | StoreValue | r1964_3 | +| ir.cpp:1966:9:1966:20 | CallTarget | func:r1966_1 | +| ir.cpp:1966:9:1966:20 | ChiPartial | partial:m1966_3 | +| ir.cpp:1966:9:1966:20 | ChiTotal | total:m1962_4 | +| ir.cpp:1966:9:1966:20 | SideEffect | ~m1962_4 | +| ir.cpp:1970:5:1970:17 | Address | &:r1970_8 | +| ir.cpp:1970:5:1970:17 | ChiPartial | partial:m1970_3 | +| ir.cpp:1970:5:1970:17 | ChiTotal | total:m1970_2 | +| ir.cpp:1970:5:1970:17 | Load | m1974_4 | +| ir.cpp:1970:5:1970:17 | SideEffect | m1970_3 | +| ir.cpp:1970:23:1970:23 | Address | &:r1970_5 | | ir.cpp:1971:9:1971:9 | Address | &:r1971_1 | -| ir.cpp:1972:5:1972:5 | Address | &:r1972_6 | -| ir.cpp:1972:9:1972:31 | CallTarget | func:r1972_1 | -| ir.cpp:1972:9:1972:31 | ChiPartial | partial:m1972_4 | -| ir.cpp:1972:9:1972:31 | ChiTotal | total:m1970_6 | -| ir.cpp:1972:9:1972:31 | SideEffect | ~m1970_6 | -| ir.cpp:1972:9:1972:31 | StoreValue | r1972_3 | -| ir.cpp:1972:33:1972:34 | Arg(0) | 0:r1972_2 | -| ir.cpp:1973:9:1973:9 | Address | &:r1973_1 | -| ir.cpp:1974:5:1974:5 | Address | &:r1974_6 | -| ir.cpp:1974:9:1974:23 | CallTarget | func:r1974_1 | -| ir.cpp:1974:9:1974:23 | ChiPartial | partial:m1974_4 | -| ir.cpp:1974:9:1974:23 | ChiTotal | total:m1972_5 | -| ir.cpp:1974:9:1974:23 | SideEffect | ~m1972_5 | -| ir.cpp:1974:9:1974:23 | StoreValue | r1974_3 | -| ir.cpp:1974:25:1974:26 | Arg(0) | 0:r1974_2 | -| ir.cpp:1975:1:1975:1 | Address | &:r1975_2 | -| ir.cpp:1975:1:1975:1 | Address | &:r1975_2 | -| ir.cpp:1975:1:1975:1 | Arg(this) | this:r1975_2 | -| ir.cpp:1975:1:1975:1 | CallTarget | func:r1975_3 | -| ir.cpp:1975:1:1975:1 | ChiPartial | partial:m1975_5 | -| ir.cpp:1975:1:1975:1 | ChiPartial | partial:m1975_8 | -| ir.cpp:1975:1:1975:1 | ChiTotal | total:m1968_8 | -| ir.cpp:1975:1:1975:1 | ChiTotal | total:m1974_5 | -| ir.cpp:1975:1:1975:1 | SideEffect | m1968_8 | -| ir.cpp:1975:1:1975:1 | SideEffect | ~m1974_5 | -| ir.cpp:1977:6:1977:23 | ChiPartial | partial:m1977_3 | -| ir.cpp:1977:6:1977:23 | ChiTotal | total:m1977_2 | -| ir.cpp:1977:6:1977:23 | SideEffect | m1977_3 | -| ir.cpp:1978:7:1978:7 | Address | &:r1978_1 | -| ir.cpp:1978:10:1978:10 | Address | &:r1978_3 | -| ir.cpp:1979:3:1979:3 | Address | &:r1979_5 | -| ir.cpp:1979:7:1979:7 | Address | &:r1979_2 | -| ir.cpp:1979:7:1979:7 | Address | &:r1979_2 | -| ir.cpp:1979:7:1979:12 | Load | m1979_3 | -| ir.cpp:1979:7:1979:12 | StoreValue | r1979_4 | -| ir.cpp:1979:11:1979:12 | StoreValue | r1979_1 | -| ir.cpp:1982:6:1982:38 | ChiPartial | partial:m1982_3 | -| ir.cpp:1982:6:1982:38 | ChiTotal | total:m1982_2 | -| ir.cpp:1982:6:1982:38 | SideEffect | m1982_3 | -| ir.cpp:1983:7:1983:7 | Address | &:r1983_1 | -| ir.cpp:1983:10:1983:10 | Address | &:r1983_3 | -| ir.cpp:1983:13:1983:14 | StoreValue | r1983_4 | -| ir.cpp:1984:3:1984:3 | Address | &:r1984_7 | -| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | -| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | -| ir.cpp:1984:8:1984:8 | Address | &:r1984_2 | -| ir.cpp:1984:8:1984:8 | Left | r1984_3 | -| ir.cpp:1984:8:1984:8 | Load | m1983_5 | -| ir.cpp:1984:8:1984:14 | Load | m1984_5 | -| ir.cpp:1984:8:1984:14 | StoreValue | r1984_4 | -| ir.cpp:1984:8:1984:14 | StoreValue | r1984_6 | -| ir.cpp:1984:13:1984:14 | Right | r1984_1 | -| ir.cpp:1991:15:1991:43 | Address | &:r1991_5 | -| ir.cpp:1991:15:1991:43 | ChiPartial | partial:m1991_3 | -| ir.cpp:1991:15:1991:43 | ChiTotal | total:m1991_2 | -| ir.cpp:1991:15:1991:43 | Load | m1992_4 | -| ir.cpp:1991:15:1991:43 | SideEffect | m1991_3 | -| ir.cpp:1992:9:1992:17 | Address | &:r1992_1 | -| ir.cpp:1992:16:1992:16 | StoreValue | r1992_3 | -| ir.cpp:1992:16:1992:16 | Unary | r1992_2 | -| ir.cpp:1994:14:1994:39 | Address | &:r1994_5 | -| ir.cpp:1994:14:1994:39 | ChiPartial | partial:m1994_3 | -| ir.cpp:1994:14:1994:39 | ChiTotal | total:m1994_2 | -| ir.cpp:1994:14:1994:39 | Load | m1995_4 | -| ir.cpp:1994:14:1994:39 | SideEffect | m1994_3 | -| ir.cpp:1995:9:1995:17 | Address | &:r1995_1 | -| ir.cpp:1995:16:1995:16 | Address | &:r1995_2 | -| ir.cpp:1995:16:1995:16 | Load | ~m1994_3 | -| ir.cpp:1995:16:1995:16 | StoreValue | r1995_3 | -| ir.cpp:1999:6:1999:55 | ChiPartial | partial:m1999_3 | -| ir.cpp:1999:6:1999:55 | ChiTotal | total:m1999_2 | -| ir.cpp:1999:6:1999:55 | SideEffect | ~m2014_4 | -| ir.cpp:2000:7:2000:7 | Address | &:r2000_1 | -| ir.cpp:2002:7:2002:35 | CallTarget | func:r2002_2 | -| ir.cpp:2002:7:2002:35 | ChiPartial | partial:m2002_4 | -| ir.cpp:2002:7:2002:35 | ChiTotal | total:m1999_4 | -| ir.cpp:2002:7:2002:35 | SideEffect | ~m1999_4 | -| ir.cpp:2002:7:2002:35 | Unary | r2002_3 | -| ir.cpp:2003:5:2003:36 | CallTarget | func:r2003_1 | -| ir.cpp:2003:5:2003:36 | ChiPartial | partial:m2003_3 | -| ir.cpp:2003:5:2003:36 | ChiTotal | total:m2002_5 | -| ir.cpp:2003:5:2003:36 | SideEffect | ~m2002_5 | -| ir.cpp:2003:5:2003:36 | Unary | r2003_2 | -| ir.cpp:2004:7:2004:32 | CallTarget | func:r2004_2 | -| ir.cpp:2004:7:2004:32 | ChiPartial | partial:m2004_4 | -| ir.cpp:2004:7:2004:32 | ChiTotal | total:m2003_4 | -| ir.cpp:2004:7:2004:32 | SideEffect | ~m2003_4 | -| ir.cpp:2005:5:2005:33 | CallTarget | func:r2005_1 | -| ir.cpp:2005:5:2005:33 | ChiPartial | partial:m2005_3 | -| ir.cpp:2005:5:2005:33 | ChiTotal | total:m2004_5 | -| ir.cpp:2005:5:2005:33 | SideEffect | ~m2004_5 | -| ir.cpp:2007:7:2007:7 | Address | &:r2007_1 | -| ir.cpp:2008:5:2008:5 | Address | &:r2008_7 | -| ir.cpp:2008:11:2008:39 | Address | &:r2008_3 | -| ir.cpp:2008:11:2008:39 | CallTarget | func:r2008_2 | -| ir.cpp:2008:11:2008:39 | ChiPartial | partial:m2008_4 | -| ir.cpp:2008:11:2008:39 | ChiTotal | total:m2005_4 | -| ir.cpp:2008:11:2008:39 | SideEffect | ~m2005_4 | -| ir.cpp:2008:40:2008:42 | Load | ~m2008_5 | -| ir.cpp:2008:40:2008:42 | StoreValue | r2008_6 | -| ir.cpp:2009:7:2009:7 | Address | &:r2009_1 | -| ir.cpp:2010:5:2010:5 | Address | &:r2010_6 | -| ir.cpp:2010:9:2010:40 | Address | &:r2010_2 | -| ir.cpp:2010:9:2010:40 | CallTarget | func:r2010_1 | -| ir.cpp:2010:9:2010:40 | ChiPartial | partial:m2010_3 | -| ir.cpp:2010:9:2010:40 | ChiTotal | total:m2008_5 | -| ir.cpp:2010:9:2010:40 | SideEffect | ~m2008_5 | -| ir.cpp:2010:41:2010:43 | Load | ~m2010_4 | -| ir.cpp:2010:41:2010:43 | StoreValue | r2010_5 | -| ir.cpp:2011:7:2011:7 | Address | &:r2011_1 | -| ir.cpp:2012:5:2012:5 | Address | &:r2012_6 | -| ir.cpp:2012:11:2012:36 | CallTarget | func:r2012_2 | -| ir.cpp:2012:11:2012:36 | ChiPartial | partial:m2012_4 | -| ir.cpp:2012:11:2012:36 | ChiTotal | total:m2010_4 | -| ir.cpp:2012:11:2012:36 | SideEffect | ~m2010_4 | -| ir.cpp:2012:11:2012:36 | StoreValue | r2012_3 | -| ir.cpp:2013:7:2013:7 | Address | &:r2013_1 | -| ir.cpp:2014:5:2014:5 | Address | &:r2014_5 | -| ir.cpp:2014:9:2014:37 | CallTarget | func:r2014_1 | -| ir.cpp:2014:9:2014:37 | ChiPartial | partial:m2014_3 | -| ir.cpp:2014:9:2014:37 | ChiTotal | total:m2012_5 | -| ir.cpp:2014:9:2014:37 | SideEffect | ~m2012_5 | -| ir.cpp:2014:9:2014:37 | StoreValue | r2014_2 | -| ir.cpp:2017:6:2017:18 | ChiPartial | partial:m2017_3 | -| ir.cpp:2017:6:2017:18 | ChiTotal | total:m2017_2 | -| ir.cpp:2017:6:2017:18 | SideEffect | m2017_3 | -| ir.cpp:2018:18:2018:18 | Address | &:r2018_1 | -| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 | -| ir.cpp:2019:5:2019:5 | Load | m2018_2 | -| ir.cpp:2028:6:2028:24 | ChiPartial | partial:m2028_3 | -| ir.cpp:2028:6:2028:24 | ChiTotal | total:m2028_2 | -| ir.cpp:2028:6:2028:24 | SideEffect | ~m2036_5 | -| ir.cpp:2029:12:2029:12 | Address | &:r2029_1 | -| ir.cpp:2031:5:2031:19 | ChiPartial | partial:m2031_7 | -| ir.cpp:2031:5:2031:19 | ChiTotal | total:m2031_5 | -| ir.cpp:2031:7:2031:12 | CallTarget | func:r2031_2 | -| ir.cpp:2031:7:2031:12 | ChiPartial | partial:m2031_4 | -| ir.cpp:2031:7:2031:12 | ChiTotal | total:m2028_4 | -| ir.cpp:2031:7:2031:12 | SideEffect | ~m2028_4 | -| ir.cpp:2031:7:2031:12 | Unary | r2031_3 | -| ir.cpp:2031:13:2031:16 | Address | &:r2031_6 | -| ir.cpp:2032:5:2032:19 | ChiPartial | partial:m2032_7 | -| ir.cpp:2032:5:2032:19 | ChiTotal | total:m2032_5 | -| ir.cpp:2032:7:2032:12 | CallTarget | func:r2032_2 | -| ir.cpp:2032:7:2032:12 | ChiPartial | partial:m2032_4 | -| ir.cpp:2032:7:2032:12 | ChiTotal | total:m2031_8 | -| ir.cpp:2032:7:2032:12 | SideEffect | ~m2031_8 | -| ir.cpp:2032:7:2032:12 | Unary | r2032_3 | -| ir.cpp:2032:13:2032:16 | Address | &:r2032_6 | -| ir.cpp:2033:5:2033:15 | Address | &:r2033_1 | -| ir.cpp:2033:5:2033:15 | Address | &:r2033_1 | -| ir.cpp:2033:7:2033:13 | CallTarget | func:r2033_3 | -| ir.cpp:2033:7:2033:13 | ChiPartial | partial:m2033_5 | -| ir.cpp:2033:7:2033:13 | ChiTotal | total:m2032_8 | -| ir.cpp:2033:7:2033:13 | SideEffect | ~m2032_8 | -| ir.cpp:2033:7:2033:13 | StoreValue | r2033_4 | -| ir.cpp:2034:5:2034:18 | CallTarget | func:r2034_1 | -| ir.cpp:2034:5:2034:18 | ChiPartial | partial:m2034_3 | -| ir.cpp:2034:5:2034:18 | ChiTotal | total:m2033_6 | -| ir.cpp:2034:5:2034:18 | SideEffect | ~m2033_6 | -| ir.cpp:2034:5:2034:18 | Unary | r2034_2 | -| ir.cpp:2034:5:2034:25 | ChiPartial | partial:m2034_6 | -| ir.cpp:2034:5:2034:25 | ChiTotal | total:m2034_4 | -| ir.cpp:2034:19:2034:22 | Address | &:r2034_5 | -| ir.cpp:2035:5:2035:18 | CallTarget | func:r2035_1 | -| ir.cpp:2035:5:2035:18 | ChiPartial | partial:m2035_3 | -| ir.cpp:2035:5:2035:18 | ChiTotal | total:m2034_7 | -| ir.cpp:2035:5:2035:18 | SideEffect | ~m2034_7 | -| ir.cpp:2035:5:2035:18 | Unary | r2035_2 | -| ir.cpp:2035:5:2035:25 | ChiPartial | partial:m2035_6 | -| ir.cpp:2035:5:2035:25 | ChiTotal | total:m2035_4 | -| ir.cpp:2035:19:2035:22 | Address | &:r2035_5 | -| ir.cpp:2036:5:2036:19 | CallTarget | func:r2036_2 | -| ir.cpp:2036:5:2036:19 | ChiPartial | partial:m2036_4 | -| ir.cpp:2036:5:2036:19 | ChiTotal | total:m2035_7 | -| ir.cpp:2036:5:2036:19 | SideEffect | ~m2035_7 | -| ir.cpp:2036:5:2036:19 | StoreValue | r2036_3 | -| ir.cpp:2036:5:2036:21 | Address | &:r2036_1 | -| ir.cpp:2036:5:2036:21 | Address | &:r2036_1 | -| ir.cpp:2039:6:2039:21 | ChiPartial | partial:m2039_3 | -| ir.cpp:2039:6:2039:21 | ChiTotal | total:m2039_2 | -| ir.cpp:2039:6:2039:21 | SideEffect | ~m2043_6 | -| ir.cpp:2040:7:2040:7 | Address | &:r2040_1 | -| ir.cpp:2040:7:2040:7 | Address | &:r2040_1 | -| ir.cpp:2040:7:2040:7 | Arg(this) | this:r2040_1 | -| ir.cpp:2040:7:2040:7 | CallTarget | func:r2040_3 | -| ir.cpp:2040:7:2040:7 | ChiPartial | partial:m2040_5 | -| ir.cpp:2040:7:2040:7 | ChiPartial | partial:m2040_7 | -| ir.cpp:2040:7:2040:7 | ChiTotal | total:m2039_4 | -| ir.cpp:2040:7:2040:7 | ChiTotal | total:m2040_2 | -| ir.cpp:2040:7:2040:7 | SideEffect | ~m2039_4 | -| ir.cpp:2041:11:2041:13 | Address | &:r2041_1 | -| ir.cpp:2041:23:2041:45 | StoreValue | r2041_2 | -| ir.cpp:2042:5:2042:7 | Address | &:r2042_3 | -| ir.cpp:2042:13:2042:32 | StoreValue | r2042_2 | -| ir.cpp:2043:1:2043:1 | Address | &:r2043_2 | -| ir.cpp:2043:1:2043:1 | Address | &:r2043_2 | -| ir.cpp:2043:1:2043:1 | Arg(this) | this:r2043_2 | -| ir.cpp:2043:1:2043:1 | CallTarget | func:r2043_3 | -| ir.cpp:2043:1:2043:1 | ChiPartial | partial:m2043_5 | -| ir.cpp:2043:1:2043:1 | ChiPartial | partial:m2043_8 | -| ir.cpp:2043:1:2043:1 | ChiTotal | total:m2040_6 | -| ir.cpp:2043:1:2043:1 | ChiTotal | total:m2040_8 | -| ir.cpp:2043:1:2043:1 | SideEffect | m2040_8 | -| ir.cpp:2043:1:2043:1 | SideEffect | ~m2040_6 | -| ir.cpp:2045:6:2045:19 | ChiPartial | partial:m2045_3 | -| ir.cpp:2045:6:2045:19 | ChiTotal | total:m2045_2 | -| ir.cpp:2045:6:2045:19 | SideEffect | ~m2049_9 | -| ir.cpp:2045:26:2045:26 | Address | &:r2045_5 | -| ir.cpp:2045:33:2045:33 | Address | &:r2045_7 | -| ir.cpp:2045:40:2045:40 | Address | &:r2045_9 | -| ir.cpp:2045:47:2045:47 | Address | &:r2045_11 | -| ir.cpp:2046:5:2046:5 | Address | &:r2046_7 | -| ir.cpp:2046:9:2046:9 | Address | &:r2046_1 | -| ir.cpp:2046:9:2046:9 | Condition | r2046_2 | -| ir.cpp:2046:9:2046:9 | Load | m2045_6 | -| ir.cpp:2046:9:2046:17 | Address | &:r2046_5 | -| ir.cpp:2046:9:2046:17 | Address | &:r2046_11 | -| ir.cpp:2046:9:2046:17 | Address | &:r2046_15 | -| ir.cpp:2046:9:2046:17 | Load | m2046_4 | -| ir.cpp:2046:9:2046:17 | Phi | from 2:m2046_12 | -| ir.cpp:2046:9:2046:17 | Phi | from 3:m2046_16 | -| ir.cpp:2046:9:2046:17 | StoreValue | r2046_6 | -| ir.cpp:2046:13:2046:13 | Address | &:r2046_9 | -| ir.cpp:2046:13:2046:13 | Load | m2045_8 | -| ir.cpp:2046:13:2046:13 | StoreValue | r2046_10 | -| ir.cpp:2046:17:2046:17 | Address | &:r2046_13 | -| ir.cpp:2046:17:2046:17 | Load | m2045_10 | -| ir.cpp:2046:17:2046:17 | StoreValue | r2046_14 | -| ir.cpp:2047:5:2047:5 | Address | &:r2047_7 | -| ir.cpp:2047:9:2047:9 | Address | &:r2047_1 | -| ir.cpp:2047:9:2047:9 | Condition | r2047_2 | -| ir.cpp:2047:9:2047:9 | Load | m2045_6 | -| ir.cpp:2047:9:2047:17 | Address | &:r2047_5 | -| ir.cpp:2047:9:2047:17 | Address | &:r2047_11 | -| ir.cpp:2047:9:2047:17 | Address | &:r2047_14 | -| ir.cpp:2047:9:2047:17 | Load | m2047_4 | -| ir.cpp:2047:9:2047:17 | Phi | from 5:m2047_12 | -| ir.cpp:2047:9:2047:17 | Phi | from 6:m2047_15 | -| ir.cpp:2047:9:2047:17 | StoreValue | r2047_6 | -| ir.cpp:2047:13:2047:13 | Address | &:r2047_9 | -| ir.cpp:2047:13:2047:13 | Load | m2045_8 | -| ir.cpp:2047:13:2047:13 | StoreValue | r2047_10 | -| ir.cpp:2047:17:2047:17 | StoreValue | r2047_13 | -| ir.cpp:2048:5:2048:5 | Address | &:r2048_7 | -| ir.cpp:2048:9:2048:9 | Address | &:r2048_1 | -| ir.cpp:2048:9:2048:9 | Condition | r2048_2 | -| ir.cpp:2048:9:2048:9 | Load | m2045_6 | -| ir.cpp:2048:9:2048:17 | Address | &:r2048_5 | -| ir.cpp:2048:9:2048:17 | Address | &:r2048_10 | -| ir.cpp:2048:9:2048:17 | Address | &:r2048_13 | -| ir.cpp:2048:9:2048:17 | Load | m2048_4 | -| ir.cpp:2048:9:2048:17 | Phi | from 8:m2048_11 | -| ir.cpp:2048:9:2048:17 | Phi | from 9:m2048_14 | -| ir.cpp:2048:9:2048:17 | StoreValue | r2048_6 | -| ir.cpp:2048:13:2048:13 | StoreValue | r2048_9 | -| ir.cpp:2048:17:2048:17 | StoreValue | r2048_12 | -| ir.cpp:2049:5:2049:19 | ChiPartial | partial:m2049_8 | -| ir.cpp:2049:5:2049:19 | ChiTotal | total:m2045_4 | -| ir.cpp:2049:6:2049:6 | Address | &:r2049_2 | -| ir.cpp:2049:6:2049:6 | Condition | r2049_3 | -| ir.cpp:2049:6:2049:6 | Load | m2045_6 | -| ir.cpp:2049:6:2049:14 | Address | &:r2049_6 | -| ir.cpp:2049:6:2049:14 | Address | &:r2049_7 | -| ir.cpp:2049:6:2049:14 | Address | &:r2049_11 | -| ir.cpp:2049:6:2049:14 | Address | &:r2049_14 | -| ir.cpp:2049:6:2049:14 | Load | m2049_5 | -| ir.cpp:2049:6:2049:14 | Phi | from 11:m2049_12 | -| ir.cpp:2049:6:2049:14 | Phi | from 12:m2049_15 | -| ir.cpp:2049:10:2049:10 | StoreValue | r2049_10 | -| ir.cpp:2049:14:2049:14 | StoreValue | r2049_13 | -| ir.cpp:2049:19:2049:19 | StoreValue | r2049_1 | -| ir.cpp:2055:6:2055:22 | ChiPartial | partial:m2055_3 | -| ir.cpp:2055:6:2055:22 | ChiTotal | total:m2055_2 | -| ir.cpp:2055:6:2055:22 | SideEffect | m2055_3 | -| ir.cpp:2055:29:2055:29 | Address | &:r2055_5 | -| ir.cpp:2055:46:2055:46 | Address | &:r2055_7 | -| ir.cpp:2055:63:2055:63 | Address | &:r2055_9 | -| ir.cpp:2055:80:2055:80 | Address | &:r2055_11 | -| ir.cpp:2056:5:2056:5 | Address | &:r2056_7 | -| ir.cpp:2056:9:2056:9 | Address | &:r2056_1 | -| ir.cpp:2056:9:2056:9 | Condition | r2056_2 | -| ir.cpp:2056:9:2056:9 | Load | m2055_6 | -| ir.cpp:2056:9:2056:17 | Address | &:r2056_5 | -| ir.cpp:2056:9:2056:17 | Address | &:r2056_11 | -| ir.cpp:2056:9:2056:17 | Address | &:r2056_15 | -| ir.cpp:2056:9:2056:17 | Load | m2056_4 | -| ir.cpp:2056:9:2056:17 | Phi | from 2:m2056_12 | -| ir.cpp:2056:9:2056:17 | Phi | from 3:m2056_16 | -| ir.cpp:2056:9:2056:17 | StoreValue | r2056_6 | -| ir.cpp:2056:13:2056:13 | Address | &:r2056_9 | -| ir.cpp:2056:13:2056:13 | Load | m2055_8 | -| ir.cpp:2056:13:2056:13 | StoreValue | r2056_10 | -| ir.cpp:2056:17:2056:17 | Address | &:r2056_13 | -| ir.cpp:2056:17:2056:17 | Load | m2055_10 | -| ir.cpp:2056:17:2056:17 | StoreValue | r2056_14 | -| ir.cpp:2057:5:2057:5 | Address | &:r2057_10 | -| ir.cpp:2057:9:2057:9 | Address | &:r2057_2 | -| ir.cpp:2057:9:2057:9 | Address | &:r2057_6 | -| ir.cpp:2057:9:2057:9 | Address | &:r2057_17 | -| ir.cpp:2057:9:2057:9 | Address | &:r2057_23 | -| ir.cpp:2057:9:2057:9 | Condition | r2057_3 | -| ir.cpp:2057:9:2057:9 | Load | m2055_6 | -| ir.cpp:2057:9:2057:9 | Load | m2057_5 | -| ir.cpp:2057:9:2057:9 | Phi | from 5:m2057_18 | -| ir.cpp:2057:9:2057:9 | Phi | from 6:m2057_24 | -| ir.cpp:2057:9:2057:9 | StoreValue | r2057_7 | -| ir.cpp:2057:9:2057:31 | Address | &:r2057_1 | -| ir.cpp:2057:9:2057:31 | Address | &:r2057_1 | -| ir.cpp:2057:9:2057:31 | Load | m2057_8 | -| ir.cpp:2057:9:2057:31 | StoreValue | r2057_9 | -| ir.cpp:2057:13:2057:13 | Address | &:r2057_12 | -| ir.cpp:2057:13:2057:13 | Address | &:r2057_12 | -| ir.cpp:2057:13:2057:13 | Address | &:r2057_13 | -| ir.cpp:2057:13:2057:13 | Load | m2055_8 | -| ir.cpp:2057:13:2057:13 | Load | m2057_15 | -| ir.cpp:2057:13:2057:13 | StoreValue | r2057_14 | -| ir.cpp:2057:13:2057:13 | StoreValue | r2057_16 | -| ir.cpp:2057:17:2057:31 | Address | &:r2057_19 | -| ir.cpp:2057:17:2057:31 | Address | &:r2057_19 | -| ir.cpp:2057:17:2057:31 | Load | m2057_21 | -| ir.cpp:2057:17:2057:31 | StoreValue | r2057_20 | -| ir.cpp:2057:17:2057:31 | StoreValue | r2057_22 | -| ir.cpp:2058:5:2058:5 | Address | &:r2058_10 | -| ir.cpp:2058:9:2058:9 | Address | &:r2058_2 | -| ir.cpp:2058:9:2058:9 | Address | &:r2058_6 | -| ir.cpp:2058:9:2058:9 | Address | &:r2058_16 | -| ir.cpp:2058:9:2058:9 | Address | &:r2058_22 | -| ir.cpp:2058:9:2058:9 | Condition | r2058_3 | -| ir.cpp:2058:9:2058:9 | Load | m2055_6 | -| ir.cpp:2058:9:2058:9 | Load | m2058_5 | -| ir.cpp:2058:9:2058:9 | Phi | from 8:m2058_17 | -| ir.cpp:2058:9:2058:9 | Phi | from 9:m2058_23 | -| ir.cpp:2058:9:2058:9 | StoreValue | r2058_7 | -| ir.cpp:2058:9:2058:45 | Address | &:r2058_1 | -| ir.cpp:2058:9:2058:45 | Address | &:r2058_1 | -| ir.cpp:2058:9:2058:45 | Load | m2058_8 | -| ir.cpp:2058:9:2058:45 | StoreValue | r2058_9 | -| ir.cpp:2058:13:2058:27 | Address | &:r2058_12 | -| ir.cpp:2058:13:2058:27 | Address | &:r2058_12 | -| ir.cpp:2058:13:2058:27 | Load | m2058_14 | -| ir.cpp:2058:13:2058:27 | StoreValue | r2058_13 | -| ir.cpp:2058:13:2058:27 | StoreValue | r2058_15 | -| ir.cpp:2058:31:2058:45 | Address | &:r2058_18 | -| ir.cpp:2058:31:2058:45 | Address | &:r2058_18 | -| ir.cpp:2058:31:2058:45 | Load | m2058_20 | -| ir.cpp:2058:31:2058:45 | StoreValue | r2058_19 | -| ir.cpp:2058:31:2058:45 | StoreValue | r2058_21 | -| ir.cpp:2059:6:2059:6 | Address | &:r2059_11 | -| ir.cpp:2059:6:2059:6 | Unary | r2059_11 | -| ir.cpp:2059:6:2059:18 | Address | &:r2059_13 | -| ir.cpp:2059:10:2059:10 | Address | &:r2059_5 | -| ir.cpp:2059:10:2059:10 | Condition | r2059_6 | -| ir.cpp:2059:10:2059:10 | Load | m2055_6 | -| ir.cpp:2059:10:2059:18 | Address | &:r2059_9 | -| ir.cpp:2059:10:2059:18 | Address | &:r2059_17 | -| ir.cpp:2059:10:2059:18 | Address | &:r2059_21 | -| ir.cpp:2059:10:2059:18 | Load | m2059_8 | -| ir.cpp:2059:10:2059:18 | Phi | from 11:m2059_18 | -| ir.cpp:2059:10:2059:18 | Phi | from 12:m2059_22 | -| ir.cpp:2059:10:2059:18 | StoreValue | r2059_10 | -| ir.cpp:2059:14:2059:14 | Address | &:r2059_15 | -| ir.cpp:2059:14:2059:14 | Load | m2055_8 | -| ir.cpp:2059:14:2059:14 | StoreValue | r2059_16 | -| ir.cpp:2059:18:2059:18 | Address | &:r2059_19 | -| ir.cpp:2059:18:2059:18 | Load | m2055_10 | -| ir.cpp:2059:18:2059:18 | StoreValue | r2059_20 | -| ir.cpp:2059:23:2059:37 | Address | &:r2059_1 | -| ir.cpp:2059:23:2059:37 | Address | &:r2059_1 | -| ir.cpp:2059:23:2059:37 | Load | m2059_3 | -| ir.cpp:2059:23:2059:37 | StoreValue | r2059_2 | -| ir.cpp:2059:23:2059:37 | StoreValue | r2059_4 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_5 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_7 | -| ir.cpp:2062:8:2062:8 | Address | &:r2062_10 | -| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | -| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | -| ir.cpp:2062:8:2062:8 | ChiPartial | partial:m2062_3 | -| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | -| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | -| ir.cpp:2062:8:2062:8 | ChiTotal | total:m2062_2 | -| ir.cpp:2062:8:2062:8 | Load | m0_10 | -| ir.cpp:2062:8:2062:8 | Load | m2062_6 | -| ir.cpp:2062:8:2062:8 | Load | m2062_6 | -| ir.cpp:2062:8:2062:8 | Load | m2062_6 | -| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | -| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | -| ir.cpp:2062:8:2062:8 | SideEffect | m2062_3 | -| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | -| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | -| ir.cpp:2062:8:2062:8 | SideEffect | m2062_8 | -| ir.cpp:2063:13:2063:29 | Address | &:r2063_5 | -| ir.cpp:2063:13:2063:29 | Address | &:r2063_5 | -| ir.cpp:2063:13:2063:29 | Address | &:r2063_7 | -| ir.cpp:2063:13:2063:29 | Address | &:r2063_7 | -| ir.cpp:2063:13:2063:29 | ChiPartial | partial:m2063_3 | -| ir.cpp:2063:13:2063:29 | ChiTotal | total:m2063_2 | -| ir.cpp:2063:13:2063:29 | Load | m2063_6 | -| ir.cpp:2063:13:2063:29 | SideEffect | m2063_3 | -| ir.cpp:2063:13:2063:29 | SideEffect | m2063_8 | -| ir.cpp:2066:6:2066:25 | ChiPartial | partial:m2066_3 | -| ir.cpp:2066:6:2066:25 | ChiTotal | total:m2066_2 | -| ir.cpp:2066:6:2066:25 | SideEffect | ~m2070_32 | -| ir.cpp:2066:32:2066:32 | Address | &:r2066_5 | -| ir.cpp:2066:52:2066:52 | Address | &:r2066_7 | -| ir.cpp:2066:72:2066:72 | Address | &:r2066_9 | -| ir.cpp:2066:92:2066:92 | Address | &:r2066_11 | -| ir.cpp:2067:5:2067:5 | Address | &:r2067_1 | -| ir.cpp:2067:5:2067:5 | Address | &:r2067_1 | -| ir.cpp:2067:5:2067:5 | Arg(this) | this:r2067_1 | -| ir.cpp:2067:5:2067:5 | ChiPartial | partial:m2067_16 | -| ir.cpp:2067:5:2067:5 | ChiTotal | total:m2066_12 | -| ir.cpp:2067:5:2067:5 | SideEffect | m2066_12 | -| ir.cpp:2067:7:2067:7 | CallTarget | func:r2067_2 | -| ir.cpp:2067:7:2067:7 | ChiPartial | partial:m2067_12 | -| ir.cpp:2067:7:2067:7 | ChiTotal | total:m2066_4 | -| ir.cpp:2067:7:2067:7 | SideEffect | ~m2066_4 | -| ir.cpp:2067:7:2067:7 | Unary | r2067_11 | -| ir.cpp:2067:9:2067:9 | Address | &:r2067_3 | -| ir.cpp:2067:9:2067:9 | Condition | r2067_4 | -| ir.cpp:2067:9:2067:9 | Load | m2066_6 | -| ir.cpp:2067:9:2067:17 | Address | &:r2067_7 | -| ir.cpp:2067:9:2067:17 | Address | &:r2067_10 | -| ir.cpp:2067:9:2067:17 | Address | &:r2067_20 | -| ir.cpp:2067:9:2067:17 | Address | &:r2067_23 | -| ir.cpp:2067:9:2067:17 | Arg(0) | 0:r2067_10 | -| ir.cpp:2067:9:2067:17 | Load | m2067_6 | -| ir.cpp:2067:9:2067:17 | Phi | from 2:m2067_21 | -| ir.cpp:2067:9:2067:17 | Phi | from 3:m2067_24 | -| ir.cpp:2067:9:2067:17 | SideEffect | ~m2067_13 | -| ir.cpp:2067:9:2067:17 | Unary | r2067_8 | -| ir.cpp:2067:9:2067:17 | Unary | r2067_9 | -| ir.cpp:2067:13:2067:13 | StoreValue | r2067_19 | -| ir.cpp:2067:17:2067:17 | StoreValue | r2067_22 | -| ir.cpp:2068:5:2068:5 | Address | &:r2068_1 | -| ir.cpp:2068:5:2068:5 | Address | &:r2068_1 | -| ir.cpp:2068:5:2068:5 | Arg(this) | this:r2068_1 | -| ir.cpp:2068:5:2068:5 | ChiPartial | partial:m2068_19 | -| ir.cpp:2068:5:2068:5 | ChiTotal | total:m2067_17 | -| ir.cpp:2068:5:2068:5 | SideEffect | m2067_17 | -| ir.cpp:2068:7:2068:7 | CallTarget | func:r2068_2 | -| ir.cpp:2068:7:2068:7 | ChiPartial | partial:m2068_15 | -| ir.cpp:2068:7:2068:7 | ChiTotal | total:m2068_7 | -| ir.cpp:2068:7:2068:7 | SideEffect | ~m2068_7 | -| ir.cpp:2068:7:2068:7 | Unary | r2068_14 | -| ir.cpp:2068:9:2068:9 | Address | &:r2068_4 | -| ir.cpp:2068:9:2068:9 | Address | &:r2068_9 | -| ir.cpp:2068:9:2068:9 | Address | &:r2068_35 | -| ir.cpp:2068:9:2068:9 | Address | &:r2068_46 | -| ir.cpp:2068:9:2068:9 | Condition | r2068_5 | -| ir.cpp:2068:9:2068:9 | Load | m2066_6 | -| ir.cpp:2068:9:2068:9 | Load | m2068_8 | -| ir.cpp:2068:9:2068:9 | Phi | from 5:m2068_36 | -| ir.cpp:2068:9:2068:9 | Phi | from 5:~m2068_30 | -| ir.cpp:2068:9:2068:9 | Phi | from 6:m2068_47 | -| ir.cpp:2068:9:2068:9 | Phi | from 6:~m2068_42 | -| ir.cpp:2068:9:2068:9 | StoreValue | r2068_10 | -| ir.cpp:2068:9:2068:34 | Address | &:r2068_3 | -| ir.cpp:2068:9:2068:34 | Address | &:r2068_13 | -| ir.cpp:2068:9:2068:34 | Arg(0) | 0:r2068_13 | -| ir.cpp:2068:9:2068:34 | SideEffect | ~m2068_11 | -| ir.cpp:2068:9:2068:34 | Unary | r2068_3 | -| ir.cpp:2068:9:2068:34 | Unary | r2068_12 | -| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | -| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | -| ir.cpp:2068:13:2068:13 | Address | &:r2068_22 | -| ir.cpp:2068:13:2068:13 | Address | &:r2068_27 | -| ir.cpp:2068:13:2068:13 | Arg(0) | 0:r2068_27 | -| ir.cpp:2068:13:2068:13 | Arg(this) | this:r2068_22 | -| ir.cpp:2068:13:2068:13 | CallTarget | func:r2068_24 | -| ir.cpp:2068:13:2068:13 | ChiPartial | partial:m2068_29 | -| ir.cpp:2068:13:2068:13 | ChiPartial | partial:m2068_32 | -| ir.cpp:2068:13:2068:13 | ChiTotal | total:m2067_13 | -| ir.cpp:2068:13:2068:13 | ChiTotal | total:m2068_23 | -| ir.cpp:2068:13:2068:13 | Load | m2068_33 | -| ir.cpp:2068:13:2068:13 | SideEffect | ~m2066_8 | -| ir.cpp:2068:13:2068:13 | SideEffect | ~m2067_13 | -| ir.cpp:2068:13:2068:13 | StoreValue | r2068_34 | -| ir.cpp:2068:13:2068:13 | Unary | r2068_25 | -| ir.cpp:2068:13:2068:13 | Unary | r2068_26 | -| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | -| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | -| ir.cpp:2068:17:2068:34 | Address | &:r2068_37 | -| ir.cpp:2068:17:2068:34 | Arg(this) | this:r2068_37 | -| ir.cpp:2068:17:2068:34 | CallTarget | func:r2068_39 | -| ir.cpp:2068:17:2068:34 | ChiPartial | partial:m2068_41 | -| ir.cpp:2068:17:2068:34 | ChiPartial | partial:m2068_43 | -| ir.cpp:2068:17:2068:34 | ChiTotal | total:m2067_13 | -| ir.cpp:2068:17:2068:34 | ChiTotal | total:m2068_38 | -| ir.cpp:2068:17:2068:34 | Load | m2068_44 | -| ir.cpp:2068:17:2068:34 | SideEffect | ~m2067_13 | -| ir.cpp:2068:17:2068:34 | StoreValue | r2068_45 | -| ir.cpp:2069:5:2069:5 | Address | &:r2069_1 | -| ir.cpp:2069:5:2069:5 | Address | &:r2069_1 | -| ir.cpp:2069:5:2069:5 | Arg(this) | this:r2069_1 | -| ir.cpp:2069:5:2069:5 | ChiPartial | partial:m2069_19 | -| ir.cpp:2069:5:2069:5 | ChiTotal | total:m2068_20 | -| ir.cpp:2069:5:2069:5 | SideEffect | m2068_20 | -| ir.cpp:2069:7:2069:7 | CallTarget | func:r2069_2 | -| ir.cpp:2069:7:2069:7 | ChiPartial | partial:m2069_15 | -| ir.cpp:2069:7:2069:7 | ChiTotal | total:m2069_7 | -| ir.cpp:2069:7:2069:7 | SideEffect | ~m2069_7 | -| ir.cpp:2069:7:2069:7 | Unary | r2069_14 | -| ir.cpp:2069:9:2069:9 | Address | &:r2069_4 | -| ir.cpp:2069:9:2069:9 | Address | &:r2069_9 | -| ir.cpp:2069:9:2069:9 | Address | &:r2069_31 | -| ir.cpp:2069:9:2069:9 | Address | &:r2069_42 | -| ir.cpp:2069:9:2069:9 | Condition | r2069_5 | -| ir.cpp:2069:9:2069:9 | Load | m2066_6 | -| ir.cpp:2069:9:2069:9 | Load | m2069_8 | -| ir.cpp:2069:9:2069:9 | Phi | from 8:m2069_32 | -| ir.cpp:2069:9:2069:9 | Phi | from 8:~m2069_27 | -| ir.cpp:2069:9:2069:9 | Phi | from 9:m2069_43 | -| ir.cpp:2069:9:2069:9 | Phi | from 9:~m2069_38 | -| ir.cpp:2069:9:2069:9 | StoreValue | r2069_10 | -| ir.cpp:2069:9:2069:51 | Address | &:r2069_3 | -| ir.cpp:2069:9:2069:51 | Address | &:r2069_13 | -| ir.cpp:2069:9:2069:51 | Arg(0) | 0:r2069_13 | -| ir.cpp:2069:9:2069:51 | SideEffect | ~m2069_11 | -| ir.cpp:2069:9:2069:51 | Unary | r2069_3 | -| ir.cpp:2069:9:2069:51 | Unary | r2069_12 | -| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | -| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | -| ir.cpp:2069:13:2069:30 | Address | &:r2069_22 | -| ir.cpp:2069:13:2069:30 | Arg(this) | this:r2069_22 | -| ir.cpp:2069:13:2069:30 | CallTarget | func:r2069_24 | -| ir.cpp:2069:13:2069:30 | ChiPartial | partial:m2069_26 | -| ir.cpp:2069:13:2069:30 | ChiPartial | partial:m2069_28 | -| ir.cpp:2069:13:2069:30 | ChiTotal | total:m2068_16 | -| ir.cpp:2069:13:2069:30 | ChiTotal | total:m2069_23 | -| ir.cpp:2069:13:2069:30 | Load | m2069_29 | -| ir.cpp:2069:13:2069:30 | SideEffect | ~m2068_16 | -| ir.cpp:2069:13:2069:30 | StoreValue | r2069_30 | -| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | -| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | -| ir.cpp:2069:34:2069:51 | Address | &:r2069_33 | -| ir.cpp:2069:34:2069:51 | Arg(this) | this:r2069_33 | -| ir.cpp:2069:34:2069:51 | CallTarget | func:r2069_35 | -| ir.cpp:2069:34:2069:51 | ChiPartial | partial:m2069_37 | -| ir.cpp:2069:34:2069:51 | ChiPartial | partial:m2069_39 | -| ir.cpp:2069:34:2069:51 | ChiTotal | total:m2068_16 | -| ir.cpp:2069:34:2069:51 | ChiTotal | total:m2069_34 | -| ir.cpp:2069:34:2069:51 | Load | m2069_40 | -| ir.cpp:2069:34:2069:51 | SideEffect | ~m2068_16 | -| ir.cpp:2069:34:2069:51 | StoreValue | r2069_41 | -| ir.cpp:2070:5:2070:19 | ChiPartial | partial:m2070_35 | -| ir.cpp:2070:5:2070:19 | ChiTotal | total:m2070_17 | -| ir.cpp:2070:5:2070:19 | SideEffect | m2070_17 | -| ir.cpp:2070:6:2070:6 | Address | &:r2070_1 | -| ir.cpp:2070:6:2070:6 | Address | &:r2070_1 | -| ir.cpp:2070:6:2070:6 | Arg(this) | this:r2070_1 | -| ir.cpp:2070:6:2070:6 | ChiPartial | partial:m2070_16 | -| ir.cpp:2070:6:2070:6 | ChiTotal | total:m2069_20 | -| ir.cpp:2070:6:2070:6 | SideEffect | m2069_20 | -| ir.cpp:2070:8:2070:8 | CallTarget | func:r2070_2 | -| ir.cpp:2070:8:2070:8 | ChiPartial | partial:m2070_12 | -| ir.cpp:2070:8:2070:8 | ChiTotal | total:m2069_16 | -| ir.cpp:2070:8:2070:8 | SideEffect | ~m2069_16 | -| ir.cpp:2070:8:2070:8 | Unary | r2070_11 | -| ir.cpp:2070:8:2070:19 | Address | &:r2070_18 | -| ir.cpp:2070:8:2070:19 | Address | &:r2070_18 | -| ir.cpp:2070:8:2070:19 | Arg(this) | this:r2070_18 | -| ir.cpp:2070:10:2070:10 | Address | &:r2070_3 | -| ir.cpp:2070:10:2070:10 | Condition | r2070_4 | -| ir.cpp:2070:10:2070:10 | Load | m2066_6 | -| ir.cpp:2070:10:2070:18 | Address | &:r2070_7 | -| ir.cpp:2070:10:2070:18 | Address | &:r2070_10 | -| ir.cpp:2070:10:2070:18 | Address | &:r2070_39 | -| ir.cpp:2070:10:2070:18 | Address | &:r2070_42 | -| ir.cpp:2070:10:2070:18 | Arg(0) | 0:r2070_10 | -| ir.cpp:2070:10:2070:18 | Load | m2070_6 | -| ir.cpp:2070:10:2070:18 | Phi | from 11:m2070_40 | -| ir.cpp:2070:10:2070:18 | Phi | from 12:m2070_43 | -| ir.cpp:2070:10:2070:18 | SideEffect | ~m2070_13 | -| ir.cpp:2070:10:2070:18 | Unary | r2070_8 | -| ir.cpp:2070:10:2070:18 | Unary | r2070_9 | -| ir.cpp:2070:14:2070:14 | StoreValue | r2070_38 | -| ir.cpp:2070:18:2070:18 | StoreValue | r2070_41 | -| ir.cpp:2070:21:2070:21 | CallTarget | func:r2070_19 | -| ir.cpp:2070:21:2070:21 | ChiPartial | partial:m2070_31 | -| ir.cpp:2070:21:2070:21 | ChiTotal | total:m2070_25 | -| ir.cpp:2070:21:2070:21 | SideEffect | ~m2070_25 | -| ir.cpp:2070:21:2070:21 | Unary | r2070_30 | -| ir.cpp:2070:23:2070:40 | Address | &:r2070_20 | -| ir.cpp:2070:23:2070:40 | Address | &:r2070_20 | -| ir.cpp:2070:23:2070:40 | Address | &:r2070_29 | -| ir.cpp:2070:23:2070:40 | Arg(0) | 0:r2070_29 | -| ir.cpp:2070:23:2070:40 | Arg(this) | this:r2070_20 | -| ir.cpp:2070:23:2070:40 | CallTarget | func:r2070_22 | -| ir.cpp:2070:23:2070:40 | ChiPartial | partial:m2070_24 | -| ir.cpp:2070:23:2070:40 | ChiPartial | partial:m2070_26 | -| ir.cpp:2070:23:2070:40 | ChiTotal | total:m2070_13 | -| ir.cpp:2070:23:2070:40 | ChiTotal | total:m2070_21 | -| ir.cpp:2070:23:2070:40 | SideEffect | ~m2070_13 | -| ir.cpp:2070:23:2070:40 | SideEffect | ~m2070_27 | -| ir.cpp:2070:23:2070:40 | Unary | r2070_20 | -| ir.cpp:2070:23:2070:40 | Unary | r2070_28 | -| ir.cpp:2075:14:2075:22 | Address | &:r2075_7 | -| ir.cpp:2075:14:2075:22 | ChiPartial | partial:m2075_3 | -| ir.cpp:2075:14:2075:22 | ChiTotal | total:m2075_2 | -| ir.cpp:2075:14:2075:22 | Load | m2080_2 | -| ir.cpp:2075:14:2075:22 | SideEffect | ~m2077_6 | -| ir.cpp:2075:37:2075:37 | Address | &:r2075_5 | -| ir.cpp:2076:16:2076:16 | Address | &:r2076_1 | -| ir.cpp:2077:3:2077:3 | Address | &:r2077_10 | -| ir.cpp:2077:7:2077:7 | Address | &:r2077_1 | -| ir.cpp:2077:7:2077:7 | Left | r2077_2 | -| ir.cpp:2077:7:2077:7 | Load | m2075_6 | -| ir.cpp:2077:7:2077:13 | Condition | r2077_4 | -| ir.cpp:2077:7:2079:28 | Address | &:r2077_8 | -| ir.cpp:2077:7:2079:28 | Address | &:r2077_12 | -| ir.cpp:2077:7:2079:28 | Address | &:r2077_14 | -| ir.cpp:2077:7:2079:28 | Load | m2077_7 | -| ir.cpp:2077:7:2079:28 | Phi | from 2:m2077_13 | -| ir.cpp:2077:7:2079:28 | Phi | from 2:~m2078_6 | -| ir.cpp:2077:7:2079:28 | Phi | from 3:m2077_15 | -| ir.cpp:2077:7:2079:28 | Phi | from 3:~m2079_6 | -| ir.cpp:2077:7:2079:28 | StoreValue | r2077_9 | -| ir.cpp:2077:11:2077:13 | Right | r2077_3 | -| ir.cpp:2078:6:2078:20 | CallTarget | func:r2078_1 | -| ir.cpp:2078:6:2078:20 | ChiPartial | partial:m2078_5 | -| ir.cpp:2078:6:2078:20 | ChiTotal | total:m2075_4 | -| ir.cpp:2078:6:2078:20 | SideEffect | ~m2075_4 | -| ir.cpp:2078:6:2078:26 | StoreValue | r2078_9 | -| ir.cpp:2078:22:2078:22 | Address | &:r2078_2 | -| ir.cpp:2078:22:2078:22 | Arg(0) | 0:r2078_3 | -| ir.cpp:2078:22:2078:22 | Load | m2075_6 | -| ir.cpp:2078:26:2078:26 | Address | &:r2078_7 | -| ir.cpp:2078:26:2078:26 | Load | m2075_6 | -| ir.cpp:2078:26:2078:26 | Unary | r2078_8 | -| ir.cpp:2079:5:2079:28 | StoreValue | r2079_9 | -| ir.cpp:2079:6:2079:20 | CallTarget | func:r2079_1 | -| ir.cpp:2079:6:2079:20 | ChiPartial | partial:m2079_5 | -| ir.cpp:2079:6:2079:20 | ChiTotal | total:m2075_4 | -| ir.cpp:2079:6:2079:20 | SideEffect | ~m2075_4 | -| ir.cpp:2079:6:2079:27 | Unary | r2079_8 | -| ir.cpp:2079:22:2079:22 | Address | &:r2079_2 | -| ir.cpp:2079:22:2079:22 | Arg(0) | 0:r2079_3 | -| ir.cpp:2079:22:2079:22 | Load | m2075_6 | -| ir.cpp:2079:26:2079:27 | Unary | r2079_7 | -| ir.cpp:2080:1:2080:1 | Address | &:r2080_1 | -| ir.cpp:2082:6:2082:17 | ChiPartial | partial:m2082_3 | -| ir.cpp:2082:6:2082:17 | ChiTotal | total:m2082_2 | -| ir.cpp:2082:6:2082:17 | SideEffect | ~m2085_6 | -| ir.cpp:2083:8:2083:8 | Address | &:r2083_1 | -| ir.cpp:2083:12:2083:18 | Address | &:r2083_4 | -| ir.cpp:2083:12:2083:18 | Arg(0) | 0:r2083_3 | -| ir.cpp:2083:12:2083:18 | CallTarget | func:r2083_2 | -| ir.cpp:2083:12:2083:18 | ChiPartial | partial:m2083_5 | -| ir.cpp:2083:12:2083:18 | ChiTotal | total:m2082_4 | -| ir.cpp:2083:12:2083:18 | SideEffect | ~m2082_4 | -| ir.cpp:2083:12:2083:18 | StoreValue | r2083_8 | -| ir.cpp:2083:12:2083:18 | Unary | r2083_4 | -| ir.cpp:2084:3:2084:4 | Address | &:r2084_4 | -| ir.cpp:2084:3:2084:8 | ChiPartial | partial:m2084_5 | -| ir.cpp:2084:3:2084:8 | ChiTotal | total:m2083_7 | -| ir.cpp:2084:4:2084:4 | Address | &:r2084_2 | -| ir.cpp:2084:4:2084:4 | Load | m2083_9 | -| ir.cpp:2084:4:2084:4 | Unary | r2084_3 | -| ir.cpp:2084:8:2084:8 | StoreValue | r2084_1 | -| ir.cpp:2085:3:2085:10 | CallTarget | func:r2085_1 | -| ir.cpp:2085:3:2085:10 | ChiPartial | partial:m2085_5 | -| ir.cpp:2085:3:2085:10 | ChiTotal | total:m2083_6 | -| ir.cpp:2085:3:2085:10 | SideEffect | ~m2083_6 | -| ir.cpp:2085:10:2085:10 | Address | &:r2085_2 | -| ir.cpp:2085:10:2085:10 | Arg(0) | 0:r2085_3 | -| ir.cpp:2085:10:2085:10 | Load | m2083_9 | -| ir.cpp:2088:7:2088:7 | Address | &:r2088_5 | -| ir.cpp:2088:7:2088:7 | Address | &:r2088_5 | -| ir.cpp:2088:7:2088:7 | Address | &:r2088_7 | -| ir.cpp:2088:7:2088:7 | Address | &:r2088_7 | -| ir.cpp:2088:7:2088:7 | ChiPartial | partial:m2088_3 | -| ir.cpp:2088:7:2088:7 | ChiTotal | total:m2088_2 | -| ir.cpp:2088:7:2088:7 | Load | m2088_6 | -| ir.cpp:2088:7:2088:7 | SideEffect | m2088_3 | -| ir.cpp:2088:7:2088:7 | SideEffect | m2088_8 | -| ir.cpp:2090:10:2090:24 | ChiPartial | partial:m2090_3 | -| ir.cpp:2090:10:2090:24 | ChiTotal | total:m2090_2 | -| ir.cpp:2090:10:2090:24 | SideEffect | m2090_3 | -| ir.cpp:2090:32:2090:32 | Address | &:r2090_5 | -| ir.cpp:2090:32:2090:32 | Address | &:r2090_5 | -| ir.cpp:2090:32:2090:32 | Address | &:r2090_7 | -| ir.cpp:2090:32:2090:32 | Address | &:r2090_7 | -| ir.cpp:2090:32:2090:32 | Load | m2090_6 | -| ir.cpp:2090:32:2090:32 | SideEffect | m2090_8 | -| ir.cpp:2092:13:2092:18 | Address | &:r2092_5 | -| ir.cpp:2092:13:2092:18 | Address | &:r2092_5 | -| ir.cpp:2092:13:2092:18 | Address | &:r2092_7 | -| ir.cpp:2092:13:2092:18 | Address | &:r2092_7 | -| ir.cpp:2092:13:2092:18 | ChiPartial | partial:m2092_3 | -| ir.cpp:2092:13:2092:18 | ChiTotal | total:m2092_2 | -| ir.cpp:2092:13:2092:18 | Load | m2092_6 | -| ir.cpp:2092:13:2092:18 | SideEffect | m2092_3 | -| ir.cpp:2092:13:2092:18 | SideEffect | m2092_8 | -| ir.cpp:2095:7:2095:7 | Address | &:r2095_5 | -| ir.cpp:2095:7:2095:7 | Address | &:r2095_5 | -| ir.cpp:2095:7:2095:7 | Address | &:r2095_7 | -| ir.cpp:2095:7:2095:7 | Address | &:r2095_7 | -| ir.cpp:2095:7:2095:7 | Address | &:r2095_9 | -| ir.cpp:2095:7:2095:7 | Arg(this) | this:r2095_9 | -| ir.cpp:2095:7:2095:7 | CallTarget | func:r2095_10 | -| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_3 | -| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_12 | -| ir.cpp:2095:7:2095:7 | ChiPartial | partial:m2095_14 | -| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_2 | -| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_4 | -| ir.cpp:2095:7:2095:7 | ChiTotal | total:m2095_8 | -| ir.cpp:2095:7:2095:7 | Load | m2095_6 | -| ir.cpp:2095:7:2095:7 | SideEffect | m2095_15 | -| ir.cpp:2095:7:2095:7 | SideEffect | ~m2095_4 | -| ir.cpp:2095:7:2095:7 | SideEffect | ~m2095_13 | -| ir.cpp:2095:7:2095:7 | Unary | m2095_6 | -| ir.cpp:2098:5:2098:13 | Address | &:r2098_5 | -| ir.cpp:2098:5:2098:13 | Address | &:r2098_5 | -| ir.cpp:2098:5:2098:13 | Address | &:r2098_7 | -| ir.cpp:2098:5:2098:13 | Address | &:r2098_7 | -| ir.cpp:2098:5:2098:13 | ChiPartial | partial:m2098_3 | -| ir.cpp:2098:5:2098:13 | ChiTotal | total:m2098_2 | -| ir.cpp:2098:5:2098:13 | Load | m2098_6 | -| ir.cpp:2098:5:2098:13 | SideEffect | m2098_8 | -| ir.cpp:2098:5:2098:13 | SideEffect | ~m2098_14 | -| ir.cpp:2098:5:2098:13 | Unary | m2098_6 | -| ir.cpp:2098:18:2098:18 | Arg(this) | this:r2098_10 | -| ir.cpp:2098:18:2098:18 | CallTarget | func:r2098_11 | -| ir.cpp:2098:18:2098:18 | ChiPartial | partial:m2098_13 | -| ir.cpp:2098:18:2098:18 | ChiTotal | total:m2098_4 | -| ir.cpp:2098:18:2098:18 | SideEffect | ~m2098_4 | -| ir.cpp:2100:10:2100:24 | ChiPartial | partial:m2100_3 | -| ir.cpp:2100:10:2100:24 | ChiTotal | total:m2100_2 | -| ir.cpp:2100:10:2100:24 | SideEffect | m2100_3 | -| ir.cpp:2100:32:2100:32 | Address | &:r2100_5 | -| ir.cpp:2100:32:2100:32 | Address | &:r2100_5 | -| ir.cpp:2100:32:2100:32 | Address | &:r2100_7 | -| ir.cpp:2100:32:2100:32 | Address | &:r2100_7 | -| ir.cpp:2100:32:2100:32 | Load | m2100_6 | -| ir.cpp:2100:32:2100:32 | SideEffect | m2100_8 | -| ir.cpp:2105:5:2105:18 | Address | &:r2105_5 | -| ir.cpp:2105:5:2105:18 | ChiPartial | partial:m2105_3 | -| ir.cpp:2105:5:2105:18 | ChiTotal | total:m2105_2 | -| ir.cpp:2105:5:2105:18 | Load | m2115_2 | -| ir.cpp:2105:5:2105:18 | SideEffect | ~m2114_14 | -| ir.cpp:2107:12:2107:13 | Address | &:r2107_1 | -| ir.cpp:2107:17:2107:27 | Address | &:r2107_4 | -| ir.cpp:2107:17:2107:27 | Address | &:r2107_8 | -| ir.cpp:2107:17:2107:27 | Arg(0) | 0:r2107_3 | -| ir.cpp:2107:17:2107:27 | Arg(this) | this:r2107_8 | -| ir.cpp:2107:17:2107:27 | CallTarget | func:r2107_2 | -| ir.cpp:2107:17:2107:27 | CallTarget | func:r2107_9 | -| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_5 | -| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_11 | -| ir.cpp:2107:17:2107:27 | ChiPartial | partial:m2107_13 | -| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2105_4 | -| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2107_6 | -| ir.cpp:2107:17:2107:27 | ChiTotal | total:m2107_7 | -| ir.cpp:2107:17:2107:27 | SideEffect | ~m2105_4 | -| ir.cpp:2107:17:2107:27 | SideEffect | ~m2107_6 | -| ir.cpp:2107:17:2107:27 | StoreValue | r2107_8 | -| ir.cpp:2107:17:2107:27 | Unary | r2107_4 | -| ir.cpp:2108:5:2108:13 | CallTarget | func:r2108_3 | -| ir.cpp:2108:5:2108:13 | CallTarget | func:r2108_10 | -| ir.cpp:2108:5:2108:13 | ChiPartial | partial:m2108_5 | -| ir.cpp:2108:5:2108:13 | ChiPartial | partial:m2108_13 | -| ir.cpp:2108:5:2108:13 | ChiTotal | total:m2107_12 | -| ir.cpp:2108:5:2108:13 | ChiTotal | total:m2108_6 | -| ir.cpp:2108:5:2108:13 | SideEffect | ~m2107_12 | -| ir.cpp:2108:5:2108:13 | SideEffect | ~m2108_6 | -| ir.cpp:2108:12:2108:13 | Address | &:r2108_1 | -| ir.cpp:2108:12:2108:13 | Address | &:r2108_2 | -| ir.cpp:2108:12:2108:13 | Address | &:r2108_2 | -| ir.cpp:2108:12:2108:13 | Arg(0) | 0:r2108_11 | -| ir.cpp:2108:12:2108:13 | ChiPartial | partial:m2108_8 | -| ir.cpp:2108:12:2108:13 | ChiTotal | total:m2107_14 | -| ir.cpp:2108:12:2108:13 | Load | m2107_15 | -| ir.cpp:2108:12:2108:13 | SideEffect | ~m2107_14 | -| ir.cpp:2108:12:2108:13 | Unary | r2108_1 | -| ir.cpp:2110:12:2110:13 | Address | &:r2110_1 | -| ir.cpp:2110:17:2110:30 | Address | &:r2110_4 | -| ir.cpp:2110:17:2110:30 | Address | &:r2110_8 | -| ir.cpp:2110:17:2110:30 | Arg(0) | 0:r2110_3 | -| ir.cpp:2110:17:2110:30 | Arg(this) | this:r2110_8 | -| ir.cpp:2110:17:2110:30 | CallTarget | func:r2110_2 | -| ir.cpp:2110:17:2110:30 | CallTarget | func:r2110_9 | -| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_5 | -| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_11 | -| ir.cpp:2110:17:2110:30 | ChiPartial | partial:m2110_13 | -| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2108_14 | -| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2110_6 | -| ir.cpp:2110:17:2110:30 | ChiTotal | total:m2110_7 | -| ir.cpp:2110:17:2110:30 | SideEffect | ~m2108_14 | -| ir.cpp:2110:17:2110:30 | SideEffect | ~m2110_6 | -| ir.cpp:2110:17:2110:30 | StoreValue | r2110_15 | -| ir.cpp:2110:17:2110:30 | Unary | r2110_4 | -| ir.cpp:2110:17:2110:30 | Unary | r2110_8 | -| ir.cpp:2111:5:2111:13 | CallTarget | func:r2111_3 | -| ir.cpp:2111:5:2111:13 | CallTarget | func:r2111_10 | -| ir.cpp:2111:5:2111:13 | ChiPartial | partial:m2111_5 | -| ir.cpp:2111:5:2111:13 | ChiPartial | partial:m2111_13 | -| ir.cpp:2111:5:2111:13 | ChiTotal | total:m2110_12 | -| ir.cpp:2111:5:2111:13 | ChiTotal | total:m2111_6 | -| ir.cpp:2111:5:2111:13 | SideEffect | ~m2110_12 | -| ir.cpp:2111:5:2111:13 | SideEffect | ~m2111_6 | -| ir.cpp:2111:12:2111:13 | Address | &:r2111_1 | -| ir.cpp:2111:12:2111:13 | Address | &:r2111_2 | -| ir.cpp:2111:12:2111:13 | Address | &:r2111_2 | -| ir.cpp:2111:12:2111:13 | Arg(0) | 0:r2111_11 | -| ir.cpp:2111:12:2111:13 | ChiPartial | partial:m2111_8 | -| ir.cpp:2111:12:2111:13 | ChiTotal | total:m2110_14 | -| ir.cpp:2111:12:2111:13 | Load | m2110_16 | -| ir.cpp:2111:12:2111:13 | SideEffect | ~m2110_14 | -| ir.cpp:2111:12:2111:13 | Unary | r2111_1 | -| ir.cpp:2113:15:2113:15 | Address | &:r2113_1 | -| ir.cpp:2113:19:2113:32 | Address | &:r2113_4 | -| ir.cpp:2113:19:2113:32 | Address | &:r2113_8 | -| ir.cpp:2113:19:2113:32 | Arg(0) | 0:r2113_3 | -| ir.cpp:2113:19:2113:32 | Arg(this) | this:r2113_8 | -| ir.cpp:2113:19:2113:32 | CallTarget | func:r2113_2 | -| ir.cpp:2113:19:2113:32 | CallTarget | func:r2113_9 | -| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_5 | -| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_11 | -| ir.cpp:2113:19:2113:32 | ChiPartial | partial:m2113_13 | -| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2111_14 | -| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2113_6 | -| ir.cpp:2113:19:2113:32 | ChiTotal | total:m2113_7 | -| ir.cpp:2113:19:2113:32 | SideEffect | ~m2111_14 | -| ir.cpp:2113:19:2113:32 | SideEffect | ~m2113_6 | -| ir.cpp:2113:19:2113:32 | StoreValue | r2113_8 | -| ir.cpp:2113:19:2113:32 | Unary | r2113_4 | -| ir.cpp:2114:5:2114:12 | CallTarget | func:r2114_3 | -| ir.cpp:2114:5:2114:12 | CallTarget | func:r2114_10 | -| ir.cpp:2114:5:2114:12 | ChiPartial | partial:m2114_5 | -| ir.cpp:2114:5:2114:12 | ChiPartial | partial:m2114_13 | -| ir.cpp:2114:5:2114:12 | ChiTotal | total:m2113_12 | -| ir.cpp:2114:5:2114:12 | ChiTotal | total:m2114_6 | -| ir.cpp:2114:5:2114:12 | SideEffect | ~m2113_12 | -| ir.cpp:2114:5:2114:12 | SideEffect | ~m2114_6 | -| ir.cpp:2114:12:2114:12 | Address | &:r2114_1 | -| ir.cpp:2114:12:2114:12 | Address | &:r2114_2 | -| ir.cpp:2114:12:2114:12 | Address | &:r2114_2 | -| ir.cpp:2114:12:2114:12 | Arg(0) | 0:r2114_11 | -| ir.cpp:2114:12:2114:12 | ChiPartial | partial:m2114_8 | -| ir.cpp:2114:12:2114:12 | ChiTotal | total:m2113_14 | -| ir.cpp:2114:12:2114:12 | Load | m2113_15 | -| ir.cpp:2114:12:2114:12 | SideEffect | ~m2113_14 | -| ir.cpp:2114:12:2114:12 | Unary | r2114_1 | -| ir.cpp:2115:1:2115:1 | Address | &:r2115_1 | -| ir.cpp:2119:6:2119:26 | ChiPartial | partial:m2119_3 | -| ir.cpp:2119:6:2119:26 | ChiTotal | total:m2119_2 | -| ir.cpp:2119:6:2119:26 | SideEffect | ~m2121_5 | -| ir.cpp:2120:13:2120:13 | Address | &:r2120_1 | -| ir.cpp:2120:16:2120:19 | StoreValue | r2120_2 | -| ir.cpp:2121:3:2121:27 | CallTarget | func:r2121_1 | -| ir.cpp:2121:3:2121:27 | ChiPartial | partial:m2121_4 | -| ir.cpp:2121:3:2121:27 | ChiTotal | total:m2119_4 | -| ir.cpp:2121:3:2121:27 | SideEffect | ~m2119_4 | -| ir.cpp:2121:29:2121:29 | Arg(0) | 0:r2121_2 | -| ir.cpp:2126:5:2126:11 | Address | &:r2126_6 | -| ir.cpp:2126:5:2126:11 | ChiPartial | partial:m2126_3 | -| ir.cpp:2126:5:2126:11 | ChiTotal | total:m2126_2 | -| ir.cpp:2126:5:2126:11 | Load | m2131_4 | -| ir.cpp:2126:5:2126:11 | SideEffect | ~m2130_4 | -| ir.cpp:2127:9:2127:9 | Address | &:r2127_1 | -| ir.cpp:2127:13:2127:15 | CallTarget | func:r2127_2 | -| ir.cpp:2127:13:2127:15 | ChiPartial | partial:m2127_6 | -| ir.cpp:2127:13:2127:15 | ChiTotal | total:m2126_4 | -| ir.cpp:2127:13:2127:15 | SideEffect | ~m2126_4 | -| ir.cpp:2127:13:2127:15 | StoreValue | r2127_5 | -| ir.cpp:2127:17:2127:17 | Arg(0) | 0:r2127_3 | -| ir.cpp:2127:19:2127:19 | Arg(1) | 1:r2127_4 | -| ir.cpp:2128:9:2128:9 | Address | &:r2128_1 | -| ir.cpp:2128:9:2128:9 | Left | r2128_2 | -| ir.cpp:2128:9:2128:9 | Load | m2127_8 | -| ir.cpp:2128:9:2128:14 | Condition | r2128_4 | -| ir.cpp:2128:14:2128:14 | Right | r2128_3 | -| ir.cpp:2129:9:2129:12 | CallTarget | func:r2129_1 | -| ir.cpp:2129:9:2129:12 | ChiPartial | partial:m2129_4 | -| ir.cpp:2129:9:2129:12 | ChiTotal | total:m2127_7 | -| ir.cpp:2129:9:2129:12 | SideEffect | ~m2127_7 | -| ir.cpp:2129:14:2129:14 | Arg(0) | 0:r2129_2 | -| ir.cpp:2130:5:2130:12 | CallTarget | func:r2130_1 | -| ir.cpp:2130:5:2130:12 | ChiPartial | partial:m2130_3 | -| ir.cpp:2130:5:2130:12 | ChiTotal | total:m2127_7 | -| ir.cpp:2130:5:2130:12 | SideEffect | ~m2127_7 | -| ir.cpp:2131:5:2131:13 | Address | &:r2131_1 | -| ir.cpp:2131:12:2131:12 | Address | &:r2131_2 | -| ir.cpp:2131:12:2131:12 | Load | m2127_8 | -| ir.cpp:2131:12:2131:12 | StoreValue | r2131_3 | -| ir.cpp:2134:6:2134:17 | ChiPartial | partial:m2134_3 | -| ir.cpp:2134:6:2134:17 | ChiTotal | total:m2134_2 | -| ir.cpp:2135:5:2135:12 | CallTarget | func:r2135_1 | -| ir.cpp:2135:5:2135:12 | ChiPartial | partial:m2135_3 | -| ir.cpp:2135:5:2135:12 | ChiTotal | total:m2134_4 | -| ir.cpp:2135:5:2135:12 | SideEffect | ~m2134_4 | -| ir.cpp:2136:5:2136:8 | CallTarget | func:r2136_1 | -| ir.cpp:2136:5:2136:8 | ChiPartial | partial:m2136_4 | -| ir.cpp:2136:5:2136:8 | ChiTotal | total:m2135_4 | -| ir.cpp:2136:5:2136:8 | SideEffect | ~m2135_4 | -| ir.cpp:2136:10:2136:10 | Arg(0) | 0:r2136_2 | -| ir.cpp:2139:5:2139:16 | Address | &:r2139_6 | -| ir.cpp:2139:5:2139:16 | ChiPartial | partial:m2139_3 | -| ir.cpp:2139:5:2139:16 | ChiTotal | total:m2139_2 | -| ir.cpp:2139:5:2139:16 | Load | m2144_4 | -| ir.cpp:2139:5:2139:16 | SideEffect | ~m2143_4 | -| ir.cpp:2140:9:2140:9 | Address | &:r2140_1 | -| ir.cpp:2140:13:2140:15 | CallTarget | func:r2140_2 | -| ir.cpp:2140:13:2140:15 | ChiPartial | partial:m2140_6 | -| ir.cpp:2140:13:2140:15 | ChiTotal | total:m2139_4 | -| ir.cpp:2140:13:2140:15 | SideEffect | ~m2139_4 | -| ir.cpp:2140:13:2140:15 | StoreValue | r2140_5 | -| ir.cpp:2140:17:2140:17 | Arg(0) | 0:r2140_3 | -| ir.cpp:2140:19:2140:19 | Arg(1) | 1:r2140_4 | +| ir.cpp:1971:9:1971:9 | Left | r1971_2 | +| ir.cpp:1971:9:1971:9 | Load | m1970_6 | +| ir.cpp:1971:9:1971:14 | Condition | r1971_4 | +| ir.cpp:1971:13:1971:14 | Right | r1971_3 | +| ir.cpp:1972:9:1972:20 | CallTarget | func:r1972_1 | +| ir.cpp:1972:9:1972:20 | ChiPartial | partial:m1972_3 | +| ir.cpp:1972:9:1972:20 | ChiTotal | total:m1970_4 | +| ir.cpp:1972:9:1972:20 | SideEffect | ~m1970_4 | +| ir.cpp:1974:5:1974:13 | Address | &:r1974_1 | +| ir.cpp:1974:12:1974:12 | Address | &:r1974_2 | +| ir.cpp:1974:12:1974:12 | Load | m1970_6 | +| ir.cpp:1974:12:1974:12 | StoreValue | r1974_3 | +| ir.cpp:1977:5:1977:19 | Address | &:r1977_7 | +| ir.cpp:1977:5:1977:19 | ChiPartial | partial:m1977_3 | +| ir.cpp:1977:5:1977:19 | ChiTotal | total:m1977_2 | +| ir.cpp:1977:5:1977:19 | Load | m1978_4 | +| ir.cpp:1977:5:1977:19 | SideEffect | m1977_3 | +| ir.cpp:1977:25:1977:25 | Address | &:r1977_5 | +| ir.cpp:1978:5:1978:13 | Address | &:r1978_1 | +| ir.cpp:1978:12:1978:12 | Address | &:r1978_2 | +| ir.cpp:1978:12:1978:12 | Load | m1977_6 | +| ir.cpp:1978:12:1978:12 | StoreValue | r1978_3 | +| ir.cpp:1981:6:1981:43 | ChiPartial | partial:m1981_3 | +| ir.cpp:1981:6:1981:43 | ChiTotal | total:m1981_2 | +| ir.cpp:1981:6:1981:43 | SideEffect | ~m1989_6 | +| ir.cpp:1982:7:1982:7 | Address | &:r1982_1 | +| ir.cpp:1982:7:1982:7 | Address | &:r1982_1 | +| ir.cpp:1982:7:1982:7 | Arg(this) | this:r1982_1 | +| ir.cpp:1982:7:1982:7 | CallTarget | func:r1982_3 | +| ir.cpp:1982:7:1982:7 | ChiPartial | partial:m1982_5 | +| ir.cpp:1982:7:1982:7 | ChiPartial | partial:m1982_7 | +| ir.cpp:1982:7:1982:7 | ChiTotal | total:m1981_4 | +| ir.cpp:1982:7:1982:7 | ChiTotal | total:m1982_2 | +| ir.cpp:1982:7:1982:7 | SideEffect | ~m1981_4 | +| ir.cpp:1983:9:1983:9 | Address | &:r1983_1 | +| ir.cpp:1984:5:1984:5 | Address | &:r1984_7 | +| ir.cpp:1984:11:1984:30 | CallTarget | func:r1984_2 | +| ir.cpp:1984:11:1984:30 | ChiPartial | partial:m1984_5 | +| ir.cpp:1984:11:1984:30 | ChiTotal | total:m1982_6 | +| ir.cpp:1984:11:1984:30 | SideEffect | ~m1982_6 | +| ir.cpp:1984:11:1984:30 | StoreValue | r1984_4 | +| ir.cpp:1984:32:1984:33 | Arg(0) | 0:r1984_3 | +| ir.cpp:1985:9:1985:9 | Address | &:r1985_1 | +| ir.cpp:1986:5:1986:5 | Address | &:r1986_6 | +| ir.cpp:1986:9:1986:31 | CallTarget | func:r1986_1 | +| ir.cpp:1986:9:1986:31 | ChiPartial | partial:m1986_4 | +| ir.cpp:1986:9:1986:31 | ChiTotal | total:m1984_6 | +| ir.cpp:1986:9:1986:31 | SideEffect | ~m1984_6 | +| ir.cpp:1986:9:1986:31 | StoreValue | r1986_3 | +| ir.cpp:1986:33:1986:34 | Arg(0) | 0:r1986_2 | +| ir.cpp:1987:9:1987:9 | Address | &:r1987_1 | +| ir.cpp:1988:5:1988:5 | Address | &:r1988_6 | +| ir.cpp:1988:9:1988:23 | CallTarget | func:r1988_1 | +| ir.cpp:1988:9:1988:23 | ChiPartial | partial:m1988_4 | +| ir.cpp:1988:9:1988:23 | ChiTotal | total:m1986_5 | +| ir.cpp:1988:9:1988:23 | SideEffect | ~m1986_5 | +| ir.cpp:1988:9:1988:23 | StoreValue | r1988_3 | +| ir.cpp:1988:25:1988:26 | Arg(0) | 0:r1988_2 | +| ir.cpp:1989:1:1989:1 | Address | &:r1989_2 | +| ir.cpp:1989:1:1989:1 | Address | &:r1989_2 | +| ir.cpp:1989:1:1989:1 | Arg(this) | this:r1989_2 | +| ir.cpp:1989:1:1989:1 | CallTarget | func:r1989_3 | +| ir.cpp:1989:1:1989:1 | ChiPartial | partial:m1989_5 | +| ir.cpp:1989:1:1989:1 | ChiPartial | partial:m1989_8 | +| ir.cpp:1989:1:1989:1 | ChiTotal | total:m1982_8 | +| ir.cpp:1989:1:1989:1 | ChiTotal | total:m1988_5 | +| ir.cpp:1989:1:1989:1 | SideEffect | m1982_8 | +| ir.cpp:1989:1:1989:1 | SideEffect | ~m1988_5 | +| ir.cpp:1991:6:1991:23 | ChiPartial | partial:m1991_3 | +| ir.cpp:1991:6:1991:23 | ChiTotal | total:m1991_2 | +| ir.cpp:1991:6:1991:23 | SideEffect | m1991_3 | +| ir.cpp:1992:7:1992:7 | Address | &:r1992_1 | +| ir.cpp:1992:10:1992:10 | Address | &:r1992_3 | +| ir.cpp:1993:3:1993:3 | Address | &:r1993_5 | +| ir.cpp:1993:7:1993:7 | Address | &:r1993_2 | +| ir.cpp:1993:7:1993:7 | Address | &:r1993_2 | +| ir.cpp:1993:7:1993:12 | Load | m1993_3 | +| ir.cpp:1993:7:1993:12 | StoreValue | r1993_4 | +| ir.cpp:1993:11:1993:12 | StoreValue | r1993_1 | +| ir.cpp:1996:6:1996:38 | ChiPartial | partial:m1996_3 | +| ir.cpp:1996:6:1996:38 | ChiTotal | total:m1996_2 | +| ir.cpp:1996:6:1996:38 | SideEffect | m1996_3 | +| ir.cpp:1997:7:1997:7 | Address | &:r1997_1 | +| ir.cpp:1997:10:1997:10 | Address | &:r1997_3 | +| ir.cpp:1997:13:1997:14 | StoreValue | r1997_4 | +| ir.cpp:1998:3:1998:3 | Address | &:r1998_7 | +| ir.cpp:1998:8:1998:8 | Address | &:r1998_2 | +| ir.cpp:1998:8:1998:8 | Address | &:r1998_2 | +| ir.cpp:1998:8:1998:8 | Address | &:r1998_2 | +| ir.cpp:1998:8:1998:8 | Left | r1998_3 | +| ir.cpp:1998:8:1998:8 | Load | m1997_5 | +| ir.cpp:1998:8:1998:14 | Load | m1998_5 | +| ir.cpp:1998:8:1998:14 | StoreValue | r1998_4 | +| ir.cpp:1998:8:1998:14 | StoreValue | r1998_6 | +| ir.cpp:1998:13:1998:14 | Right | r1998_1 | +| ir.cpp:2005:15:2005:43 | Address | &:r2005_5 | +| ir.cpp:2005:15:2005:43 | ChiPartial | partial:m2005_3 | +| ir.cpp:2005:15:2005:43 | ChiTotal | total:m2005_2 | +| ir.cpp:2005:15:2005:43 | Load | m2006_4 | +| ir.cpp:2005:15:2005:43 | SideEffect | m2005_3 | +| ir.cpp:2006:9:2006:17 | Address | &:r2006_1 | +| ir.cpp:2006:16:2006:16 | StoreValue | r2006_3 | +| ir.cpp:2006:16:2006:16 | Unary | r2006_2 | +| ir.cpp:2008:14:2008:39 | Address | &:r2008_5 | +| ir.cpp:2008:14:2008:39 | ChiPartial | partial:m2008_3 | +| ir.cpp:2008:14:2008:39 | ChiTotal | total:m2008_2 | +| ir.cpp:2008:14:2008:39 | Load | m2009_4 | +| ir.cpp:2008:14:2008:39 | SideEffect | m2008_3 | +| ir.cpp:2009:9:2009:17 | Address | &:r2009_1 | +| ir.cpp:2009:16:2009:16 | Address | &:r2009_2 | +| ir.cpp:2009:16:2009:16 | Load | ~m2008_3 | +| ir.cpp:2009:16:2009:16 | StoreValue | r2009_3 | +| ir.cpp:2013:6:2013:55 | ChiPartial | partial:m2013_3 | +| ir.cpp:2013:6:2013:55 | ChiTotal | total:m2013_2 | +| ir.cpp:2013:6:2013:55 | SideEffect | ~m2028_4 | +| ir.cpp:2014:7:2014:7 | Address | &:r2014_1 | +| ir.cpp:2016:7:2016:35 | CallTarget | func:r2016_2 | +| ir.cpp:2016:7:2016:35 | ChiPartial | partial:m2016_4 | +| ir.cpp:2016:7:2016:35 | ChiTotal | total:m2013_4 | +| ir.cpp:2016:7:2016:35 | SideEffect | ~m2013_4 | +| ir.cpp:2016:7:2016:35 | Unary | r2016_3 | +| ir.cpp:2017:5:2017:36 | CallTarget | func:r2017_1 | +| ir.cpp:2017:5:2017:36 | ChiPartial | partial:m2017_3 | +| ir.cpp:2017:5:2017:36 | ChiTotal | total:m2016_5 | +| ir.cpp:2017:5:2017:36 | SideEffect | ~m2016_5 | +| ir.cpp:2017:5:2017:36 | Unary | r2017_2 | +| ir.cpp:2018:7:2018:32 | CallTarget | func:r2018_2 | +| ir.cpp:2018:7:2018:32 | ChiPartial | partial:m2018_4 | +| ir.cpp:2018:7:2018:32 | ChiTotal | total:m2017_4 | +| ir.cpp:2018:7:2018:32 | SideEffect | ~m2017_4 | +| ir.cpp:2019:5:2019:33 | CallTarget | func:r2019_1 | +| ir.cpp:2019:5:2019:33 | ChiPartial | partial:m2019_3 | +| ir.cpp:2019:5:2019:33 | ChiTotal | total:m2018_5 | +| ir.cpp:2019:5:2019:33 | SideEffect | ~m2018_5 | +| ir.cpp:2021:7:2021:7 | Address | &:r2021_1 | +| ir.cpp:2022:5:2022:5 | Address | &:r2022_7 | +| ir.cpp:2022:11:2022:39 | Address | &:r2022_3 | +| ir.cpp:2022:11:2022:39 | CallTarget | func:r2022_2 | +| ir.cpp:2022:11:2022:39 | ChiPartial | partial:m2022_4 | +| ir.cpp:2022:11:2022:39 | ChiTotal | total:m2019_4 | +| ir.cpp:2022:11:2022:39 | SideEffect | ~m2019_4 | +| ir.cpp:2022:40:2022:42 | Load | ~m2022_5 | +| ir.cpp:2022:40:2022:42 | StoreValue | r2022_6 | +| ir.cpp:2023:7:2023:7 | Address | &:r2023_1 | +| ir.cpp:2024:5:2024:5 | Address | &:r2024_6 | +| ir.cpp:2024:9:2024:40 | Address | &:r2024_2 | +| ir.cpp:2024:9:2024:40 | CallTarget | func:r2024_1 | +| ir.cpp:2024:9:2024:40 | ChiPartial | partial:m2024_3 | +| ir.cpp:2024:9:2024:40 | ChiTotal | total:m2022_5 | +| ir.cpp:2024:9:2024:40 | SideEffect | ~m2022_5 | +| ir.cpp:2024:41:2024:43 | Load | ~m2024_4 | +| ir.cpp:2024:41:2024:43 | StoreValue | r2024_5 | +| ir.cpp:2025:7:2025:7 | Address | &:r2025_1 | +| ir.cpp:2026:5:2026:5 | Address | &:r2026_6 | +| ir.cpp:2026:11:2026:36 | CallTarget | func:r2026_2 | +| ir.cpp:2026:11:2026:36 | ChiPartial | partial:m2026_4 | +| ir.cpp:2026:11:2026:36 | ChiTotal | total:m2024_4 | +| ir.cpp:2026:11:2026:36 | SideEffect | ~m2024_4 | +| ir.cpp:2026:11:2026:36 | StoreValue | r2026_3 | +| ir.cpp:2027:7:2027:7 | Address | &:r2027_1 | +| ir.cpp:2028:5:2028:5 | Address | &:r2028_5 | +| ir.cpp:2028:9:2028:37 | CallTarget | func:r2028_1 | +| ir.cpp:2028:9:2028:37 | ChiPartial | partial:m2028_3 | +| ir.cpp:2028:9:2028:37 | ChiTotal | total:m2026_5 | +| ir.cpp:2028:9:2028:37 | SideEffect | ~m2026_5 | +| ir.cpp:2028:9:2028:37 | StoreValue | r2028_2 | +| ir.cpp:2031:6:2031:18 | ChiPartial | partial:m2031_3 | +| ir.cpp:2031:6:2031:18 | ChiTotal | total:m2031_2 | +| ir.cpp:2031:6:2031:18 | SideEffect | m2031_3 | +| ir.cpp:2032:18:2032:18 | Address | &:r2032_1 | +| ir.cpp:2033:5:2033:5 | Address | &:r2033_1 | +| ir.cpp:2033:5:2033:5 | Load | m2032_2 | +| ir.cpp:2042:6:2042:24 | ChiPartial | partial:m2042_3 | +| ir.cpp:2042:6:2042:24 | ChiTotal | total:m2042_2 | +| ir.cpp:2042:6:2042:24 | SideEffect | ~m2050_5 | +| ir.cpp:2043:12:2043:12 | Address | &:r2043_1 | +| ir.cpp:2045:5:2045:19 | ChiPartial | partial:m2045_7 | +| ir.cpp:2045:5:2045:19 | ChiTotal | total:m2045_5 | +| ir.cpp:2045:7:2045:12 | CallTarget | func:r2045_2 | +| ir.cpp:2045:7:2045:12 | ChiPartial | partial:m2045_4 | +| ir.cpp:2045:7:2045:12 | ChiTotal | total:m2042_4 | +| ir.cpp:2045:7:2045:12 | SideEffect | ~m2042_4 | +| ir.cpp:2045:7:2045:12 | Unary | r2045_3 | +| ir.cpp:2045:13:2045:16 | Address | &:r2045_6 | +| ir.cpp:2046:5:2046:19 | ChiPartial | partial:m2046_7 | +| ir.cpp:2046:5:2046:19 | ChiTotal | total:m2046_5 | +| ir.cpp:2046:7:2046:12 | CallTarget | func:r2046_2 | +| ir.cpp:2046:7:2046:12 | ChiPartial | partial:m2046_4 | +| ir.cpp:2046:7:2046:12 | ChiTotal | total:m2045_8 | +| ir.cpp:2046:7:2046:12 | SideEffect | ~m2045_8 | +| ir.cpp:2046:7:2046:12 | Unary | r2046_3 | +| ir.cpp:2046:13:2046:16 | Address | &:r2046_6 | +| ir.cpp:2047:5:2047:15 | Address | &:r2047_1 | +| ir.cpp:2047:5:2047:15 | Address | &:r2047_1 | +| ir.cpp:2047:7:2047:13 | CallTarget | func:r2047_3 | +| ir.cpp:2047:7:2047:13 | ChiPartial | partial:m2047_5 | +| ir.cpp:2047:7:2047:13 | ChiTotal | total:m2046_8 | +| ir.cpp:2047:7:2047:13 | SideEffect | ~m2046_8 | +| ir.cpp:2047:7:2047:13 | StoreValue | r2047_4 | +| ir.cpp:2048:5:2048:18 | CallTarget | func:r2048_1 | +| ir.cpp:2048:5:2048:18 | ChiPartial | partial:m2048_3 | +| ir.cpp:2048:5:2048:18 | ChiTotal | total:m2047_6 | +| ir.cpp:2048:5:2048:18 | SideEffect | ~m2047_6 | +| ir.cpp:2048:5:2048:18 | Unary | r2048_2 | +| ir.cpp:2048:5:2048:25 | ChiPartial | partial:m2048_6 | +| ir.cpp:2048:5:2048:25 | ChiTotal | total:m2048_4 | +| ir.cpp:2048:19:2048:22 | Address | &:r2048_5 | +| ir.cpp:2049:5:2049:18 | CallTarget | func:r2049_1 | +| ir.cpp:2049:5:2049:18 | ChiPartial | partial:m2049_3 | +| ir.cpp:2049:5:2049:18 | ChiTotal | total:m2048_7 | +| ir.cpp:2049:5:2049:18 | SideEffect | ~m2048_7 | +| ir.cpp:2049:5:2049:18 | Unary | r2049_2 | +| ir.cpp:2049:5:2049:25 | ChiPartial | partial:m2049_6 | +| ir.cpp:2049:5:2049:25 | ChiTotal | total:m2049_4 | +| ir.cpp:2049:19:2049:22 | Address | &:r2049_5 | +| ir.cpp:2050:5:2050:19 | CallTarget | func:r2050_2 | +| ir.cpp:2050:5:2050:19 | ChiPartial | partial:m2050_4 | +| ir.cpp:2050:5:2050:19 | ChiTotal | total:m2049_7 | +| ir.cpp:2050:5:2050:19 | SideEffect | ~m2049_7 | +| ir.cpp:2050:5:2050:19 | StoreValue | r2050_3 | +| ir.cpp:2050:5:2050:21 | Address | &:r2050_1 | +| ir.cpp:2050:5:2050:21 | Address | &:r2050_1 | +| ir.cpp:2053:6:2053:21 | ChiPartial | partial:m2053_3 | +| ir.cpp:2053:6:2053:21 | ChiTotal | total:m2053_2 | +| ir.cpp:2053:6:2053:21 | SideEffect | ~m2057_6 | +| ir.cpp:2054:7:2054:7 | Address | &:r2054_1 | +| ir.cpp:2054:7:2054:7 | Address | &:r2054_1 | +| ir.cpp:2054:7:2054:7 | Arg(this) | this:r2054_1 | +| ir.cpp:2054:7:2054:7 | CallTarget | func:r2054_3 | +| ir.cpp:2054:7:2054:7 | ChiPartial | partial:m2054_5 | +| ir.cpp:2054:7:2054:7 | ChiPartial | partial:m2054_7 | +| ir.cpp:2054:7:2054:7 | ChiTotal | total:m2053_4 | +| ir.cpp:2054:7:2054:7 | ChiTotal | total:m2054_2 | +| ir.cpp:2054:7:2054:7 | SideEffect | ~m2053_4 | +| ir.cpp:2055:11:2055:13 | Address | &:r2055_1 | +| ir.cpp:2055:23:2055:45 | StoreValue | r2055_2 | +| ir.cpp:2056:5:2056:7 | Address | &:r2056_3 | +| ir.cpp:2056:13:2056:32 | StoreValue | r2056_2 | +| ir.cpp:2057:1:2057:1 | Address | &:r2057_2 | +| ir.cpp:2057:1:2057:1 | Address | &:r2057_2 | +| ir.cpp:2057:1:2057:1 | Arg(this) | this:r2057_2 | +| ir.cpp:2057:1:2057:1 | CallTarget | func:r2057_3 | +| ir.cpp:2057:1:2057:1 | ChiPartial | partial:m2057_5 | +| ir.cpp:2057:1:2057:1 | ChiPartial | partial:m2057_8 | +| ir.cpp:2057:1:2057:1 | ChiTotal | total:m2054_6 | +| ir.cpp:2057:1:2057:1 | ChiTotal | total:m2054_8 | +| ir.cpp:2057:1:2057:1 | SideEffect | m2054_8 | +| ir.cpp:2057:1:2057:1 | SideEffect | ~m2054_6 | +| ir.cpp:2059:6:2059:19 | ChiPartial | partial:m2059_3 | +| ir.cpp:2059:6:2059:19 | ChiTotal | total:m2059_2 | +| ir.cpp:2059:6:2059:19 | SideEffect | ~m2063_9 | +| ir.cpp:2059:26:2059:26 | Address | &:r2059_5 | +| ir.cpp:2059:33:2059:33 | Address | &:r2059_7 | +| ir.cpp:2059:40:2059:40 | Address | &:r2059_9 | +| ir.cpp:2059:47:2059:47 | Address | &:r2059_11 | +| ir.cpp:2060:5:2060:5 | Address | &:r2060_7 | +| ir.cpp:2060:9:2060:9 | Address | &:r2060_1 | +| ir.cpp:2060:9:2060:9 | Condition | r2060_2 | +| ir.cpp:2060:9:2060:9 | Load | m2059_6 | +| ir.cpp:2060:9:2060:17 | Address | &:r2060_5 | +| ir.cpp:2060:9:2060:17 | Address | &:r2060_11 | +| ir.cpp:2060:9:2060:17 | Address | &:r2060_15 | +| ir.cpp:2060:9:2060:17 | Load | m2060_4 | +| ir.cpp:2060:9:2060:17 | Phi | from 2:m2060_12 | +| ir.cpp:2060:9:2060:17 | Phi | from 3:m2060_16 | +| ir.cpp:2060:9:2060:17 | StoreValue | r2060_6 | +| ir.cpp:2060:13:2060:13 | Address | &:r2060_9 | +| ir.cpp:2060:13:2060:13 | Load | m2059_8 | +| ir.cpp:2060:13:2060:13 | StoreValue | r2060_10 | +| ir.cpp:2060:17:2060:17 | Address | &:r2060_13 | +| ir.cpp:2060:17:2060:17 | Load | m2059_10 | +| ir.cpp:2060:17:2060:17 | StoreValue | r2060_14 | +| ir.cpp:2061:5:2061:5 | Address | &:r2061_7 | +| ir.cpp:2061:9:2061:9 | Address | &:r2061_1 | +| ir.cpp:2061:9:2061:9 | Condition | r2061_2 | +| ir.cpp:2061:9:2061:9 | Load | m2059_6 | +| ir.cpp:2061:9:2061:17 | Address | &:r2061_5 | +| ir.cpp:2061:9:2061:17 | Address | &:r2061_11 | +| ir.cpp:2061:9:2061:17 | Address | &:r2061_14 | +| ir.cpp:2061:9:2061:17 | Load | m2061_4 | +| ir.cpp:2061:9:2061:17 | Phi | from 5:m2061_12 | +| ir.cpp:2061:9:2061:17 | Phi | from 6:m2061_15 | +| ir.cpp:2061:9:2061:17 | StoreValue | r2061_6 | +| ir.cpp:2061:13:2061:13 | Address | &:r2061_9 | +| ir.cpp:2061:13:2061:13 | Load | m2059_8 | +| ir.cpp:2061:13:2061:13 | StoreValue | r2061_10 | +| ir.cpp:2061:17:2061:17 | StoreValue | r2061_13 | +| ir.cpp:2062:5:2062:5 | Address | &:r2062_7 | +| ir.cpp:2062:9:2062:9 | Address | &:r2062_1 | +| ir.cpp:2062:9:2062:9 | Condition | r2062_2 | +| ir.cpp:2062:9:2062:9 | Load | m2059_6 | +| ir.cpp:2062:9:2062:17 | Address | &:r2062_5 | +| ir.cpp:2062:9:2062:17 | Address | &:r2062_10 | +| ir.cpp:2062:9:2062:17 | Address | &:r2062_13 | +| ir.cpp:2062:9:2062:17 | Load | m2062_4 | +| ir.cpp:2062:9:2062:17 | Phi | from 8:m2062_11 | +| ir.cpp:2062:9:2062:17 | Phi | from 9:m2062_14 | +| ir.cpp:2062:9:2062:17 | StoreValue | r2062_6 | +| ir.cpp:2062:13:2062:13 | StoreValue | r2062_9 | +| ir.cpp:2062:17:2062:17 | StoreValue | r2062_12 | +| ir.cpp:2063:5:2063:19 | ChiPartial | partial:m2063_8 | +| ir.cpp:2063:5:2063:19 | ChiTotal | total:m2059_4 | +| ir.cpp:2063:6:2063:6 | Address | &:r2063_2 | +| ir.cpp:2063:6:2063:6 | Condition | r2063_3 | +| ir.cpp:2063:6:2063:6 | Load | m2059_6 | +| ir.cpp:2063:6:2063:14 | Address | &:r2063_6 | +| ir.cpp:2063:6:2063:14 | Address | &:r2063_7 | +| ir.cpp:2063:6:2063:14 | Address | &:r2063_11 | +| ir.cpp:2063:6:2063:14 | Address | &:r2063_14 | +| ir.cpp:2063:6:2063:14 | Load | m2063_5 | +| ir.cpp:2063:6:2063:14 | Phi | from 11:m2063_12 | +| ir.cpp:2063:6:2063:14 | Phi | from 12:m2063_15 | +| ir.cpp:2063:10:2063:10 | StoreValue | r2063_10 | +| ir.cpp:2063:14:2063:14 | StoreValue | r2063_13 | +| ir.cpp:2063:19:2063:19 | StoreValue | r2063_1 | +| ir.cpp:2069:6:2069:22 | ChiPartial | partial:m2069_3 | +| ir.cpp:2069:6:2069:22 | ChiTotal | total:m2069_2 | +| ir.cpp:2069:6:2069:22 | SideEffect | m2069_3 | +| ir.cpp:2069:29:2069:29 | Address | &:r2069_5 | +| ir.cpp:2069:46:2069:46 | Address | &:r2069_7 | +| ir.cpp:2069:63:2069:63 | Address | &:r2069_9 | +| ir.cpp:2069:80:2069:80 | Address | &:r2069_11 | +| ir.cpp:2070:5:2070:5 | Address | &:r2070_7 | +| ir.cpp:2070:9:2070:9 | Address | &:r2070_1 | +| ir.cpp:2070:9:2070:9 | Condition | r2070_2 | +| ir.cpp:2070:9:2070:9 | Load | m2069_6 | +| ir.cpp:2070:9:2070:17 | Address | &:r2070_5 | +| ir.cpp:2070:9:2070:17 | Address | &:r2070_11 | +| ir.cpp:2070:9:2070:17 | Address | &:r2070_15 | +| ir.cpp:2070:9:2070:17 | Load | m2070_4 | +| ir.cpp:2070:9:2070:17 | Phi | from 2:m2070_12 | +| ir.cpp:2070:9:2070:17 | Phi | from 3:m2070_16 | +| ir.cpp:2070:9:2070:17 | StoreValue | r2070_6 | +| ir.cpp:2070:13:2070:13 | Address | &:r2070_9 | +| ir.cpp:2070:13:2070:13 | Load | m2069_8 | +| ir.cpp:2070:13:2070:13 | StoreValue | r2070_10 | +| ir.cpp:2070:17:2070:17 | Address | &:r2070_13 | +| ir.cpp:2070:17:2070:17 | Load | m2069_10 | +| ir.cpp:2070:17:2070:17 | StoreValue | r2070_14 | +| ir.cpp:2071:5:2071:5 | Address | &:r2071_10 | +| ir.cpp:2071:9:2071:9 | Address | &:r2071_2 | +| ir.cpp:2071:9:2071:9 | Address | &:r2071_6 | +| ir.cpp:2071:9:2071:9 | Address | &:r2071_17 | +| ir.cpp:2071:9:2071:9 | Address | &:r2071_23 | +| ir.cpp:2071:9:2071:9 | Condition | r2071_3 | +| ir.cpp:2071:9:2071:9 | Load | m2069_6 | +| ir.cpp:2071:9:2071:9 | Load | m2071_5 | +| ir.cpp:2071:9:2071:9 | Phi | from 5:m2071_18 | +| ir.cpp:2071:9:2071:9 | Phi | from 6:m2071_24 | +| ir.cpp:2071:9:2071:9 | StoreValue | r2071_7 | +| ir.cpp:2071:9:2071:31 | Address | &:r2071_1 | +| ir.cpp:2071:9:2071:31 | Address | &:r2071_1 | +| ir.cpp:2071:9:2071:31 | Load | m2071_8 | +| ir.cpp:2071:9:2071:31 | StoreValue | r2071_9 | +| ir.cpp:2071:13:2071:13 | Address | &:r2071_12 | +| ir.cpp:2071:13:2071:13 | Address | &:r2071_12 | +| ir.cpp:2071:13:2071:13 | Address | &:r2071_13 | +| ir.cpp:2071:13:2071:13 | Load | m2069_8 | +| ir.cpp:2071:13:2071:13 | Load | m2071_15 | +| ir.cpp:2071:13:2071:13 | StoreValue | r2071_14 | +| ir.cpp:2071:13:2071:13 | StoreValue | r2071_16 | +| ir.cpp:2071:17:2071:31 | Address | &:r2071_19 | +| ir.cpp:2071:17:2071:31 | Address | &:r2071_19 | +| ir.cpp:2071:17:2071:31 | Load | m2071_21 | +| ir.cpp:2071:17:2071:31 | StoreValue | r2071_20 | +| ir.cpp:2071:17:2071:31 | StoreValue | r2071_22 | +| ir.cpp:2072:5:2072:5 | Address | &:r2072_10 | +| ir.cpp:2072:9:2072:9 | Address | &:r2072_2 | +| ir.cpp:2072:9:2072:9 | Address | &:r2072_6 | +| ir.cpp:2072:9:2072:9 | Address | &:r2072_16 | +| ir.cpp:2072:9:2072:9 | Address | &:r2072_22 | +| ir.cpp:2072:9:2072:9 | Condition | r2072_3 | +| ir.cpp:2072:9:2072:9 | Load | m2069_6 | +| ir.cpp:2072:9:2072:9 | Load | m2072_5 | +| ir.cpp:2072:9:2072:9 | Phi | from 8:m2072_17 | +| ir.cpp:2072:9:2072:9 | Phi | from 9:m2072_23 | +| ir.cpp:2072:9:2072:9 | StoreValue | r2072_7 | +| ir.cpp:2072:9:2072:45 | Address | &:r2072_1 | +| ir.cpp:2072:9:2072:45 | Address | &:r2072_1 | +| ir.cpp:2072:9:2072:45 | Load | m2072_8 | +| ir.cpp:2072:9:2072:45 | StoreValue | r2072_9 | +| ir.cpp:2072:13:2072:27 | Address | &:r2072_12 | +| ir.cpp:2072:13:2072:27 | Address | &:r2072_12 | +| ir.cpp:2072:13:2072:27 | Load | m2072_14 | +| ir.cpp:2072:13:2072:27 | StoreValue | r2072_13 | +| ir.cpp:2072:13:2072:27 | StoreValue | r2072_15 | +| ir.cpp:2072:31:2072:45 | Address | &:r2072_18 | +| ir.cpp:2072:31:2072:45 | Address | &:r2072_18 | +| ir.cpp:2072:31:2072:45 | Load | m2072_20 | +| ir.cpp:2072:31:2072:45 | StoreValue | r2072_19 | +| ir.cpp:2072:31:2072:45 | StoreValue | r2072_21 | +| ir.cpp:2073:6:2073:6 | Address | &:r2073_11 | +| ir.cpp:2073:6:2073:6 | Unary | r2073_11 | +| ir.cpp:2073:6:2073:18 | Address | &:r2073_13 | +| ir.cpp:2073:10:2073:10 | Address | &:r2073_5 | +| ir.cpp:2073:10:2073:10 | Condition | r2073_6 | +| ir.cpp:2073:10:2073:10 | Load | m2069_6 | +| ir.cpp:2073:10:2073:18 | Address | &:r2073_9 | +| ir.cpp:2073:10:2073:18 | Address | &:r2073_17 | +| ir.cpp:2073:10:2073:18 | Address | &:r2073_21 | +| ir.cpp:2073:10:2073:18 | Load | m2073_8 | +| ir.cpp:2073:10:2073:18 | Phi | from 11:m2073_18 | +| ir.cpp:2073:10:2073:18 | Phi | from 12:m2073_22 | +| ir.cpp:2073:10:2073:18 | StoreValue | r2073_10 | +| ir.cpp:2073:14:2073:14 | Address | &:r2073_15 | +| ir.cpp:2073:14:2073:14 | Load | m2069_8 | +| ir.cpp:2073:14:2073:14 | StoreValue | r2073_16 | +| ir.cpp:2073:18:2073:18 | Address | &:r2073_19 | +| ir.cpp:2073:18:2073:18 | Load | m2069_10 | +| ir.cpp:2073:18:2073:18 | StoreValue | r2073_20 | +| ir.cpp:2073:23:2073:37 | Address | &:r2073_1 | +| ir.cpp:2073:23:2073:37 | Address | &:r2073_1 | +| ir.cpp:2073:23:2073:37 | Load | m2073_3 | +| ir.cpp:2073:23:2073:37 | StoreValue | r2073_2 | +| ir.cpp:2073:23:2073:37 | StoreValue | r2073_4 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_5 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_5 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_5 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_5 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_5 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_5 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_7 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_7 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_7 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_7 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_7 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_7 | +| ir.cpp:2076:8:2076:8 | Address | &:r2076_10 | +| ir.cpp:2076:8:2076:8 | ChiPartial | partial:m2076_3 | +| ir.cpp:2076:8:2076:8 | ChiPartial | partial:m2076_3 | +| ir.cpp:2076:8:2076:8 | ChiPartial | partial:m2076_3 | +| ir.cpp:2076:8:2076:8 | ChiTotal | total:m2076_2 | +| ir.cpp:2076:8:2076:8 | ChiTotal | total:m2076_2 | +| ir.cpp:2076:8:2076:8 | ChiTotal | total:m2076_2 | +| ir.cpp:2076:8:2076:8 | Load | m0_10 | +| ir.cpp:2076:8:2076:8 | Load | m2076_6 | +| ir.cpp:2076:8:2076:8 | Load | m2076_6 | +| ir.cpp:2076:8:2076:8 | Load | m2076_6 | +| ir.cpp:2076:8:2076:8 | SideEffect | m2076_3 | +| ir.cpp:2076:8:2076:8 | SideEffect | m2076_3 | +| ir.cpp:2076:8:2076:8 | SideEffect | m2076_3 | +| ir.cpp:2076:8:2076:8 | SideEffect | m2076_8 | +| ir.cpp:2076:8:2076:8 | SideEffect | m2076_8 | +| ir.cpp:2076:8:2076:8 | SideEffect | m2076_8 | +| ir.cpp:2077:13:2077:29 | Address | &:r2077_5 | +| ir.cpp:2077:13:2077:29 | Address | &:r2077_5 | +| ir.cpp:2077:13:2077:29 | Address | &:r2077_7 | +| ir.cpp:2077:13:2077:29 | Address | &:r2077_7 | +| ir.cpp:2077:13:2077:29 | ChiPartial | partial:m2077_3 | +| ir.cpp:2077:13:2077:29 | ChiTotal | total:m2077_2 | +| ir.cpp:2077:13:2077:29 | Load | m2077_6 | +| ir.cpp:2077:13:2077:29 | SideEffect | m2077_3 | +| ir.cpp:2077:13:2077:29 | SideEffect | m2077_8 | +| ir.cpp:2080:6:2080:25 | ChiPartial | partial:m2080_3 | +| ir.cpp:2080:6:2080:25 | ChiTotal | total:m2080_2 | +| ir.cpp:2080:6:2080:25 | SideEffect | ~m2084_32 | +| ir.cpp:2080:32:2080:32 | Address | &:r2080_5 | +| ir.cpp:2080:52:2080:52 | Address | &:r2080_7 | +| ir.cpp:2080:72:2080:72 | Address | &:r2080_9 | +| ir.cpp:2080:92:2080:92 | Address | &:r2080_11 | +| ir.cpp:2081:5:2081:5 | Address | &:r2081_1 | +| ir.cpp:2081:5:2081:5 | Address | &:r2081_1 | +| ir.cpp:2081:5:2081:5 | Arg(this) | this:r2081_1 | +| ir.cpp:2081:5:2081:5 | ChiPartial | partial:m2081_16 | +| ir.cpp:2081:5:2081:5 | ChiTotal | total:m2080_12 | +| ir.cpp:2081:5:2081:5 | SideEffect | m2080_12 | +| ir.cpp:2081:7:2081:7 | CallTarget | func:r2081_2 | +| ir.cpp:2081:7:2081:7 | ChiPartial | partial:m2081_12 | +| ir.cpp:2081:7:2081:7 | ChiTotal | total:m2080_4 | +| ir.cpp:2081:7:2081:7 | SideEffect | ~m2080_4 | +| ir.cpp:2081:7:2081:7 | Unary | r2081_11 | +| ir.cpp:2081:9:2081:9 | Address | &:r2081_3 | +| ir.cpp:2081:9:2081:9 | Condition | r2081_4 | +| ir.cpp:2081:9:2081:9 | Load | m2080_6 | +| ir.cpp:2081:9:2081:17 | Address | &:r2081_7 | +| ir.cpp:2081:9:2081:17 | Address | &:r2081_10 | +| ir.cpp:2081:9:2081:17 | Address | &:r2081_20 | +| ir.cpp:2081:9:2081:17 | Address | &:r2081_23 | +| ir.cpp:2081:9:2081:17 | Arg(0) | 0:r2081_10 | +| ir.cpp:2081:9:2081:17 | Load | m2081_6 | +| ir.cpp:2081:9:2081:17 | Phi | from 2:m2081_21 | +| ir.cpp:2081:9:2081:17 | Phi | from 3:m2081_24 | +| ir.cpp:2081:9:2081:17 | SideEffect | ~m2081_13 | +| ir.cpp:2081:9:2081:17 | Unary | r2081_8 | +| ir.cpp:2081:9:2081:17 | Unary | r2081_9 | +| ir.cpp:2081:13:2081:13 | StoreValue | r2081_19 | +| ir.cpp:2081:17:2081:17 | StoreValue | r2081_22 | +| ir.cpp:2082:5:2082:5 | Address | &:r2082_1 | +| ir.cpp:2082:5:2082:5 | Address | &:r2082_1 | +| ir.cpp:2082:5:2082:5 | Arg(this) | this:r2082_1 | +| ir.cpp:2082:5:2082:5 | ChiPartial | partial:m2082_19 | +| ir.cpp:2082:5:2082:5 | ChiTotal | total:m2081_17 | +| ir.cpp:2082:5:2082:5 | SideEffect | m2081_17 | +| ir.cpp:2082:7:2082:7 | CallTarget | func:r2082_2 | +| ir.cpp:2082:7:2082:7 | ChiPartial | partial:m2082_15 | +| ir.cpp:2082:7:2082:7 | ChiTotal | total:m2082_7 | +| ir.cpp:2082:7:2082:7 | SideEffect | ~m2082_7 | +| ir.cpp:2082:7:2082:7 | Unary | r2082_14 | +| ir.cpp:2082:9:2082:9 | Address | &:r2082_4 | +| ir.cpp:2082:9:2082:9 | Address | &:r2082_9 | +| ir.cpp:2082:9:2082:9 | Address | &:r2082_35 | +| ir.cpp:2082:9:2082:9 | Address | &:r2082_46 | +| ir.cpp:2082:9:2082:9 | Condition | r2082_5 | +| ir.cpp:2082:9:2082:9 | Load | m2080_6 | +| ir.cpp:2082:9:2082:9 | Load | m2082_8 | +| ir.cpp:2082:9:2082:9 | Phi | from 5:m2082_36 | +| ir.cpp:2082:9:2082:9 | Phi | from 5:~m2082_30 | +| ir.cpp:2082:9:2082:9 | Phi | from 6:m2082_47 | +| ir.cpp:2082:9:2082:9 | Phi | from 6:~m2082_42 | +| ir.cpp:2082:9:2082:9 | StoreValue | r2082_10 | +| ir.cpp:2082:9:2082:34 | Address | &:r2082_3 | +| ir.cpp:2082:9:2082:34 | Address | &:r2082_13 | +| ir.cpp:2082:9:2082:34 | Arg(0) | 0:r2082_13 | +| ir.cpp:2082:9:2082:34 | SideEffect | ~m2082_11 | +| ir.cpp:2082:9:2082:34 | Unary | r2082_3 | +| ir.cpp:2082:9:2082:34 | Unary | r2082_12 | +| ir.cpp:2082:13:2082:13 | Address | &:r2082_22 | +| ir.cpp:2082:13:2082:13 | Address | &:r2082_22 | +| ir.cpp:2082:13:2082:13 | Address | &:r2082_22 | +| ir.cpp:2082:13:2082:13 | Address | &:r2082_27 | +| ir.cpp:2082:13:2082:13 | Arg(0) | 0:r2082_27 | +| ir.cpp:2082:13:2082:13 | Arg(this) | this:r2082_22 | +| ir.cpp:2082:13:2082:13 | CallTarget | func:r2082_24 | +| ir.cpp:2082:13:2082:13 | ChiPartial | partial:m2082_29 | +| ir.cpp:2082:13:2082:13 | ChiPartial | partial:m2082_32 | +| ir.cpp:2082:13:2082:13 | ChiTotal | total:m2081_13 | +| ir.cpp:2082:13:2082:13 | ChiTotal | total:m2082_23 | +| ir.cpp:2082:13:2082:13 | Load | m2082_33 | +| ir.cpp:2082:13:2082:13 | SideEffect | ~m2080_8 | +| ir.cpp:2082:13:2082:13 | SideEffect | ~m2081_13 | +| ir.cpp:2082:13:2082:13 | StoreValue | r2082_34 | +| ir.cpp:2082:13:2082:13 | Unary | r2082_25 | +| ir.cpp:2082:13:2082:13 | Unary | r2082_26 | +| ir.cpp:2082:17:2082:34 | Address | &:r2082_37 | +| ir.cpp:2082:17:2082:34 | Address | &:r2082_37 | +| ir.cpp:2082:17:2082:34 | Address | &:r2082_37 | +| ir.cpp:2082:17:2082:34 | Arg(this) | this:r2082_37 | +| ir.cpp:2082:17:2082:34 | CallTarget | func:r2082_39 | +| ir.cpp:2082:17:2082:34 | ChiPartial | partial:m2082_41 | +| ir.cpp:2082:17:2082:34 | ChiPartial | partial:m2082_43 | +| ir.cpp:2082:17:2082:34 | ChiTotal | total:m2081_13 | +| ir.cpp:2082:17:2082:34 | ChiTotal | total:m2082_38 | +| ir.cpp:2082:17:2082:34 | Load | m2082_44 | +| ir.cpp:2082:17:2082:34 | SideEffect | ~m2081_13 | +| ir.cpp:2082:17:2082:34 | StoreValue | r2082_45 | +| ir.cpp:2083:5:2083:5 | Address | &:r2083_1 | +| ir.cpp:2083:5:2083:5 | Address | &:r2083_1 | +| ir.cpp:2083:5:2083:5 | Arg(this) | this:r2083_1 | +| ir.cpp:2083:5:2083:5 | ChiPartial | partial:m2083_19 | +| ir.cpp:2083:5:2083:5 | ChiTotal | total:m2082_20 | +| ir.cpp:2083:5:2083:5 | SideEffect | m2082_20 | +| ir.cpp:2083:7:2083:7 | CallTarget | func:r2083_2 | +| ir.cpp:2083:7:2083:7 | ChiPartial | partial:m2083_15 | +| ir.cpp:2083:7:2083:7 | ChiTotal | total:m2083_7 | +| ir.cpp:2083:7:2083:7 | SideEffect | ~m2083_7 | +| ir.cpp:2083:7:2083:7 | Unary | r2083_14 | +| ir.cpp:2083:9:2083:9 | Address | &:r2083_4 | +| ir.cpp:2083:9:2083:9 | Address | &:r2083_9 | +| ir.cpp:2083:9:2083:9 | Address | &:r2083_31 | +| ir.cpp:2083:9:2083:9 | Address | &:r2083_42 | +| ir.cpp:2083:9:2083:9 | Condition | r2083_5 | +| ir.cpp:2083:9:2083:9 | Load | m2080_6 | +| ir.cpp:2083:9:2083:9 | Load | m2083_8 | +| ir.cpp:2083:9:2083:9 | Phi | from 8:m2083_32 | +| ir.cpp:2083:9:2083:9 | Phi | from 8:~m2083_27 | +| ir.cpp:2083:9:2083:9 | Phi | from 9:m2083_43 | +| ir.cpp:2083:9:2083:9 | Phi | from 9:~m2083_38 | +| ir.cpp:2083:9:2083:9 | StoreValue | r2083_10 | +| ir.cpp:2083:9:2083:51 | Address | &:r2083_3 | +| ir.cpp:2083:9:2083:51 | Address | &:r2083_13 | +| ir.cpp:2083:9:2083:51 | Arg(0) | 0:r2083_13 | +| ir.cpp:2083:9:2083:51 | SideEffect | ~m2083_11 | +| ir.cpp:2083:9:2083:51 | Unary | r2083_3 | +| ir.cpp:2083:9:2083:51 | Unary | r2083_12 | +| ir.cpp:2083:13:2083:30 | Address | &:r2083_22 | +| ir.cpp:2083:13:2083:30 | Address | &:r2083_22 | +| ir.cpp:2083:13:2083:30 | Address | &:r2083_22 | +| ir.cpp:2083:13:2083:30 | Arg(this) | this:r2083_22 | +| ir.cpp:2083:13:2083:30 | CallTarget | func:r2083_24 | +| ir.cpp:2083:13:2083:30 | ChiPartial | partial:m2083_26 | +| ir.cpp:2083:13:2083:30 | ChiPartial | partial:m2083_28 | +| ir.cpp:2083:13:2083:30 | ChiTotal | total:m2082_16 | +| ir.cpp:2083:13:2083:30 | ChiTotal | total:m2083_23 | +| ir.cpp:2083:13:2083:30 | Load | m2083_29 | +| ir.cpp:2083:13:2083:30 | SideEffect | ~m2082_16 | +| ir.cpp:2083:13:2083:30 | StoreValue | r2083_30 | +| ir.cpp:2083:34:2083:51 | Address | &:r2083_33 | +| ir.cpp:2083:34:2083:51 | Address | &:r2083_33 | +| ir.cpp:2083:34:2083:51 | Address | &:r2083_33 | +| ir.cpp:2083:34:2083:51 | Arg(this) | this:r2083_33 | +| ir.cpp:2083:34:2083:51 | CallTarget | func:r2083_35 | +| ir.cpp:2083:34:2083:51 | ChiPartial | partial:m2083_37 | +| ir.cpp:2083:34:2083:51 | ChiPartial | partial:m2083_39 | +| ir.cpp:2083:34:2083:51 | ChiTotal | total:m2082_16 | +| ir.cpp:2083:34:2083:51 | ChiTotal | total:m2083_34 | +| ir.cpp:2083:34:2083:51 | Load | m2083_40 | +| ir.cpp:2083:34:2083:51 | SideEffect | ~m2082_16 | +| ir.cpp:2083:34:2083:51 | StoreValue | r2083_41 | +| ir.cpp:2084:5:2084:19 | ChiPartial | partial:m2084_35 | +| ir.cpp:2084:5:2084:19 | ChiTotal | total:m2084_17 | +| ir.cpp:2084:5:2084:19 | SideEffect | m2084_17 | +| ir.cpp:2084:6:2084:6 | Address | &:r2084_1 | +| ir.cpp:2084:6:2084:6 | Address | &:r2084_1 | +| ir.cpp:2084:6:2084:6 | Arg(this) | this:r2084_1 | +| ir.cpp:2084:6:2084:6 | ChiPartial | partial:m2084_16 | +| ir.cpp:2084:6:2084:6 | ChiTotal | total:m2083_20 | +| ir.cpp:2084:6:2084:6 | SideEffect | m2083_20 | +| ir.cpp:2084:8:2084:8 | CallTarget | func:r2084_2 | +| ir.cpp:2084:8:2084:8 | ChiPartial | partial:m2084_12 | +| ir.cpp:2084:8:2084:8 | ChiTotal | total:m2083_16 | +| ir.cpp:2084:8:2084:8 | SideEffect | ~m2083_16 | +| ir.cpp:2084:8:2084:8 | Unary | r2084_11 | +| ir.cpp:2084:8:2084:19 | Address | &:r2084_18 | +| ir.cpp:2084:8:2084:19 | Address | &:r2084_18 | +| ir.cpp:2084:8:2084:19 | Arg(this) | this:r2084_18 | +| ir.cpp:2084:10:2084:10 | Address | &:r2084_3 | +| ir.cpp:2084:10:2084:10 | Condition | r2084_4 | +| ir.cpp:2084:10:2084:10 | Load | m2080_6 | +| ir.cpp:2084:10:2084:18 | Address | &:r2084_7 | +| ir.cpp:2084:10:2084:18 | Address | &:r2084_10 | +| ir.cpp:2084:10:2084:18 | Address | &:r2084_39 | +| ir.cpp:2084:10:2084:18 | Address | &:r2084_42 | +| ir.cpp:2084:10:2084:18 | Arg(0) | 0:r2084_10 | +| ir.cpp:2084:10:2084:18 | Load | m2084_6 | +| ir.cpp:2084:10:2084:18 | Phi | from 11:m2084_40 | +| ir.cpp:2084:10:2084:18 | Phi | from 12:m2084_43 | +| ir.cpp:2084:10:2084:18 | SideEffect | ~m2084_13 | +| ir.cpp:2084:10:2084:18 | Unary | r2084_8 | +| ir.cpp:2084:10:2084:18 | Unary | r2084_9 | +| ir.cpp:2084:14:2084:14 | StoreValue | r2084_38 | +| ir.cpp:2084:18:2084:18 | StoreValue | r2084_41 | +| ir.cpp:2084:21:2084:21 | CallTarget | func:r2084_19 | +| ir.cpp:2084:21:2084:21 | ChiPartial | partial:m2084_31 | +| ir.cpp:2084:21:2084:21 | ChiTotal | total:m2084_25 | +| ir.cpp:2084:21:2084:21 | SideEffect | ~m2084_25 | +| ir.cpp:2084:21:2084:21 | Unary | r2084_30 | +| ir.cpp:2084:23:2084:40 | Address | &:r2084_20 | +| ir.cpp:2084:23:2084:40 | Address | &:r2084_20 | +| ir.cpp:2084:23:2084:40 | Address | &:r2084_29 | +| ir.cpp:2084:23:2084:40 | Arg(0) | 0:r2084_29 | +| ir.cpp:2084:23:2084:40 | Arg(this) | this:r2084_20 | +| ir.cpp:2084:23:2084:40 | CallTarget | func:r2084_22 | +| ir.cpp:2084:23:2084:40 | ChiPartial | partial:m2084_24 | +| ir.cpp:2084:23:2084:40 | ChiPartial | partial:m2084_26 | +| ir.cpp:2084:23:2084:40 | ChiTotal | total:m2084_13 | +| ir.cpp:2084:23:2084:40 | ChiTotal | total:m2084_21 | +| ir.cpp:2084:23:2084:40 | SideEffect | ~m2084_13 | +| ir.cpp:2084:23:2084:40 | SideEffect | ~m2084_27 | +| ir.cpp:2084:23:2084:40 | Unary | r2084_20 | +| ir.cpp:2084:23:2084:40 | Unary | r2084_28 | +| ir.cpp:2089:14:2089:22 | Address | &:r2089_7 | +| ir.cpp:2089:14:2089:22 | ChiPartial | partial:m2089_3 | +| ir.cpp:2089:14:2089:22 | ChiTotal | total:m2089_2 | +| ir.cpp:2089:14:2089:22 | Load | m2094_2 | +| ir.cpp:2089:14:2089:22 | SideEffect | ~m2091_6 | +| ir.cpp:2089:37:2089:37 | Address | &:r2089_5 | +| ir.cpp:2090:16:2090:16 | Address | &:r2090_1 | +| ir.cpp:2091:3:2091:3 | Address | &:r2091_10 | +| ir.cpp:2091:7:2091:7 | Address | &:r2091_1 | +| ir.cpp:2091:7:2091:7 | Left | r2091_2 | +| ir.cpp:2091:7:2091:7 | Load | m2089_6 | +| ir.cpp:2091:7:2091:13 | Condition | r2091_4 | +| ir.cpp:2091:7:2093:28 | Address | &:r2091_8 | +| ir.cpp:2091:7:2093:28 | Address | &:r2091_12 | +| ir.cpp:2091:7:2093:28 | Address | &:r2091_14 | +| ir.cpp:2091:7:2093:28 | Load | m2091_7 | +| ir.cpp:2091:7:2093:28 | Phi | from 2:m2091_13 | +| ir.cpp:2091:7:2093:28 | Phi | from 2:~m2092_6 | +| ir.cpp:2091:7:2093:28 | Phi | from 3:m2091_15 | +| ir.cpp:2091:7:2093:28 | Phi | from 3:~m2093_6 | +| ir.cpp:2091:7:2093:28 | StoreValue | r2091_9 | +| ir.cpp:2091:11:2091:13 | Right | r2091_3 | +| ir.cpp:2092:6:2092:20 | CallTarget | func:r2092_1 | +| ir.cpp:2092:6:2092:20 | ChiPartial | partial:m2092_5 | +| ir.cpp:2092:6:2092:20 | ChiTotal | total:m2089_4 | +| ir.cpp:2092:6:2092:20 | SideEffect | ~m2089_4 | +| ir.cpp:2092:6:2092:26 | StoreValue | r2092_9 | +| ir.cpp:2092:22:2092:22 | Address | &:r2092_2 | +| ir.cpp:2092:22:2092:22 | Arg(0) | 0:r2092_3 | +| ir.cpp:2092:22:2092:22 | Load | m2089_6 | +| ir.cpp:2092:26:2092:26 | Address | &:r2092_7 | +| ir.cpp:2092:26:2092:26 | Load | m2089_6 | +| ir.cpp:2092:26:2092:26 | Unary | r2092_8 | +| ir.cpp:2093:5:2093:28 | StoreValue | r2093_9 | +| ir.cpp:2093:6:2093:20 | CallTarget | func:r2093_1 | +| ir.cpp:2093:6:2093:20 | ChiPartial | partial:m2093_5 | +| ir.cpp:2093:6:2093:20 | ChiTotal | total:m2089_4 | +| ir.cpp:2093:6:2093:20 | SideEffect | ~m2089_4 | +| ir.cpp:2093:6:2093:27 | Unary | r2093_8 | +| ir.cpp:2093:22:2093:22 | Address | &:r2093_2 | +| ir.cpp:2093:22:2093:22 | Arg(0) | 0:r2093_3 | +| ir.cpp:2093:22:2093:22 | Load | m2089_6 | +| ir.cpp:2093:26:2093:27 | Unary | r2093_7 | +| ir.cpp:2094:1:2094:1 | Address | &:r2094_1 | +| ir.cpp:2096:6:2096:17 | ChiPartial | partial:m2096_3 | +| ir.cpp:2096:6:2096:17 | ChiTotal | total:m2096_2 | +| ir.cpp:2096:6:2096:17 | SideEffect | ~m2099_6 | +| ir.cpp:2097:8:2097:8 | Address | &:r2097_1 | +| ir.cpp:2097:12:2097:18 | Address | &:r2097_4 | +| ir.cpp:2097:12:2097:18 | Arg(0) | 0:r2097_3 | +| ir.cpp:2097:12:2097:18 | CallTarget | func:r2097_2 | +| ir.cpp:2097:12:2097:18 | ChiPartial | partial:m2097_5 | +| ir.cpp:2097:12:2097:18 | ChiTotal | total:m2096_4 | +| ir.cpp:2097:12:2097:18 | SideEffect | ~m2096_4 | +| ir.cpp:2097:12:2097:18 | StoreValue | r2097_8 | +| ir.cpp:2097:12:2097:18 | Unary | r2097_4 | +| ir.cpp:2098:3:2098:4 | Address | &:r2098_4 | +| ir.cpp:2098:3:2098:8 | ChiPartial | partial:m2098_5 | +| ir.cpp:2098:3:2098:8 | ChiTotal | total:m2097_7 | +| ir.cpp:2098:4:2098:4 | Address | &:r2098_2 | +| ir.cpp:2098:4:2098:4 | Load | m2097_9 | +| ir.cpp:2098:4:2098:4 | Unary | r2098_3 | +| ir.cpp:2098:8:2098:8 | StoreValue | r2098_1 | +| ir.cpp:2099:3:2099:10 | CallTarget | func:r2099_1 | +| ir.cpp:2099:3:2099:10 | ChiPartial | partial:m2099_5 | +| ir.cpp:2099:3:2099:10 | ChiTotal | total:m2097_6 | +| ir.cpp:2099:3:2099:10 | SideEffect | ~m2097_6 | +| ir.cpp:2099:10:2099:10 | Address | &:r2099_2 | +| ir.cpp:2099:10:2099:10 | Arg(0) | 0:r2099_3 | +| ir.cpp:2099:10:2099:10 | Load | m2097_9 | +| ir.cpp:2102:7:2102:7 | Address | &:r2102_5 | +| ir.cpp:2102:7:2102:7 | Address | &:r2102_5 | +| ir.cpp:2102:7:2102:7 | Address | &:r2102_7 | +| ir.cpp:2102:7:2102:7 | Address | &:r2102_7 | +| ir.cpp:2102:7:2102:7 | ChiPartial | partial:m2102_3 | +| ir.cpp:2102:7:2102:7 | ChiTotal | total:m2102_2 | +| ir.cpp:2102:7:2102:7 | Load | m2102_6 | +| ir.cpp:2102:7:2102:7 | SideEffect | m2102_3 | +| ir.cpp:2102:7:2102:7 | SideEffect | m2102_8 | +| ir.cpp:2104:10:2104:24 | ChiPartial | partial:m2104_3 | +| ir.cpp:2104:10:2104:24 | ChiTotal | total:m2104_2 | +| ir.cpp:2104:10:2104:24 | SideEffect | m2104_3 | +| ir.cpp:2104:32:2104:32 | Address | &:r2104_5 | +| ir.cpp:2104:32:2104:32 | Address | &:r2104_5 | +| ir.cpp:2104:32:2104:32 | Address | &:r2104_7 | +| ir.cpp:2104:32:2104:32 | Address | &:r2104_7 | +| ir.cpp:2104:32:2104:32 | Load | m2104_6 | +| ir.cpp:2104:32:2104:32 | SideEffect | m2104_8 | +| ir.cpp:2106:13:2106:18 | Address | &:r2106_5 | +| ir.cpp:2106:13:2106:18 | Address | &:r2106_5 | +| ir.cpp:2106:13:2106:18 | Address | &:r2106_7 | +| ir.cpp:2106:13:2106:18 | Address | &:r2106_7 | +| ir.cpp:2106:13:2106:18 | ChiPartial | partial:m2106_3 | +| ir.cpp:2106:13:2106:18 | ChiTotal | total:m2106_2 | +| ir.cpp:2106:13:2106:18 | Load | m2106_6 | +| ir.cpp:2106:13:2106:18 | SideEffect | m2106_3 | +| ir.cpp:2106:13:2106:18 | SideEffect | m2106_8 | +| ir.cpp:2109:7:2109:7 | Address | &:r2109_5 | +| ir.cpp:2109:7:2109:7 | Address | &:r2109_5 | +| ir.cpp:2109:7:2109:7 | Address | &:r2109_7 | +| ir.cpp:2109:7:2109:7 | Address | &:r2109_7 | +| ir.cpp:2109:7:2109:7 | Address | &:r2109_9 | +| ir.cpp:2109:7:2109:7 | Arg(this) | this:r2109_9 | +| ir.cpp:2109:7:2109:7 | CallTarget | func:r2109_10 | +| ir.cpp:2109:7:2109:7 | ChiPartial | partial:m2109_3 | +| ir.cpp:2109:7:2109:7 | ChiPartial | partial:m2109_12 | +| ir.cpp:2109:7:2109:7 | ChiPartial | partial:m2109_14 | +| ir.cpp:2109:7:2109:7 | ChiTotal | total:m2109_2 | +| ir.cpp:2109:7:2109:7 | ChiTotal | total:m2109_4 | +| ir.cpp:2109:7:2109:7 | ChiTotal | total:m2109_8 | +| ir.cpp:2109:7:2109:7 | Load | m2109_6 | +| ir.cpp:2109:7:2109:7 | SideEffect | m2109_15 | +| ir.cpp:2109:7:2109:7 | SideEffect | ~m2109_4 | +| ir.cpp:2109:7:2109:7 | SideEffect | ~m2109_13 | +| ir.cpp:2109:7:2109:7 | Unary | m2109_6 | +| ir.cpp:2112:5:2112:13 | Address | &:r2112_5 | +| ir.cpp:2112:5:2112:13 | Address | &:r2112_5 | +| ir.cpp:2112:5:2112:13 | Address | &:r2112_7 | +| ir.cpp:2112:5:2112:13 | Address | &:r2112_7 | +| ir.cpp:2112:5:2112:13 | ChiPartial | partial:m2112_3 | +| ir.cpp:2112:5:2112:13 | ChiTotal | total:m2112_2 | +| ir.cpp:2112:5:2112:13 | Load | m2112_6 | +| ir.cpp:2112:5:2112:13 | SideEffect | m2112_8 | +| ir.cpp:2112:5:2112:13 | SideEffect | ~m2112_14 | +| ir.cpp:2112:5:2112:13 | Unary | m2112_6 | +| ir.cpp:2112:18:2112:18 | Arg(this) | this:r2112_10 | +| ir.cpp:2112:18:2112:18 | CallTarget | func:r2112_11 | +| ir.cpp:2112:18:2112:18 | ChiPartial | partial:m2112_13 | +| ir.cpp:2112:18:2112:18 | ChiTotal | total:m2112_4 | +| ir.cpp:2112:18:2112:18 | SideEffect | ~m2112_4 | +| ir.cpp:2114:10:2114:24 | ChiPartial | partial:m2114_3 | +| ir.cpp:2114:10:2114:24 | ChiTotal | total:m2114_2 | +| ir.cpp:2114:10:2114:24 | SideEffect | m2114_3 | +| ir.cpp:2114:32:2114:32 | Address | &:r2114_5 | +| ir.cpp:2114:32:2114:32 | Address | &:r2114_5 | +| ir.cpp:2114:32:2114:32 | Address | &:r2114_7 | +| ir.cpp:2114:32:2114:32 | Address | &:r2114_7 | +| ir.cpp:2114:32:2114:32 | Load | m2114_6 | +| ir.cpp:2114:32:2114:32 | SideEffect | m2114_8 | +| ir.cpp:2119:5:2119:18 | Address | &:r2119_5 | +| ir.cpp:2119:5:2119:18 | ChiPartial | partial:m2119_3 | +| ir.cpp:2119:5:2119:18 | ChiTotal | total:m2119_2 | +| ir.cpp:2119:5:2119:18 | Load | m2129_2 | +| ir.cpp:2119:5:2119:18 | SideEffect | ~m2128_14 | +| ir.cpp:2121:12:2121:13 | Address | &:r2121_1 | +| ir.cpp:2121:17:2121:27 | Address | &:r2121_4 | +| ir.cpp:2121:17:2121:27 | Address | &:r2121_8 | +| ir.cpp:2121:17:2121:27 | Arg(0) | 0:r2121_3 | +| ir.cpp:2121:17:2121:27 | Arg(this) | this:r2121_8 | +| ir.cpp:2121:17:2121:27 | CallTarget | func:r2121_2 | +| ir.cpp:2121:17:2121:27 | CallTarget | func:r2121_9 | +| ir.cpp:2121:17:2121:27 | ChiPartial | partial:m2121_5 | +| ir.cpp:2121:17:2121:27 | ChiPartial | partial:m2121_11 | +| ir.cpp:2121:17:2121:27 | ChiPartial | partial:m2121_13 | +| ir.cpp:2121:17:2121:27 | ChiTotal | total:m2119_4 | +| ir.cpp:2121:17:2121:27 | ChiTotal | total:m2121_6 | +| ir.cpp:2121:17:2121:27 | ChiTotal | total:m2121_7 | +| ir.cpp:2121:17:2121:27 | SideEffect | ~m2119_4 | +| ir.cpp:2121:17:2121:27 | SideEffect | ~m2121_6 | +| ir.cpp:2121:17:2121:27 | StoreValue | r2121_8 | +| ir.cpp:2121:17:2121:27 | Unary | r2121_4 | +| ir.cpp:2122:5:2122:13 | CallTarget | func:r2122_3 | +| ir.cpp:2122:5:2122:13 | CallTarget | func:r2122_10 | +| ir.cpp:2122:5:2122:13 | ChiPartial | partial:m2122_5 | +| ir.cpp:2122:5:2122:13 | ChiPartial | partial:m2122_13 | +| ir.cpp:2122:5:2122:13 | ChiTotal | total:m2121_12 | +| ir.cpp:2122:5:2122:13 | ChiTotal | total:m2122_6 | +| ir.cpp:2122:5:2122:13 | SideEffect | ~m2121_12 | +| ir.cpp:2122:5:2122:13 | SideEffect | ~m2122_6 | +| ir.cpp:2122:12:2122:13 | Address | &:r2122_1 | +| ir.cpp:2122:12:2122:13 | Address | &:r2122_2 | +| ir.cpp:2122:12:2122:13 | Address | &:r2122_2 | +| ir.cpp:2122:12:2122:13 | Arg(0) | 0:r2122_11 | +| ir.cpp:2122:12:2122:13 | ChiPartial | partial:m2122_8 | +| ir.cpp:2122:12:2122:13 | ChiTotal | total:m2121_14 | +| ir.cpp:2122:12:2122:13 | Load | m2121_15 | +| ir.cpp:2122:12:2122:13 | SideEffect | ~m2121_14 | +| ir.cpp:2122:12:2122:13 | Unary | r2122_1 | +| ir.cpp:2124:12:2124:13 | Address | &:r2124_1 | +| ir.cpp:2124:17:2124:30 | Address | &:r2124_4 | +| ir.cpp:2124:17:2124:30 | Address | &:r2124_8 | +| ir.cpp:2124:17:2124:30 | Arg(0) | 0:r2124_3 | +| ir.cpp:2124:17:2124:30 | Arg(this) | this:r2124_8 | +| ir.cpp:2124:17:2124:30 | CallTarget | func:r2124_2 | +| ir.cpp:2124:17:2124:30 | CallTarget | func:r2124_9 | +| ir.cpp:2124:17:2124:30 | ChiPartial | partial:m2124_5 | +| ir.cpp:2124:17:2124:30 | ChiPartial | partial:m2124_11 | +| ir.cpp:2124:17:2124:30 | ChiPartial | partial:m2124_13 | +| ir.cpp:2124:17:2124:30 | ChiTotal | total:m2122_14 | +| ir.cpp:2124:17:2124:30 | ChiTotal | total:m2124_6 | +| ir.cpp:2124:17:2124:30 | ChiTotal | total:m2124_7 | +| ir.cpp:2124:17:2124:30 | SideEffect | ~m2122_14 | +| ir.cpp:2124:17:2124:30 | SideEffect | ~m2124_6 | +| ir.cpp:2124:17:2124:30 | StoreValue | r2124_15 | +| ir.cpp:2124:17:2124:30 | Unary | r2124_4 | +| ir.cpp:2124:17:2124:30 | Unary | r2124_8 | +| ir.cpp:2125:5:2125:13 | CallTarget | func:r2125_3 | +| ir.cpp:2125:5:2125:13 | CallTarget | func:r2125_10 | +| ir.cpp:2125:5:2125:13 | ChiPartial | partial:m2125_5 | +| ir.cpp:2125:5:2125:13 | ChiPartial | partial:m2125_13 | +| ir.cpp:2125:5:2125:13 | ChiTotal | total:m2124_12 | +| ir.cpp:2125:5:2125:13 | ChiTotal | total:m2125_6 | +| ir.cpp:2125:5:2125:13 | SideEffect | ~m2124_12 | +| ir.cpp:2125:5:2125:13 | SideEffect | ~m2125_6 | +| ir.cpp:2125:12:2125:13 | Address | &:r2125_1 | +| ir.cpp:2125:12:2125:13 | Address | &:r2125_2 | +| ir.cpp:2125:12:2125:13 | Address | &:r2125_2 | +| ir.cpp:2125:12:2125:13 | Arg(0) | 0:r2125_11 | +| ir.cpp:2125:12:2125:13 | ChiPartial | partial:m2125_8 | +| ir.cpp:2125:12:2125:13 | ChiTotal | total:m2124_14 | +| ir.cpp:2125:12:2125:13 | Load | m2124_16 | +| ir.cpp:2125:12:2125:13 | SideEffect | ~m2124_14 | +| ir.cpp:2125:12:2125:13 | Unary | r2125_1 | +| ir.cpp:2127:15:2127:15 | Address | &:r2127_1 | +| ir.cpp:2127:19:2127:32 | Address | &:r2127_4 | +| ir.cpp:2127:19:2127:32 | Address | &:r2127_8 | +| ir.cpp:2127:19:2127:32 | Arg(0) | 0:r2127_3 | +| ir.cpp:2127:19:2127:32 | Arg(this) | this:r2127_8 | +| ir.cpp:2127:19:2127:32 | CallTarget | func:r2127_2 | +| ir.cpp:2127:19:2127:32 | CallTarget | func:r2127_9 | +| ir.cpp:2127:19:2127:32 | ChiPartial | partial:m2127_5 | +| ir.cpp:2127:19:2127:32 | ChiPartial | partial:m2127_11 | +| ir.cpp:2127:19:2127:32 | ChiPartial | partial:m2127_13 | +| ir.cpp:2127:19:2127:32 | ChiTotal | total:m2125_14 | +| ir.cpp:2127:19:2127:32 | ChiTotal | total:m2127_6 | +| ir.cpp:2127:19:2127:32 | ChiTotal | total:m2127_7 | +| ir.cpp:2127:19:2127:32 | SideEffect | ~m2125_14 | +| ir.cpp:2127:19:2127:32 | SideEffect | ~m2127_6 | +| ir.cpp:2127:19:2127:32 | StoreValue | r2127_8 | +| ir.cpp:2127:19:2127:32 | Unary | r2127_4 | +| ir.cpp:2128:5:2128:12 | CallTarget | func:r2128_3 | +| ir.cpp:2128:5:2128:12 | CallTarget | func:r2128_10 | +| ir.cpp:2128:5:2128:12 | ChiPartial | partial:m2128_5 | +| ir.cpp:2128:5:2128:12 | ChiPartial | partial:m2128_13 | +| ir.cpp:2128:5:2128:12 | ChiTotal | total:m2127_12 | +| ir.cpp:2128:5:2128:12 | ChiTotal | total:m2128_6 | +| ir.cpp:2128:5:2128:12 | SideEffect | ~m2127_12 | +| ir.cpp:2128:5:2128:12 | SideEffect | ~m2128_6 | +| ir.cpp:2128:12:2128:12 | Address | &:r2128_1 | +| ir.cpp:2128:12:2128:12 | Address | &:r2128_2 | +| ir.cpp:2128:12:2128:12 | Address | &:r2128_2 | +| ir.cpp:2128:12:2128:12 | Arg(0) | 0:r2128_11 | +| ir.cpp:2128:12:2128:12 | ChiPartial | partial:m2128_8 | +| ir.cpp:2128:12:2128:12 | ChiTotal | total:m2127_14 | +| ir.cpp:2128:12:2128:12 | Load | m2127_15 | +| ir.cpp:2128:12:2128:12 | SideEffect | ~m2127_14 | +| ir.cpp:2128:12:2128:12 | Unary | r2128_1 | +| ir.cpp:2129:1:2129:1 | Address | &:r2129_1 | +| ir.cpp:2133:6:2133:26 | ChiPartial | partial:m2133_3 | +| ir.cpp:2133:6:2133:26 | ChiTotal | total:m2133_2 | +| ir.cpp:2133:6:2133:26 | SideEffect | ~m2135_5 | +| ir.cpp:2134:13:2134:13 | Address | &:r2134_1 | +| ir.cpp:2134:16:2134:19 | StoreValue | r2134_2 | +| ir.cpp:2135:3:2135:27 | CallTarget | func:r2135_1 | +| ir.cpp:2135:3:2135:27 | ChiPartial | partial:m2135_4 | +| ir.cpp:2135:3:2135:27 | ChiTotal | total:m2133_4 | +| ir.cpp:2135:3:2135:27 | SideEffect | ~m2133_4 | +| ir.cpp:2135:29:2135:29 | Arg(0) | 0:r2135_2 | +| ir.cpp:2140:5:2140:11 | Address | &:r2140_6 | +| ir.cpp:2140:5:2140:11 | ChiPartial | partial:m2140_3 | +| ir.cpp:2140:5:2140:11 | ChiTotal | total:m2140_2 | +| ir.cpp:2140:5:2140:11 | Load | m2145_4 | +| ir.cpp:2140:5:2140:11 | SideEffect | ~m2144_4 | | ir.cpp:2141:9:2141:9 | Address | &:r2141_1 | -| ir.cpp:2141:9:2141:9 | Left | r2141_2 | -| ir.cpp:2141:9:2141:9 | Load | m2140_8 | -| ir.cpp:2141:9:2141:14 | Condition | r2141_4 | -| ir.cpp:2141:14:2141:14 | Right | r2141_3 | -| ir.cpp:2142:9:2142:20 | CallTarget | func:r2142_1 | -| ir.cpp:2143:5:2143:12 | CallTarget | func:r2143_1 | -| ir.cpp:2143:5:2143:12 | ChiPartial | partial:m2143_3 | -| ir.cpp:2143:5:2143:12 | ChiTotal | total:m2140_7 | -| ir.cpp:2143:5:2143:12 | SideEffect | ~m2140_7 | -| ir.cpp:2144:5:2144:13 | Address | &:r2144_1 | -| ir.cpp:2144:12:2144:12 | Address | &:r2144_2 | -| ir.cpp:2144:12:2144:12 | Load | m2140_8 | -| ir.cpp:2144:12:2144:12 | StoreValue | r2144_3 | -| ir.cpp:2147:6:2147:24 | ChiPartial | partial:m2147_3 | -| ir.cpp:2147:6:2147:24 | ChiTotal | total:m2147_2 | -| ir.cpp:2147:6:2147:24 | SideEffect | ~m2153_8 | -| ir.cpp:2147:33:2147:33 | Address | &:r2147_5 | -| ir.cpp:2148:3:2148:12 | Address | &:r2148_6 | -| ir.cpp:2148:3:2148:12 | Arg(0) | 0:r2148_5 | -| ir.cpp:2148:3:2148:12 | CallTarget | func:r2148_1 | -| ir.cpp:2148:3:2148:12 | ChiPartial | partial:m2148_7 | -| ir.cpp:2148:3:2148:12 | ChiTotal | total:m2147_4 | -| ir.cpp:2148:3:2148:12 | Right | r2148_4 | -| ir.cpp:2148:3:2148:12 | SideEffect | ~m2147_4 | -| ir.cpp:2148:3:2148:12 | Unary | r2148_6 | -| ir.cpp:2148:11:2148:11 | Address | &:r2148_2 | -| ir.cpp:2148:11:2148:11 | Left | r2148_3 | -| ir.cpp:2148:11:2148:11 | Load | m2147_6 | -| ir.cpp:2149:3:2149:18 | Address | &:r2149_7 | -| ir.cpp:2149:3:2149:18 | Arg(0) | 0:r2149_5 | -| ir.cpp:2149:3:2149:18 | CallTarget | func:r2149_1 | -| ir.cpp:2149:3:2149:18 | ChiPartial | partial:m2149_8 | -| ir.cpp:2149:3:2149:18 | ChiTotal | total:m2148_8 | -| ir.cpp:2149:3:2149:18 | Right | r2149_4 | -| ir.cpp:2149:3:2149:18 | SideEffect | ~m2148_8 | -| ir.cpp:2149:3:2149:18 | Unary | r2149_7 | -| ir.cpp:2149:7:2149:10 | Arg(1) | 1:r2149_6 | -| ir.cpp:2149:17:2149:17 | Address | &:r2149_2 | -| ir.cpp:2149:17:2149:17 | Left | r2149_3 | -| ir.cpp:2149:17:2149:17 | Load | m2147_6 | -| ir.cpp:2150:3:2150:15 | Address | &:r2150_6 | -| ir.cpp:2150:3:2150:15 | Arg(0) | 0:r2150_5 | -| ir.cpp:2150:3:2150:15 | CallTarget | func:r2150_1 | -| ir.cpp:2150:3:2150:15 | ChiPartial | partial:m2150_7 | -| ir.cpp:2150:3:2150:15 | ChiTotal | total:m2149_9 | -| ir.cpp:2150:3:2150:15 | Right | r2150_4 | -| ir.cpp:2150:3:2150:15 | SideEffect | ~m2149_9 | -| ir.cpp:2150:3:2150:15 | Unary | r2150_6 | -| ir.cpp:2150:14:2150:14 | Address | &:r2150_2 | -| ir.cpp:2150:14:2150:14 | Left | r2150_3 | -| ir.cpp:2150:14:2150:14 | Load | m2147_6 | -| ir.cpp:2151:3:2151:20 | Address | &:r2151_7 | -| ir.cpp:2151:3:2151:20 | Arg(0) | 0:r2151_5 | -| ir.cpp:2151:3:2151:20 | CallTarget | func:r2151_1 | -| ir.cpp:2151:3:2151:20 | ChiPartial | partial:m2151_8 | -| ir.cpp:2151:3:2151:20 | ChiTotal | total:m2150_8 | -| ir.cpp:2151:3:2151:20 | Right | r2151_4 | -| ir.cpp:2151:3:2151:20 | SideEffect | ~m2150_8 | -| ir.cpp:2151:3:2151:20 | Unary | r2151_7 | -| ir.cpp:2151:19:2151:19 | Address | &:r2151_2 | -| ir.cpp:2151:19:2151:19 | Left | r2151_3 | -| ir.cpp:2151:19:2151:19 | Load | m2147_6 | -| ir.cpp:2151:21:2151:21 | Arg(1) | 1:r2151_6 | -| ir.cpp:2152:3:2152:36 | Address | &:r2152_6 | -| ir.cpp:2152:3:2152:36 | Arg(0) | 0:r2152_5 | -| ir.cpp:2152:3:2152:36 | CallTarget | func:r2152_1 | -| ir.cpp:2152:3:2152:36 | ChiPartial | partial:m2152_7 | -| ir.cpp:2152:3:2152:36 | ChiTotal | total:m2151_9 | -| ir.cpp:2152:3:2152:36 | Right | r2152_4 | -| ir.cpp:2152:3:2152:36 | SideEffect | ~m2151_9 | -| ir.cpp:2152:3:2152:36 | Unary | r2152_6 | -| ir.cpp:2152:35:2152:35 | Address | &:r2152_2 | -| ir.cpp:2152:35:2152:35 | Left | r2152_3 | -| ir.cpp:2152:35:2152:35 | Load | m2147_6 | -| ir.cpp:2153:3:2153:24 | Address | &:r2153_6 | -| ir.cpp:2153:3:2153:24 | Arg(0) | 0:r2153_5 | -| ir.cpp:2153:3:2153:24 | CallTarget | func:r2153_1 | -| ir.cpp:2153:3:2153:24 | ChiPartial | partial:m2153_7 | -| ir.cpp:2153:3:2153:24 | ChiTotal | total:m2152_8 | -| ir.cpp:2153:3:2153:24 | Right | r2153_4 | -| ir.cpp:2153:3:2153:24 | SideEffect | ~m2152_8 | -| ir.cpp:2153:3:2153:24 | Unary | r2153_6 | -| ir.cpp:2153:11:2153:11 | Address | &:r2153_2 | -| ir.cpp:2153:11:2153:11 | Left | r2153_3 | -| ir.cpp:2153:11:2153:11 | Load | m2147_6 | -| ir.cpp:2158:7:2158:17 | Address | &:r2158_10 | -| ir.cpp:2158:7:2158:17 | ChiPartial | partial:m2158_3 | -| ir.cpp:2158:7:2158:17 | ChiTotal | total:m2158_2 | -| ir.cpp:2158:7:2158:17 | Load | m2161_4 | -| ir.cpp:2158:7:2158:17 | SideEffect | m2158_3 | -| ir.cpp:2158:25:2158:25 | Address | &:r2158_5 | -| ir.cpp:2158:25:2158:25 | Address | &:r2158_5 | -| ir.cpp:2158:25:2158:25 | Address | &:r2158_7 | -| ir.cpp:2158:25:2158:25 | Address | &:r2158_7 | -| ir.cpp:2158:25:2158:25 | Load | m2158_6 | -| ir.cpp:2158:25:2158:25 | SideEffect | m2158_8 | -| ir.cpp:2159:9:2159:11 | Address | &:r2159_1 | -| ir.cpp:2160:10:2160:10 | Address | &:r2160_1 | -| ir.cpp:2160:14:2160:19 | CallTarget | func:r2160_2 | -| ir.cpp:2160:14:2160:19 | StoreValue | r2160_8 | -| ir.cpp:2160:21:2160:21 | Address | &:r2160_3 | -| ir.cpp:2160:21:2160:21 | Address | &:r2160_5 | -| ir.cpp:2160:21:2160:21 | Arg(0) | 0:r2160_5 | -| ir.cpp:2160:21:2160:21 | Load | m2158_6 | -| ir.cpp:2160:21:2160:21 | SideEffect | ~m2158_8 | -| ir.cpp:2160:21:2160:21 | Unary | r2160_4 | -| ir.cpp:2160:24:2160:27 | Address | &:r2160_7 | -| ir.cpp:2160:24:2160:27 | Arg(1) | 1:r2160_7 | -| ir.cpp:2160:24:2160:27 | ChiPartial | partial:m2160_10 | -| ir.cpp:2160:24:2160:27 | ChiTotal | total:m2159_2 | -| ir.cpp:2160:25:2160:27 | Unary | r2160_6 | -| ir.cpp:2161:3:2161:13 | Address | &:r2161_1 | -| ir.cpp:2161:10:2161:12 | Address | &:r2161_2 | -| ir.cpp:2161:10:2161:12 | Load | m2160_11 | -| ir.cpp:2161:10:2161:12 | StoreValue | r2161_3 | -| ir.cpp:2168:6:2168:39 | ChiPartial | partial:m2168_3 | -| ir.cpp:2168:6:2168:39 | ChiTotal | total:m2168_2 | -| ir.cpp:2168:6:2168:39 | SideEffect | ~m2169_8 | -| ir.cpp:2169:6:2169:42 | Address | &:r2169_1 | -| ir.cpp:2169:6:2169:42 | Condition | r2169_12 | -| ir.cpp:2169:22:2169:22 | Address | &:r2169_4 | -| ir.cpp:2169:22:2169:22 | Address | &:r2169_4 | -| ir.cpp:2169:22:2169:22 | Arg(this) | this:r2169_4 | -| ir.cpp:2169:22:2169:22 | CallTarget | func:r2169_5 | -| ir.cpp:2169:22:2169:22 | ChiPartial | partial:m2169_7 | -| ir.cpp:2169:22:2169:22 | ChiPartial | partial:m2169_10 | -| ir.cpp:2169:22:2169:22 | ChiTotal | total:m2168_4 | -| ir.cpp:2169:22:2169:22 | ChiTotal | total:m2169_3 | -| ir.cpp:2169:22:2169:22 | SideEffect | m2169_3 | -| ir.cpp:2169:22:2169:22 | SideEffect | ~m2168_4 | -| ir.cpp:2169:22:2169:22 | Unary | r2169_6 | -| ir.cpp:2169:25:2169:42 | StoreValue | r2169_2 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_5 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_5 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_7 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_7 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_9 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_10 | -| ir.cpp:2172:7:2172:7 | Address | &:r2172_13 | -| ir.cpp:2172:7:2172:7 | ChiPartial | partial:m2172_3 | -| ir.cpp:2172:7:2172:7 | ChiPartial | partial:m2172_15 | -| ir.cpp:2172:7:2172:7 | ChiTotal | total:m2172_2 | -| ir.cpp:2172:7:2172:7 | ChiTotal | total:m2172_8 | -| ir.cpp:2172:7:2172:7 | Load | m0_2 | -| ir.cpp:2172:7:2172:7 | Load | m2172_6 | -| ir.cpp:2172:7:2172:7 | Load | ~m0_4 | -| ir.cpp:2172:7:2172:7 | SideEffect | m2172_3 | -| ir.cpp:2172:7:2172:7 | SideEffect | m2172_16 | -| ir.cpp:2172:7:2172:7 | StoreValue | r2172_14 | -| ir.cpp:2172:7:2172:7 | Unary | m2172_6 | -| ir.cpp:2172:7:2172:7 | Unary | r2172_11 | -| ir.cpp:2172:7:2172:7 | Unary | r2172_12 | -| ir.cpp:2175:5:2175:23 | Address | &:r2175_5 | -| ir.cpp:2175:5:2175:23 | Address | &:r2175_5 | -| ir.cpp:2175:5:2175:23 | Address | &:r2175_7 | -| ir.cpp:2175:5:2175:23 | Address | &:r2175_7 | -| ir.cpp:2175:5:2175:23 | ChiPartial | partial:m2175_3 | -| ir.cpp:2175:5:2175:23 | ChiTotal | total:m2175_2 | -| ir.cpp:2175:5:2175:23 | Load | m2175_6 | -| ir.cpp:2175:5:2175:23 | SideEffect | m2175_20 | -| ir.cpp:2175:5:2175:23 | SideEffect | ~m2175_13 | -| ir.cpp:2175:29:2175:29 | Address | &:r2175_16 | -| ir.cpp:2175:29:2175:29 | Address | &:r2175_18 | -| ir.cpp:2175:29:2175:29 | Load | m2175_6 | -| ir.cpp:2175:29:2175:29 | Unary | r2175_17 | -| ir.cpp:2175:29:2175:40 | ChiPartial | partial:m2175_19 | -| ir.cpp:2175:29:2175:40 | ChiTotal | total:m2175_8 | -| ir.cpp:2175:33:2175:40 | Address | &:r2175_11 | -| ir.cpp:2175:33:2175:40 | Arg(0) | 0:r2175_10 | -| ir.cpp:2175:33:2175:40 | CallTarget | func:r2175_9 | -| ir.cpp:2175:33:2175:40 | ChiPartial | partial:m2175_12 | -| ir.cpp:2175:33:2175:40 | ChiTotal | total:m2175_4 | -| ir.cpp:2175:33:2175:40 | SideEffect | ~m2175_4 | -| ir.cpp:2175:33:2175:40 | StoreValue | r2175_15 | -| ir.cpp:2175:33:2175:40 | Unary | r2175_11 | -| ir.cpp:2176:5:2176:24 | Address | &:r2176_5 | -| ir.cpp:2176:5:2176:24 | Address | &:r2176_5 | -| ir.cpp:2176:5:2176:24 | Address | &:r2176_7 | -| ir.cpp:2176:5:2176:24 | Address | &:r2176_7 | -| ir.cpp:2176:5:2176:24 | ChiPartial | partial:m2176_3 | -| ir.cpp:2176:5:2176:24 | ChiTotal | total:m2176_2 | -| ir.cpp:2176:5:2176:24 | Load | m2176_6 | -| ir.cpp:2176:5:2176:24 | SideEffect | m2176_8 | -| ir.cpp:2176:5:2176:24 | SideEffect | ~m2176_16 | -| ir.cpp:2176:30:2176:37 | CallTarget | func:r2176_9 | -| ir.cpp:2176:30:2176:37 | ChiPartial | partial:m2176_15 | -| ir.cpp:2176:30:2176:37 | ChiTotal | total:m2176_4 | -| ir.cpp:2176:30:2176:37 | SideEffect | ~m2176_4 | -| ir.cpp:2176:37:2176:37 | Address | &:r2176_10 | -| ir.cpp:2176:37:2176:37 | Address | &:r2176_12 | -| ir.cpp:2176:37:2176:37 | Arg(0) | 0:r2176_13 | -| ir.cpp:2176:37:2176:37 | Load | m2176_6 | -| ir.cpp:2176:37:2176:37 | Load | ~m2176_8 | -| ir.cpp:2176:37:2176:37 | Unary | r2176_11 | -| ir.cpp:2178:10:2178:14 | Address | &:r2178_5 | -| ir.cpp:2178:10:2178:14 | Address | &:r2178_5 | -| ir.cpp:2178:10:2178:14 | Address | &:r2178_7 | -| ir.cpp:2178:10:2178:14 | Address | &:r2178_7 | -| ir.cpp:2178:10:2178:14 | ChiPartial | partial:m2178_3 | -| ir.cpp:2178:10:2178:14 | ChiTotal | total:m2178_2 | -| ir.cpp:2178:10:2178:14 | Load | m2178_6 | -| ir.cpp:2178:10:2178:14 | SideEffect | m2178_8 | -| ir.cpp:2178:10:2178:14 | SideEffect | ~m2178_19 | -| ir.cpp:2178:21:2178:21 | Address | &:r2178_9 | -| ir.cpp:2178:26:2178:27 | Address | &:r2178_17 | -| ir.cpp:2178:26:2178:31 | ChiPartial | partial:m2178_18 | -| ir.cpp:2178:26:2178:31 | ChiTotal | total:m2178_4 | -| ir.cpp:2178:27:2178:27 | Address | &:r2178_13 | -| ir.cpp:2178:27:2178:27 | Address | &:r2178_15 | -| ir.cpp:2178:27:2178:27 | Load | m2178_6 | -| ir.cpp:2178:27:2178:27 | Load | ~m2178_8 | -| ir.cpp:2178:27:2178:27 | Unary | r2178_14 | -| ir.cpp:2178:27:2178:27 | Unary | r2178_16 | -| ir.cpp:2178:31:2178:31 | Address | &:r2178_11 | -| ir.cpp:2178:31:2178:31 | Load | m2178_10 | -| ir.cpp:2178:31:2178:31 | StoreValue | r2178_12 | -| ir.cpp:2179:10:2179:14 | Address | &:r2179_5 | -| ir.cpp:2179:10:2179:14 | Address | &:r2179_5 | -| ir.cpp:2179:10:2179:14 | Address | &:r2179_7 | -| ir.cpp:2179:10:2179:14 | Address | &:r2179_7 | -| ir.cpp:2179:10:2179:14 | Address | &:r2179_17 | -| ir.cpp:2179:10:2179:14 | ChiPartial | partial:m2179_3 | -| ir.cpp:2179:10:2179:14 | ChiTotal | total:m2179_2 | -| ir.cpp:2179:10:2179:14 | Load | m2179_6 | -| ir.cpp:2179:10:2179:14 | Load | m2179_15 | -| ir.cpp:2179:10:2179:14 | SideEffect | m2179_3 | -| ir.cpp:2179:10:2179:14 | SideEffect | m2179_8 | -| ir.cpp:2179:20:2179:29 | Address | &:r2179_9 | -| ir.cpp:2179:27:2179:28 | Load | ~m2179_4 | -| ir.cpp:2179:27:2179:28 | StoreValue | r2179_14 | -| ir.cpp:2179:28:2179:28 | Address | &:r2179_10 | -| ir.cpp:2179:28:2179:28 | Address | &:r2179_12 | -| ir.cpp:2179:28:2179:28 | Address | &:r2179_13 | -| ir.cpp:2179:28:2179:28 | Load | m2179_6 | -| ir.cpp:2179:28:2179:28 | Load | ~m2179_8 | -| ir.cpp:2179:28:2179:28 | Unary | r2179_11 | -| ir.cpp:2182:16:2182:50 | Address | &:r2182_3 | -| ir.cpp:2182:16:2182:50 | SideEffect | ~m2182_6 | -| ir.cpp:2182:54:2182:57 | ChiPartial | partial:m2182_5 | -| ir.cpp:2182:54:2182:57 | ChiTotal | total:m2182_2 | -| ir.cpp:2182:54:2182:57 | StoreValue | r2182_4 | -| ir.cpp:2184:6:2184:35 | ChiPartial | partial:m2184_3 | -| ir.cpp:2184:6:2184:35 | ChiTotal | total:m2184_2 | -| ir.cpp:2184:6:2184:35 | Phi | from 13:~m2219_5 | -| ir.cpp:2184:6:2184:35 | Phi | from 19:~m2219_13 | -| ir.cpp:2184:6:2184:35 | Phi | from 23:~m2219_22 | -| ir.cpp:2184:6:2184:35 | SideEffect | ~m2184_9 | -| ir.cpp:2184:42:2184:42 | Address | &:r2184_5 | -| ir.cpp:2184:50:2184:50 | Address | &:r2184_7 | -| ir.cpp:2185:29:2185:29 | Address | &:r2185_1 | -| ir.cpp:2185:29:2185:29 | Address | &:r2185_1 | -| ir.cpp:2185:29:2185:29 | Arg(this) | this:r2185_1 | -| ir.cpp:2185:29:2185:29 | CallTarget | func:r2185_3 | -| ir.cpp:2185:29:2185:29 | ChiPartial | partial:m2185_5 | -| ir.cpp:2185:29:2185:29 | ChiPartial | partial:m2185_7 | -| ir.cpp:2185:29:2185:29 | ChiTotal | total:m2184_4 | -| ir.cpp:2185:29:2185:29 | ChiTotal | total:m2185_2 | -| ir.cpp:2185:29:2185:29 | SideEffect | ~m2184_4 | -| ir.cpp:2185:32:2185:32 | Address | &:r2185_9 | -| ir.cpp:2185:32:2185:32 | Condition | r2185_10 | -| ir.cpp:2185:32:2185:32 | Load | m2184_6 | -| ir.cpp:2186:9:2186:9 | Address | &:r2186_1 | -| ir.cpp:2186:9:2186:9 | Address | &:r2186_1 | -| ir.cpp:2186:9:2186:9 | Arg(this) | this:r2186_1 | -| ir.cpp:2186:9:2186:9 | ChiPartial | partial:m2186_8 | -| ir.cpp:2186:9:2186:9 | ChiTotal | total:m2185_8 | -| ir.cpp:2186:9:2186:9 | SideEffect | m2185_8 | -| ir.cpp:2186:11:2186:15 | CallTarget | func:r2186_2 | -| ir.cpp:2186:11:2186:15 | ChiPartial | partial:m2186_5 | -| ir.cpp:2186:11:2186:15 | ChiTotal | total:m2185_6 | -| ir.cpp:2186:11:2186:15 | SideEffect | ~m2185_6 | -| ir.cpp:2186:17:2186:19 | Arg(0) | 0:r2186_3 | -| ir.cpp:2186:21:2186:21 | Address | &:r2186_10 | -| ir.cpp:2186:21:2186:21 | Address | &:r2186_10 | -| ir.cpp:2186:21:2186:21 | Arg(this) | this:r2186_10 | -| ir.cpp:2186:21:2186:21 | CallTarget | func:r2186_11 | -| ir.cpp:2186:21:2186:21 | ChiPartial | partial:m2186_13 | -| ir.cpp:2186:21:2186:21 | ChiPartial | partial:m2186_16 | -| ir.cpp:2186:21:2186:21 | ChiTotal | total:m2186_6 | -| ir.cpp:2186:21:2186:21 | ChiTotal | total:m2186_9 | -| ir.cpp:2186:21:2186:21 | SideEffect | m2186_9 | -| ir.cpp:2186:21:2186:21 | SideEffect | ~m2186_6 | -| ir.cpp:2188:39:2188:39 | Address | &:r2188_2 | -| ir.cpp:2188:39:2188:39 | Address | &:r2188_2 | -| ir.cpp:2188:39:2188:39 | Arg(this) | this:r2188_2 | -| ir.cpp:2188:39:2188:39 | CallTarget | func:r2188_4 | -| ir.cpp:2188:39:2188:39 | ChiPartial | partial:m2188_6 | -| ir.cpp:2188:39:2188:39 | ChiPartial | partial:m2188_8 | -| ir.cpp:2188:39:2188:39 | ChiTotal | total:m2188_1 | -| ir.cpp:2188:39:2188:39 | ChiTotal | total:m2188_3 | -| ir.cpp:2188:39:2188:39 | Phi | from 0:~m2185_6 | -| ir.cpp:2188:39:2188:39 | Phi | from 2:~m2186_14 | -| ir.cpp:2188:39:2188:39 | SideEffect | ~m2188_1 | -| ir.cpp:2188:42:2188:76 | Condition | r2188_10 | -| ir.cpp:2189:9:2189:9 | Address | &:r2189_1 | -| ir.cpp:2189:9:2189:9 | Address | &:r2189_1 | -| ir.cpp:2189:9:2189:9 | Arg(this) | this:r2189_1 | -| ir.cpp:2189:9:2189:9 | ChiPartial | partial:m2189_8 | -| ir.cpp:2189:9:2189:9 | ChiTotal | total:m2188_9 | -| ir.cpp:2189:9:2189:9 | SideEffect | m2188_9 | -| ir.cpp:2189:11:2189:15 | CallTarget | func:r2189_2 | -| ir.cpp:2189:11:2189:15 | ChiPartial | partial:m2189_5 | -| ir.cpp:2189:11:2189:15 | ChiTotal | total:m2188_7 | -| ir.cpp:2189:11:2189:15 | SideEffect | ~m2188_7 | -| ir.cpp:2189:17:2189:19 | Arg(0) | 0:r2189_3 | -| ir.cpp:2191:32:2191:32 | Address | &:r2191_1 | -| ir.cpp:2191:32:2191:32 | Address | &:r2191_1 | -| ir.cpp:2191:32:2191:32 | Arg(this) | this:r2191_1 | -| ir.cpp:2191:32:2191:32 | CallTarget | func:r2191_3 | -| ir.cpp:2191:32:2191:32 | ChiPartial | partial:m2191_5 | -| ir.cpp:2191:32:2191:32 | ChiPartial | partial:m2191_7 | -| ir.cpp:2191:32:2191:32 | ChiTotal | total:m2189_6 | -| ir.cpp:2191:32:2191:32 | ChiTotal | total:m2191_2 | -| ir.cpp:2191:32:2191:32 | SideEffect | ~m2189_6 | -| ir.cpp:2191:35:2191:35 | Address | &:r2191_9 | -| ir.cpp:2191:35:2191:35 | Condition | r2191_11 | -| ir.cpp:2191:35:2191:35 | Load | m2184_8 | -| ir.cpp:2191:35:2191:35 | Unary | r2191_10 | -| ir.cpp:2193:11:2193:11 | Address | &:r2193_1 | -| ir.cpp:2193:11:2193:11 | Address | &:r2193_1 | -| ir.cpp:2193:11:2193:11 | Arg(this) | this:r2193_1 | -| ir.cpp:2193:11:2193:11 | ChiPartial | partial:m2193_8 | -| ir.cpp:2193:11:2193:11 | ChiTotal | total:m2191_8 | -| ir.cpp:2193:11:2193:11 | SideEffect | m2191_8 | -| ir.cpp:2193:13:2193:17 | CallTarget | func:r2193_2 | -| ir.cpp:2193:13:2193:17 | ChiPartial | partial:m2193_5 | -| ir.cpp:2193:13:2193:17 | ChiTotal | total:m2191_6 | -| ir.cpp:2193:13:2193:17 | SideEffect | ~m2191_6 | -| ir.cpp:2193:19:2193:21 | Arg(0) | 0:r2193_3 | -| ir.cpp:2196:11:2196:11 | Address | &:r2196_1 | -| ir.cpp:2196:11:2196:11 | Address | &:r2196_1 | -| ir.cpp:2196:11:2196:11 | Arg(this) | this:r2196_1 | -| ir.cpp:2196:11:2196:11 | ChiPartial | partial:m2196_8 | -| ir.cpp:2196:11:2196:11 | ChiTotal | total:m2191_8 | -| ir.cpp:2196:11:2196:11 | SideEffect | m2191_8 | -| ir.cpp:2196:13:2196:17 | CallTarget | func:r2196_2 | -| ir.cpp:2196:13:2196:17 | ChiPartial | partial:m2196_5 | -| ir.cpp:2196:13:2196:17 | ChiTotal | total:m2191_6 | -| ir.cpp:2196:13:2196:17 | SideEffect | ~m2191_6 | -| ir.cpp:2196:19:2196:21 | Arg(0) | 0:r2196_3 | -| ir.cpp:2198:5:2198:5 | Phi | from 5:~m2193_6 | -| ir.cpp:2198:5:2198:5 | Phi | from 6:~m2196_6 | -| ir.cpp:2200:25:2200:25 | Address | &:r2200_1 | -| ir.cpp:2200:25:2200:25 | Address | &:r2200_1 | -| ir.cpp:2200:25:2200:25 | Arg(this) | this:r2200_1 | -| ir.cpp:2200:25:2200:25 | CallTarget | func:r2200_3 | -| ir.cpp:2200:25:2200:25 | ChiPartial | partial:m2200_5 | -| ir.cpp:2200:25:2200:25 | ChiPartial | partial:m2200_7 | -| ir.cpp:2200:25:2200:25 | ChiTotal | total:m2198_1 | -| ir.cpp:2200:25:2200:25 | ChiTotal | total:m2200_2 | -| ir.cpp:2200:25:2200:25 | SideEffect | ~m2198_1 | -| ir.cpp:2201:5:2201:5 | Address | &:r2201_14 | -| ir.cpp:2201:5:2201:5 | Address | &:r2201_18 | -| ir.cpp:2201:5:2201:5 | Address | &:r2201_24 | -| ir.cpp:2201:42:2201:43 | Address | &:r2201_1 | -| ir.cpp:2201:42:2201:43 | Address | &:r2201_1 | -| ir.cpp:2201:42:2201:43 | Arg(this) | this:r2201_1 | -| ir.cpp:2201:45:2201:45 | Address | &:r2201_4 | -| ir.cpp:2201:45:2201:45 | Address | &:r2201_4 | -| ir.cpp:2201:45:2201:45 | Address | &:r2201_5 | -| ir.cpp:2201:45:2201:45 | Arg(0) | 0:r2201_8 | -| ir.cpp:2201:45:2201:45 | Load | m2200_8 | -| ir.cpp:2201:45:2201:45 | Load | m2201_7 | -| ir.cpp:2201:45:2201:45 | StoreValue | r2201_6 | -| ir.cpp:2201:45:2201:46 | CallTarget | func:r2201_3 | -| ir.cpp:2201:45:2201:46 | ChiPartial | partial:m2201_10 | -| ir.cpp:2201:45:2201:46 | ChiPartial | partial:m2201_12 | -| ir.cpp:2201:45:2201:46 | ChiTotal | total:m2200_6 | -| ir.cpp:2201:45:2201:46 | ChiTotal | total:m2201_2 | -| ir.cpp:2201:45:2201:46 | SideEffect | ~m2200_6 | -| ir.cpp:2201:69:2201:69 | Address | &:r2201_45 | -| ir.cpp:2201:69:2201:69 | Address | &:r2201_53 | -| ir.cpp:2201:69:2201:69 | Address | &:r2201_53 | -| ir.cpp:2201:69:2201:69 | Arg(this) | this:r2201_53 | -| ir.cpp:2201:69:2201:69 | CallTarget | func:r2201_54 | -| ir.cpp:2201:69:2201:69 | ChiPartial | partial:m2201_56 | -| ir.cpp:2201:69:2201:69 | ChiPartial | partial:m2201_59 | -| ir.cpp:2201:69:2201:69 | ChiTotal | total:m2202_6 | -| ir.cpp:2201:69:2201:69 | ChiTotal | total:m2202_9 | -| ir.cpp:2201:69:2201:69 | SideEffect | m2202_9 | -| ir.cpp:2201:69:2201:69 | SideEffect | ~m2202_6 | -| ir.cpp:2201:73:2201:73 | Address | &:r2201_19 | -| ir.cpp:2201:73:2201:73 | Address | &:r2201_25 | -| ir.cpp:2201:73:2201:73 | Address | &:r2201_48 | -| ir.cpp:2201:73:2201:73 | Address | &:r2201_61 | -| ir.cpp:2201:73:2201:73 | Address | &:r2201_61 | -| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_2 | -| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_5 | -| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_7 | -| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_8 | -| ir.cpp:2201:73:2201:73 | Arg(this) | this:r0_15 | -| ir.cpp:2201:73:2201:73 | Arg(this) | this:r2201_61 | -| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_21 | -| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_27 | -| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_33 | -| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_34 | -| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_47 | -| ir.cpp:2201:73:2201:73 | CallTarget | func:r2201_62 | -| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_37 | -| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_39 | -| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_42 | -| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_49 | -| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_64 | -| ir.cpp:2201:73:2201:73 | ChiPartial | partial:m2201_67 | -| ir.cpp:2201:73:2201:73 | ChiTotal | total:m0_9 | -| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_30 | -| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_31 | -| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_38 | -| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_43 | -| ir.cpp:2201:73:2201:73 | ChiTotal | total:m2201_57 | -| ir.cpp:2201:73:2201:73 | Condition | r2201_41 | -| ir.cpp:2201:73:2201:73 | Load | m2201_17 | -| ir.cpp:2201:73:2201:73 | Load | m2201_17 | -| ir.cpp:2201:73:2201:73 | Phi | from 7:m2201_23 | -| ir.cpp:2201:73:2201:73 | Phi | from 7:~m2201_11 | -| ir.cpp:2201:73:2201:73 | Phi | from 9:m2201_68 | -| ir.cpp:2201:73:2201:73 | Phi | from 9:~m2201_65 | -| ir.cpp:2201:73:2201:73 | SideEffect | m2201_30 | -| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_31 | -| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_38 | -| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_43 | -| ir.cpp:2201:73:2201:73 | SideEffect | ~m2201_57 | -| ir.cpp:2201:73:2201:73 | StoreValue | r2201_22 | -| ir.cpp:2201:73:2201:73 | StoreValue | r2201_28 | -| ir.cpp:2201:73:2201:73 | Unary | r2201_20 | -| ir.cpp:2201:73:2201:73 | Unary | r2201_26 | -| ir.cpp:2201:73:2201:73 | Unary | r2201_32 | -| ir.cpp:2201:73:2201:73 | Unary | r2201_35 | -| ir.cpp:2201:73:2201:73 | Unary | r2201_46 | -| ir.cpp:2201:73:2201:73 | Unary | r2201_63 | -| ir.cpp:2201:73:2201:74 | StoreValue | r2201_16 | -| ir.cpp:2201:73:2201:74 | Unary | r2201_15 | -| ir.cpp:2201:73:2201:75 | Load | ~m2201_50 | -| ir.cpp:2201:73:2201:75 | StoreValue | r2201_51 | -| ir.cpp:2202:7:2202:7 | Address | &:r2202_1 | -| ir.cpp:2202:7:2202:7 | Address | &:r2202_1 | -| ir.cpp:2202:7:2202:7 | Arg(this) | this:r2202_1 | -| ir.cpp:2202:7:2202:7 | ChiPartial | partial:m2202_8 | -| ir.cpp:2202:7:2202:7 | ChiTotal | total:m2201_52 | -| ir.cpp:2202:7:2202:7 | SideEffect | m2201_52 | -| ir.cpp:2202:9:2202:13 | CallTarget | func:r2202_2 | -| ir.cpp:2202:9:2202:13 | ChiPartial | partial:m2202_5 | -| ir.cpp:2202:9:2202:13 | ChiTotal | total:m2201_50 | -| ir.cpp:2202:9:2202:13 | SideEffect | ~m2201_50 | -| ir.cpp:2202:15:2202:17 | Arg(0) | 0:r2202_3 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_14 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_18 | -| ir.cpp:2204:5:2204:5 | Address | &:r2204_24 | -| ir.cpp:2204:42:2204:43 | Address | &:r2204_1 | -| ir.cpp:2204:42:2204:43 | Address | &:r2204_1 | -| ir.cpp:2204:42:2204:43 | Address | &:r2204_61 | -| ir.cpp:2204:42:2204:43 | Address | &:r2204_61 | -| ir.cpp:2204:42:2204:43 | Arg(this) | this:r2204_1 | -| ir.cpp:2204:42:2204:43 | Arg(this) | this:r2204_61 | -| ir.cpp:2204:42:2204:43 | CallTarget | func:r2204_62 | -| ir.cpp:2204:42:2204:43 | ChiPartial | partial:m2204_64 | -| ir.cpp:2204:42:2204:43 | ChiPartial | partial:m2204_67 | -| ir.cpp:2204:42:2204:43 | ChiTotal | total:m2204_13 | -| ir.cpp:2204:42:2204:43 | ChiTotal | total:m2204_57 | -| ir.cpp:2204:42:2204:43 | SideEffect | m2204_13 | -| ir.cpp:2204:42:2204:43 | SideEffect | ~m2204_57 | -| ir.cpp:2204:45:2204:45 | Address | &:r2204_4 | -| ir.cpp:2204:45:2204:45 | Address | &:r2204_4 | -| ir.cpp:2204:45:2204:45 | Address | &:r2204_5 | -| ir.cpp:2204:45:2204:45 | Arg(0) | 0:r2204_8 | -| ir.cpp:2204:45:2204:45 | Load | m2200_8 | -| ir.cpp:2204:45:2204:45 | Load | m2204_7 | -| ir.cpp:2204:45:2204:45 | StoreValue | r2204_6 | -| ir.cpp:2204:45:2204:46 | CallTarget | func:r2204_3 | -| ir.cpp:2204:45:2204:46 | ChiPartial | partial:m2204_10 | -| ir.cpp:2204:45:2204:46 | ChiPartial | partial:m2204_12 | -| ir.cpp:2204:45:2204:46 | ChiTotal | total:m2201_43 | -| ir.cpp:2204:45:2204:46 | ChiTotal | total:m2204_2 | -| ir.cpp:2204:45:2204:46 | SideEffect | ~m2201_43 | -| ir.cpp:2204:69:2204:69 | Address | &:r2204_45 | -| ir.cpp:2204:69:2204:69 | Address | &:r2204_53 | -| ir.cpp:2204:69:2204:69 | Address | &:r2204_53 | -| ir.cpp:2204:69:2204:69 | Address | &:r2204_69 | -| ir.cpp:2204:69:2204:69 | Address | &:r2204_69 | -| ir.cpp:2204:69:2204:69 | Arg(this) | this:r2204_53 | -| ir.cpp:2204:69:2204:69 | Arg(this) | this:r2204_69 | -| ir.cpp:2204:69:2204:69 | CallTarget | func:r2204_54 | -| ir.cpp:2204:69:2204:69 | CallTarget | func:r2204_70 | -| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_56 | -| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_59 | -| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_72 | -| ir.cpp:2204:69:2204:69 | ChiPartial | partial:m2204_75 | -| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_5 | -| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_5 | -| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_8 | -| ir.cpp:2204:69:2204:69 | ChiTotal | total:m2206_8 | -| ir.cpp:2204:69:2204:69 | SideEffect | m2206_8 | -| ir.cpp:2204:69:2204:69 | SideEffect | m2206_8 | -| ir.cpp:2204:69:2204:69 | SideEffect | ~m2206_5 | -| ir.cpp:2204:69:2204:69 | SideEffect | ~m2206_5 | -| ir.cpp:2204:73:2204:73 | Address | &:r2204_19 | -| ir.cpp:2204:73:2204:73 | Address | &:r2204_25 | -| ir.cpp:2204:73:2204:73 | Address | &:r2204_48 | -| ir.cpp:2204:73:2204:73 | Address | &:r2204_77 | -| ir.cpp:2204:73:2204:73 | Address | &:r2204_77 | -| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_18 | -| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_21 | -| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_23 | -| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_24 | -| ir.cpp:2204:73:2204:73 | Arg(this) | this:r0_31 | -| ir.cpp:2204:73:2204:73 | Arg(this) | this:r2204_77 | -| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_21 | -| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_27 | -| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_33 | -| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_34 | -| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_47 | -| ir.cpp:2204:73:2204:73 | CallTarget | func:r2204_78 | -| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_37 | -| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_39 | -| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_42 | -| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_49 | -| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_80 | -| ir.cpp:2204:73:2204:73 | ChiPartial | partial:m2204_83 | -| ir.cpp:2204:73:2204:73 | ChiTotal | total:m0_25 | -| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_30 | -| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_31 | -| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_38 | -| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_43 | -| ir.cpp:2204:73:2204:73 | ChiTotal | total:m2204_73 | -| ir.cpp:2204:73:2204:73 | Condition | r2204_41 | -| ir.cpp:2204:73:2204:73 | Load | m2204_17 | -| ir.cpp:2204:73:2204:73 | Load | m2204_17 | -| ir.cpp:2204:73:2204:73 | Phi | from 10:m2204_23 | -| ir.cpp:2204:73:2204:73 | Phi | from 10:~m2204_11 | -| ir.cpp:2204:73:2204:73 | Phi | from 14:m2204_84 | -| ir.cpp:2204:73:2204:73 | Phi | from 14:~m2204_81 | -| ir.cpp:2204:73:2204:73 | SideEffect | m2204_30 | -| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_31 | -| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_38 | -| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_43 | -| ir.cpp:2204:73:2204:73 | SideEffect | ~m2204_73 | -| ir.cpp:2204:73:2204:73 | StoreValue | r2204_22 | -| ir.cpp:2204:73:2204:73 | StoreValue | r2204_28 | -| ir.cpp:2204:73:2204:73 | Unary | r2204_20 | -| ir.cpp:2204:73:2204:73 | Unary | r2204_26 | -| ir.cpp:2204:73:2204:73 | Unary | r2204_32 | -| ir.cpp:2204:73:2204:73 | Unary | r2204_35 | -| ir.cpp:2204:73:2204:73 | Unary | r2204_46 | -| ir.cpp:2204:73:2204:73 | Unary | r2204_79 | -| ir.cpp:2204:73:2204:74 | StoreValue | r2204_16 | -| ir.cpp:2204:73:2204:74 | Unary | r2204_15 | -| ir.cpp:2204:73:2204:75 | Load | ~m2204_50 | -| ir.cpp:2204:73:2204:75 | StoreValue | r2204_51 | -| ir.cpp:2205:7:2205:7 | Address | &:r2205_1 | -| ir.cpp:2205:7:2205:7 | Address | &:r2205_1 | -| ir.cpp:2205:7:2205:7 | Arg(this) | this:r2205_1 | -| ir.cpp:2205:7:2205:7 | ChiPartial | partial:m2205_8 | -| ir.cpp:2205:7:2205:7 | ChiTotal | total:m2204_52 | -| ir.cpp:2205:7:2205:7 | SideEffect | m2204_52 | -| ir.cpp:2205:9:2205:13 | CallTarget | func:r2205_2 | -| ir.cpp:2205:9:2205:13 | ChiPartial | partial:m2205_5 | -| ir.cpp:2205:9:2205:13 | ChiTotal | total:m2204_50 | -| ir.cpp:2205:9:2205:13 | SideEffect | ~m2204_50 | -| ir.cpp:2205:15:2205:17 | Arg(0) | 0:r2205_3 | -| ir.cpp:2206:11:2206:11 | Address | &:r2206_1 | -| ir.cpp:2206:11:2206:11 | Address | &:r2206_1 | -| ir.cpp:2206:11:2206:11 | Arg(this) | this:r2206_1 | -| ir.cpp:2206:11:2206:11 | ChiPartial | partial:m2206_7 | -| ir.cpp:2206:11:2206:11 | ChiTotal | total:m2205_9 | -| ir.cpp:2206:11:2206:11 | SideEffect | m2205_9 | -| ir.cpp:2206:11:2206:19 | Left | r2206_9 | -| ir.cpp:2206:11:2206:26 | Condition | r2206_11 | -| ir.cpp:2206:13:2206:17 | CallTarget | func:r2206_2 | -| ir.cpp:2206:13:2206:17 | ChiPartial | partial:m2206_4 | -| ir.cpp:2206:13:2206:17 | ChiTotal | total:m2205_6 | -| ir.cpp:2206:13:2206:17 | SideEffect | ~m2205_6 | -| ir.cpp:2206:13:2206:17 | Unary | r2206_3 | -| ir.cpp:2206:24:2206:26 | Right | r2206_10 | -| ir.cpp:2210:5:2210:5 | Address | &:r2210_10 | -| ir.cpp:2210:5:2210:5 | Address | &:r2210_14 | -| ir.cpp:2210:5:2210:5 | Address | &:r2210_20 | -| ir.cpp:2210:26:2210:27 | Address | &:r2210_1 | -| ir.cpp:2210:26:2210:27 | Address | &:r2210_1 | -| ir.cpp:2210:26:2210:27 | Address | &:r2210_58 | -| ir.cpp:2210:26:2210:27 | Address | &:r2210_58 | -| ir.cpp:2210:26:2210:27 | Arg(this) | this:r2210_1 | -| ir.cpp:2210:26:2210:27 | Arg(this) | this:r2210_58 | -| ir.cpp:2210:26:2210:27 | CallTarget | func:r2210_59 | -| ir.cpp:2210:26:2210:27 | ChiPartial | partial:m2210_61 | -| ir.cpp:2210:26:2210:27 | ChiPartial | partial:m2210_64 | -| ir.cpp:2210:26:2210:27 | ChiTotal | total:m2210_9 | -| ir.cpp:2210:26:2210:27 | ChiTotal | total:m2210_55 | -| ir.cpp:2210:26:2210:27 | SideEffect | m2210_9 | -| ir.cpp:2210:26:2210:27 | SideEffect | ~m2210_55 | -| ir.cpp:2210:29:2210:29 | Arg(0) | 0:r2210_4 | -| ir.cpp:2210:29:2210:30 | CallTarget | func:r2210_3 | -| ir.cpp:2210:29:2210:30 | ChiPartial | partial:m2210_6 | -| ir.cpp:2210:29:2210:30 | ChiPartial | partial:m2210_8 | -| ir.cpp:2210:29:2210:30 | ChiTotal | total:m2204_43 | -| ir.cpp:2210:29:2210:30 | ChiTotal | total:m2210_2 | -| ir.cpp:2210:29:2210:30 | SideEffect | ~m2204_43 | -| ir.cpp:2210:37:2210:37 | Address | &:r2210_50 | -| ir.cpp:2210:41:2210:41 | Address | &:r2210_15 | -| ir.cpp:2210:41:2210:41 | Address | &:r2210_21 | -| ir.cpp:2210:41:2210:41 | Address | &:r2210_41 | -| ir.cpp:2210:41:2210:41 | Address | &:r2210_41 | -| ir.cpp:2210:41:2210:41 | Address | &:r2210_53 | -| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_34 | -| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_37 | -| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_39 | -| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_40 | -| ir.cpp:2210:41:2210:41 | Arg(this) | this:r0_47 | -| ir.cpp:2210:41:2210:41 | Arg(this) | this:r2210_41 | -| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_17 | -| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_23 | -| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_29 | -| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_30 | -| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_42 | -| ir.cpp:2210:41:2210:41 | CallTarget | func:r2210_52 | -| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_33 | -| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_35 | -| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_38 | -| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_44 | -| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_47 | -| ir.cpp:2210:41:2210:41 | ChiPartial | partial:m2210_54 | -| ir.cpp:2210:41:2210:41 | ChiTotal | total:m0_41 | -| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_26 | -| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_27 | -| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_34 | -| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_39 | -| ir.cpp:2210:41:2210:41 | ChiTotal | total:m2210_55 | -| ir.cpp:2210:41:2210:41 | Condition | r2210_37 | -| ir.cpp:2210:41:2210:41 | Load | m2210_13 | -| ir.cpp:2210:41:2210:41 | Load | m2210_13 | -| ir.cpp:2210:41:2210:41 | Phi | from 15:m2210_19 | -| ir.cpp:2210:41:2210:41 | Phi | from 15:~m2210_7 | -| ir.cpp:2210:41:2210:41 | Phi | from 17:m2210_48 | -| ir.cpp:2210:41:2210:41 | Phi | from 17:~m2210_45 | -| ir.cpp:2210:41:2210:41 | SideEffect | m2210_26 | -| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_27 | -| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_34 | -| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_39 | -| ir.cpp:2210:41:2210:41 | SideEffect | ~m2210_55 | -| ir.cpp:2210:41:2210:41 | StoreValue | r2210_18 | -| ir.cpp:2210:41:2210:41 | StoreValue | r2210_24 | -| ir.cpp:2210:41:2210:41 | Unary | r2210_16 | -| ir.cpp:2210:41:2210:41 | Unary | r2210_22 | -| ir.cpp:2210:41:2210:41 | Unary | r2210_28 | -| ir.cpp:2210:41:2210:41 | Unary | r2210_31 | -| ir.cpp:2210:41:2210:41 | Unary | r2210_43 | -| ir.cpp:2210:41:2210:41 | Unary | r2210_51 | -| ir.cpp:2210:41:2210:42 | StoreValue | r2210_12 | -| ir.cpp:2210:41:2210:42 | Unary | r2210_11 | -| ir.cpp:2210:41:2210:43 | Load | ~m2210_55 | -| ir.cpp:2210:41:2210:43 | StoreValue | r2210_56 | -| ir.cpp:2211:11:2211:11 | Address | &:r2211_1 | -| ir.cpp:2211:11:2211:11 | Left | r2211_2 | -| ir.cpp:2211:11:2211:11 | Load | m2210_57 | -| ir.cpp:2211:11:2211:16 | Condition | r2211_4 | -| ir.cpp:2211:16:2211:16 | Right | r2211_3 | +| ir.cpp:2141:13:2141:15 | CallTarget | func:r2141_2 | +| ir.cpp:2141:13:2141:15 | ChiPartial | partial:m2141_6 | +| ir.cpp:2141:13:2141:15 | ChiTotal | total:m2140_4 | +| ir.cpp:2141:13:2141:15 | SideEffect | ~m2140_4 | +| ir.cpp:2141:13:2141:15 | StoreValue | r2141_5 | +| ir.cpp:2141:17:2141:17 | Arg(0) | 0:r2141_3 | +| ir.cpp:2141:19:2141:19 | Arg(1) | 1:r2141_4 | +| ir.cpp:2142:9:2142:9 | Address | &:r2142_1 | +| ir.cpp:2142:9:2142:9 | Left | r2142_2 | +| ir.cpp:2142:9:2142:9 | Load | m2141_8 | +| ir.cpp:2142:9:2142:14 | Condition | r2142_4 | +| ir.cpp:2142:14:2142:14 | Right | r2142_3 | +| ir.cpp:2143:9:2143:12 | CallTarget | func:r2143_1 | +| ir.cpp:2143:9:2143:12 | ChiPartial | partial:m2143_4 | +| ir.cpp:2143:9:2143:12 | ChiTotal | total:m2141_7 | +| ir.cpp:2143:9:2143:12 | SideEffect | ~m2141_7 | +| ir.cpp:2143:14:2143:14 | Arg(0) | 0:r2143_2 | +| ir.cpp:2144:5:2144:12 | CallTarget | func:r2144_1 | +| ir.cpp:2144:5:2144:12 | ChiPartial | partial:m2144_3 | +| ir.cpp:2144:5:2144:12 | ChiTotal | total:m2141_7 | +| ir.cpp:2144:5:2144:12 | SideEffect | ~m2141_7 | +| ir.cpp:2145:5:2145:13 | Address | &:r2145_1 | +| ir.cpp:2145:12:2145:12 | Address | &:r2145_2 | +| ir.cpp:2145:12:2145:12 | Load | m2141_8 | +| ir.cpp:2145:12:2145:12 | StoreValue | r2145_3 | +| ir.cpp:2148:6:2148:17 | ChiPartial | partial:m2148_3 | +| ir.cpp:2148:6:2148:17 | ChiTotal | total:m2148_2 | +| ir.cpp:2149:5:2149:12 | CallTarget | func:r2149_1 | +| ir.cpp:2149:5:2149:12 | ChiPartial | partial:m2149_3 | +| ir.cpp:2149:5:2149:12 | ChiTotal | total:m2148_4 | +| ir.cpp:2149:5:2149:12 | SideEffect | ~m2148_4 | +| ir.cpp:2150:5:2150:8 | CallTarget | func:r2150_1 | +| ir.cpp:2150:5:2150:8 | ChiPartial | partial:m2150_4 | +| ir.cpp:2150:5:2150:8 | ChiTotal | total:m2149_4 | +| ir.cpp:2150:5:2150:8 | SideEffect | ~m2149_4 | +| ir.cpp:2150:10:2150:10 | Arg(0) | 0:r2150_2 | +| ir.cpp:2153:5:2153:16 | Address | &:r2153_6 | +| ir.cpp:2153:5:2153:16 | ChiPartial | partial:m2153_3 | +| ir.cpp:2153:5:2153:16 | ChiTotal | total:m2153_2 | +| ir.cpp:2153:5:2153:16 | Load | m2158_4 | +| ir.cpp:2153:5:2153:16 | SideEffect | ~m2157_4 | +| ir.cpp:2154:9:2154:9 | Address | &:r2154_1 | +| ir.cpp:2154:13:2154:15 | CallTarget | func:r2154_2 | +| ir.cpp:2154:13:2154:15 | ChiPartial | partial:m2154_6 | +| ir.cpp:2154:13:2154:15 | ChiTotal | total:m2153_4 | +| ir.cpp:2154:13:2154:15 | SideEffect | ~m2153_4 | +| ir.cpp:2154:13:2154:15 | StoreValue | r2154_5 | +| ir.cpp:2154:17:2154:17 | Arg(0) | 0:r2154_3 | +| ir.cpp:2154:19:2154:19 | Arg(1) | 1:r2154_4 | +| ir.cpp:2155:9:2155:9 | Address | &:r2155_1 | +| ir.cpp:2155:9:2155:9 | Left | r2155_2 | +| ir.cpp:2155:9:2155:9 | Load | m2154_8 | +| ir.cpp:2155:9:2155:14 | Condition | r2155_4 | +| ir.cpp:2155:14:2155:14 | Right | r2155_3 | +| ir.cpp:2156:9:2156:20 | CallTarget | func:r2156_1 | +| ir.cpp:2157:5:2157:12 | CallTarget | func:r2157_1 | +| ir.cpp:2157:5:2157:12 | ChiPartial | partial:m2157_3 | +| ir.cpp:2157:5:2157:12 | ChiTotal | total:m2154_7 | +| ir.cpp:2157:5:2157:12 | SideEffect | ~m2154_7 | +| ir.cpp:2158:5:2158:13 | Address | &:r2158_1 | +| ir.cpp:2158:12:2158:12 | Address | &:r2158_2 | +| ir.cpp:2158:12:2158:12 | Load | m2154_8 | +| ir.cpp:2158:12:2158:12 | StoreValue | r2158_3 | +| ir.cpp:2161:6:2161:24 | ChiPartial | partial:m2161_3 | +| ir.cpp:2161:6:2161:24 | ChiTotal | total:m2161_2 | +| ir.cpp:2161:6:2161:24 | SideEffect | ~m2167_8 | +| ir.cpp:2161:33:2161:33 | Address | &:r2161_5 | +| ir.cpp:2162:3:2162:12 | Address | &:r2162_6 | +| ir.cpp:2162:3:2162:12 | Arg(0) | 0:r2162_5 | +| ir.cpp:2162:3:2162:12 | CallTarget | func:r2162_1 | +| ir.cpp:2162:3:2162:12 | ChiPartial | partial:m2162_7 | +| ir.cpp:2162:3:2162:12 | ChiTotal | total:m2161_4 | +| ir.cpp:2162:3:2162:12 | Right | r2162_4 | +| ir.cpp:2162:3:2162:12 | SideEffect | ~m2161_4 | +| ir.cpp:2162:3:2162:12 | Unary | r2162_6 | +| ir.cpp:2162:11:2162:11 | Address | &:r2162_2 | +| ir.cpp:2162:11:2162:11 | Left | r2162_3 | +| ir.cpp:2162:11:2162:11 | Load | m2161_6 | +| ir.cpp:2163:3:2163:18 | Address | &:r2163_7 | +| ir.cpp:2163:3:2163:18 | Arg(0) | 0:r2163_5 | +| ir.cpp:2163:3:2163:18 | CallTarget | func:r2163_1 | +| ir.cpp:2163:3:2163:18 | ChiPartial | partial:m2163_8 | +| ir.cpp:2163:3:2163:18 | ChiTotal | total:m2162_8 | +| ir.cpp:2163:3:2163:18 | Right | r2163_4 | +| ir.cpp:2163:3:2163:18 | SideEffect | ~m2162_8 | +| ir.cpp:2163:3:2163:18 | Unary | r2163_7 | +| ir.cpp:2163:7:2163:10 | Arg(1) | 1:r2163_6 | +| ir.cpp:2163:17:2163:17 | Address | &:r2163_2 | +| ir.cpp:2163:17:2163:17 | Left | r2163_3 | +| ir.cpp:2163:17:2163:17 | Load | m2161_6 | +| ir.cpp:2164:3:2164:15 | Address | &:r2164_6 | +| ir.cpp:2164:3:2164:15 | Arg(0) | 0:r2164_5 | +| ir.cpp:2164:3:2164:15 | CallTarget | func:r2164_1 | +| ir.cpp:2164:3:2164:15 | ChiPartial | partial:m2164_7 | +| ir.cpp:2164:3:2164:15 | ChiTotal | total:m2163_9 | +| ir.cpp:2164:3:2164:15 | Right | r2164_4 | +| ir.cpp:2164:3:2164:15 | SideEffect | ~m2163_9 | +| ir.cpp:2164:3:2164:15 | Unary | r2164_6 | +| ir.cpp:2164:14:2164:14 | Address | &:r2164_2 | +| ir.cpp:2164:14:2164:14 | Left | r2164_3 | +| ir.cpp:2164:14:2164:14 | Load | m2161_6 | +| ir.cpp:2165:3:2165:20 | Address | &:r2165_7 | +| ir.cpp:2165:3:2165:20 | Arg(0) | 0:r2165_5 | +| ir.cpp:2165:3:2165:20 | CallTarget | func:r2165_1 | +| ir.cpp:2165:3:2165:20 | ChiPartial | partial:m2165_8 | +| ir.cpp:2165:3:2165:20 | ChiTotal | total:m2164_8 | +| ir.cpp:2165:3:2165:20 | Right | r2165_4 | +| ir.cpp:2165:3:2165:20 | SideEffect | ~m2164_8 | +| ir.cpp:2165:3:2165:20 | Unary | r2165_7 | +| ir.cpp:2165:19:2165:19 | Address | &:r2165_2 | +| ir.cpp:2165:19:2165:19 | Left | r2165_3 | +| ir.cpp:2165:19:2165:19 | Load | m2161_6 | +| ir.cpp:2165:21:2165:21 | Arg(1) | 1:r2165_6 | +| ir.cpp:2166:3:2166:36 | Address | &:r2166_6 | +| ir.cpp:2166:3:2166:36 | Arg(0) | 0:r2166_5 | +| ir.cpp:2166:3:2166:36 | CallTarget | func:r2166_1 | +| ir.cpp:2166:3:2166:36 | ChiPartial | partial:m2166_7 | +| ir.cpp:2166:3:2166:36 | ChiTotal | total:m2165_9 | +| ir.cpp:2166:3:2166:36 | Right | r2166_4 | +| ir.cpp:2166:3:2166:36 | SideEffect | ~m2165_9 | +| ir.cpp:2166:3:2166:36 | Unary | r2166_6 | +| ir.cpp:2166:35:2166:35 | Address | &:r2166_2 | +| ir.cpp:2166:35:2166:35 | Left | r2166_3 | +| ir.cpp:2166:35:2166:35 | Load | m2161_6 | +| ir.cpp:2167:3:2167:24 | Address | &:r2167_6 | +| ir.cpp:2167:3:2167:24 | Arg(0) | 0:r2167_5 | +| ir.cpp:2167:3:2167:24 | CallTarget | func:r2167_1 | +| ir.cpp:2167:3:2167:24 | ChiPartial | partial:m2167_7 | +| ir.cpp:2167:3:2167:24 | ChiTotal | total:m2166_8 | +| ir.cpp:2167:3:2167:24 | Right | r2167_4 | +| ir.cpp:2167:3:2167:24 | SideEffect | ~m2166_8 | +| ir.cpp:2167:3:2167:24 | Unary | r2167_6 | +| ir.cpp:2167:11:2167:11 | Address | &:r2167_2 | +| ir.cpp:2167:11:2167:11 | Left | r2167_3 | +| ir.cpp:2167:11:2167:11 | Load | m2161_6 | +| ir.cpp:2172:7:2172:17 | Address | &:r2172_10 | +| ir.cpp:2172:7:2172:17 | ChiPartial | partial:m2172_3 | +| ir.cpp:2172:7:2172:17 | ChiTotal | total:m2172_2 | +| ir.cpp:2172:7:2172:17 | Load | m2175_4 | +| ir.cpp:2172:7:2172:17 | SideEffect | m2172_3 | +| ir.cpp:2172:25:2172:25 | Address | &:r2172_5 | +| ir.cpp:2172:25:2172:25 | Address | &:r2172_5 | +| ir.cpp:2172:25:2172:25 | Address | &:r2172_7 | +| ir.cpp:2172:25:2172:25 | Address | &:r2172_7 | +| ir.cpp:2172:25:2172:25 | Load | m2172_6 | +| ir.cpp:2172:25:2172:25 | SideEffect | m2172_8 | +| ir.cpp:2173:9:2173:11 | Address | &:r2173_1 | +| ir.cpp:2174:10:2174:10 | Address | &:r2174_1 | +| ir.cpp:2174:14:2174:19 | CallTarget | func:r2174_2 | +| ir.cpp:2174:14:2174:19 | StoreValue | r2174_8 | +| ir.cpp:2174:21:2174:21 | Address | &:r2174_3 | +| ir.cpp:2174:21:2174:21 | Address | &:r2174_5 | +| ir.cpp:2174:21:2174:21 | Arg(0) | 0:r2174_5 | +| ir.cpp:2174:21:2174:21 | Load | m2172_6 | +| ir.cpp:2174:21:2174:21 | SideEffect | ~m2172_8 | +| ir.cpp:2174:21:2174:21 | Unary | r2174_4 | +| ir.cpp:2174:24:2174:27 | Address | &:r2174_7 | +| ir.cpp:2174:24:2174:27 | Arg(1) | 1:r2174_7 | +| ir.cpp:2174:24:2174:27 | ChiPartial | partial:m2174_10 | +| ir.cpp:2174:24:2174:27 | ChiTotal | total:m2173_2 | +| ir.cpp:2174:25:2174:27 | Unary | r2174_6 | +| ir.cpp:2175:3:2175:13 | Address | &:r2175_1 | +| ir.cpp:2175:10:2175:12 | Address | &:r2175_2 | +| ir.cpp:2175:10:2175:12 | Load | m2174_11 | +| ir.cpp:2175:10:2175:12 | StoreValue | r2175_3 | +| ir.cpp:2182:6:2182:39 | ChiPartial | partial:m2182_3 | +| ir.cpp:2182:6:2182:39 | ChiTotal | total:m2182_2 | +| ir.cpp:2182:6:2182:39 | SideEffect | ~m2183_8 | +| ir.cpp:2183:6:2183:42 | Address | &:r2183_1 | +| ir.cpp:2183:6:2183:42 | Condition | r2183_12 | +| ir.cpp:2183:22:2183:22 | Address | &:r2183_4 | +| ir.cpp:2183:22:2183:22 | Address | &:r2183_4 | +| ir.cpp:2183:22:2183:22 | Arg(this) | this:r2183_4 | +| ir.cpp:2183:22:2183:22 | CallTarget | func:r2183_5 | +| ir.cpp:2183:22:2183:22 | ChiPartial | partial:m2183_7 | +| ir.cpp:2183:22:2183:22 | ChiPartial | partial:m2183_10 | +| ir.cpp:2183:22:2183:22 | ChiTotal | total:m2182_4 | +| ir.cpp:2183:22:2183:22 | ChiTotal | total:m2183_3 | +| ir.cpp:2183:22:2183:22 | SideEffect | m2183_3 | +| ir.cpp:2183:22:2183:22 | SideEffect | ~m2182_4 | +| ir.cpp:2183:22:2183:22 | Unary | r2183_6 | +| ir.cpp:2183:25:2183:42 | StoreValue | r2183_2 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_5 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_5 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_7 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_7 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_9 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_10 | +| ir.cpp:2186:7:2186:7 | Address | &:r2186_13 | +| ir.cpp:2186:7:2186:7 | ChiPartial | partial:m2186_3 | +| ir.cpp:2186:7:2186:7 | ChiPartial | partial:m2186_15 | +| ir.cpp:2186:7:2186:7 | ChiTotal | total:m2186_2 | +| ir.cpp:2186:7:2186:7 | ChiTotal | total:m2186_8 | +| ir.cpp:2186:7:2186:7 | Load | m0_2 | +| ir.cpp:2186:7:2186:7 | Load | m2186_6 | +| ir.cpp:2186:7:2186:7 | Load | ~m0_4 | +| ir.cpp:2186:7:2186:7 | SideEffect | m2186_3 | +| ir.cpp:2186:7:2186:7 | SideEffect | m2186_16 | +| ir.cpp:2186:7:2186:7 | StoreValue | r2186_14 | +| ir.cpp:2186:7:2186:7 | Unary | m2186_6 | +| ir.cpp:2186:7:2186:7 | Unary | r2186_11 | +| ir.cpp:2186:7:2186:7 | Unary | r2186_12 | +| ir.cpp:2189:5:2189:23 | Address | &:r2189_5 | +| ir.cpp:2189:5:2189:23 | Address | &:r2189_5 | +| ir.cpp:2189:5:2189:23 | Address | &:r2189_7 | +| ir.cpp:2189:5:2189:23 | Address | &:r2189_7 | +| ir.cpp:2189:5:2189:23 | ChiPartial | partial:m2189_3 | +| ir.cpp:2189:5:2189:23 | ChiTotal | total:m2189_2 | +| ir.cpp:2189:5:2189:23 | Load | m2189_6 | +| ir.cpp:2189:5:2189:23 | SideEffect | m2189_20 | +| ir.cpp:2189:5:2189:23 | SideEffect | ~m2189_13 | +| ir.cpp:2189:29:2189:29 | Address | &:r2189_16 | +| ir.cpp:2189:29:2189:29 | Address | &:r2189_18 | +| ir.cpp:2189:29:2189:29 | Load | m2189_6 | +| ir.cpp:2189:29:2189:29 | Unary | r2189_17 | +| ir.cpp:2189:29:2189:40 | ChiPartial | partial:m2189_19 | +| ir.cpp:2189:29:2189:40 | ChiTotal | total:m2189_8 | +| ir.cpp:2189:33:2189:40 | Address | &:r2189_11 | +| ir.cpp:2189:33:2189:40 | Arg(0) | 0:r2189_10 | +| ir.cpp:2189:33:2189:40 | CallTarget | func:r2189_9 | +| ir.cpp:2189:33:2189:40 | ChiPartial | partial:m2189_12 | +| ir.cpp:2189:33:2189:40 | ChiTotal | total:m2189_4 | +| ir.cpp:2189:33:2189:40 | SideEffect | ~m2189_4 | +| ir.cpp:2189:33:2189:40 | StoreValue | r2189_15 | +| ir.cpp:2189:33:2189:40 | Unary | r2189_11 | +| ir.cpp:2190:5:2190:24 | Address | &:r2190_5 | +| ir.cpp:2190:5:2190:24 | Address | &:r2190_5 | +| ir.cpp:2190:5:2190:24 | Address | &:r2190_7 | +| ir.cpp:2190:5:2190:24 | Address | &:r2190_7 | +| ir.cpp:2190:5:2190:24 | ChiPartial | partial:m2190_3 | +| ir.cpp:2190:5:2190:24 | ChiTotal | total:m2190_2 | +| ir.cpp:2190:5:2190:24 | Load | m2190_6 | +| ir.cpp:2190:5:2190:24 | SideEffect | m2190_8 | +| ir.cpp:2190:5:2190:24 | SideEffect | ~m2190_16 | +| ir.cpp:2190:30:2190:37 | CallTarget | func:r2190_9 | +| ir.cpp:2190:30:2190:37 | ChiPartial | partial:m2190_15 | +| ir.cpp:2190:30:2190:37 | ChiTotal | total:m2190_4 | +| ir.cpp:2190:30:2190:37 | SideEffect | ~m2190_4 | +| ir.cpp:2190:37:2190:37 | Address | &:r2190_10 | +| ir.cpp:2190:37:2190:37 | Address | &:r2190_12 | +| ir.cpp:2190:37:2190:37 | Arg(0) | 0:r2190_13 | +| ir.cpp:2190:37:2190:37 | Load | m2190_6 | +| ir.cpp:2190:37:2190:37 | Load | ~m2190_8 | +| ir.cpp:2190:37:2190:37 | Unary | r2190_11 | +| ir.cpp:2192:10:2192:14 | Address | &:r2192_5 | +| ir.cpp:2192:10:2192:14 | Address | &:r2192_5 | +| ir.cpp:2192:10:2192:14 | Address | &:r2192_7 | +| ir.cpp:2192:10:2192:14 | Address | &:r2192_7 | +| ir.cpp:2192:10:2192:14 | ChiPartial | partial:m2192_3 | +| ir.cpp:2192:10:2192:14 | ChiTotal | total:m2192_2 | +| ir.cpp:2192:10:2192:14 | Load | m2192_6 | +| ir.cpp:2192:10:2192:14 | SideEffect | m2192_8 | +| ir.cpp:2192:10:2192:14 | SideEffect | ~m2192_19 | +| ir.cpp:2192:21:2192:21 | Address | &:r2192_9 | +| ir.cpp:2192:26:2192:27 | Address | &:r2192_17 | +| ir.cpp:2192:26:2192:31 | ChiPartial | partial:m2192_18 | +| ir.cpp:2192:26:2192:31 | ChiTotal | total:m2192_4 | +| ir.cpp:2192:27:2192:27 | Address | &:r2192_13 | +| ir.cpp:2192:27:2192:27 | Address | &:r2192_15 | +| ir.cpp:2192:27:2192:27 | Load | m2192_6 | +| ir.cpp:2192:27:2192:27 | Load | ~m2192_8 | +| ir.cpp:2192:27:2192:27 | Unary | r2192_14 | +| ir.cpp:2192:27:2192:27 | Unary | r2192_16 | +| ir.cpp:2192:31:2192:31 | Address | &:r2192_11 | +| ir.cpp:2192:31:2192:31 | Load | m2192_10 | +| ir.cpp:2192:31:2192:31 | StoreValue | r2192_12 | +| ir.cpp:2193:10:2193:14 | Address | &:r2193_5 | +| ir.cpp:2193:10:2193:14 | Address | &:r2193_5 | +| ir.cpp:2193:10:2193:14 | Address | &:r2193_7 | +| ir.cpp:2193:10:2193:14 | Address | &:r2193_7 | +| ir.cpp:2193:10:2193:14 | Address | &:r2193_17 | +| ir.cpp:2193:10:2193:14 | ChiPartial | partial:m2193_3 | +| ir.cpp:2193:10:2193:14 | ChiTotal | total:m2193_2 | +| ir.cpp:2193:10:2193:14 | Load | m2193_6 | +| ir.cpp:2193:10:2193:14 | Load | m2193_15 | +| ir.cpp:2193:10:2193:14 | SideEffect | m2193_3 | +| ir.cpp:2193:10:2193:14 | SideEffect | m2193_8 | +| ir.cpp:2193:20:2193:29 | Address | &:r2193_9 | +| ir.cpp:2193:27:2193:28 | Load | ~m2193_4 | +| ir.cpp:2193:27:2193:28 | StoreValue | r2193_14 | +| ir.cpp:2193:28:2193:28 | Address | &:r2193_10 | +| ir.cpp:2193:28:2193:28 | Address | &:r2193_12 | +| ir.cpp:2193:28:2193:28 | Address | &:r2193_13 | +| ir.cpp:2193:28:2193:28 | Load | m2193_6 | +| ir.cpp:2193:28:2193:28 | Load | ~m2193_8 | +| ir.cpp:2193:28:2193:28 | Unary | r2193_11 | +| ir.cpp:2196:16:2196:50 | Address | &:r2196_3 | +| ir.cpp:2196:16:2196:50 | SideEffect | ~m2196_6 | +| ir.cpp:2196:54:2196:57 | ChiPartial | partial:m2196_5 | +| ir.cpp:2196:54:2196:57 | ChiTotal | total:m2196_2 | +| ir.cpp:2196:54:2196:57 | StoreValue | r2196_4 | +| ir.cpp:2198:6:2198:35 | ChiPartial | partial:m2198_3 | +| ir.cpp:2198:6:2198:35 | ChiTotal | total:m2198_2 | +| ir.cpp:2198:6:2198:35 | Phi | from 13:~m2233_5 | +| ir.cpp:2198:6:2198:35 | Phi | from 19:~m2233_13 | +| ir.cpp:2198:6:2198:35 | Phi | from 23:~m2233_22 | +| ir.cpp:2198:6:2198:35 | SideEffect | ~m2198_9 | +| ir.cpp:2198:42:2198:42 | Address | &:r2198_5 | +| ir.cpp:2198:50:2198:50 | Address | &:r2198_7 | +| ir.cpp:2199:29:2199:29 | Address | &:r2199_1 | +| ir.cpp:2199:29:2199:29 | Address | &:r2199_1 | +| ir.cpp:2199:29:2199:29 | Arg(this) | this:r2199_1 | +| ir.cpp:2199:29:2199:29 | CallTarget | func:r2199_3 | +| ir.cpp:2199:29:2199:29 | ChiPartial | partial:m2199_5 | +| ir.cpp:2199:29:2199:29 | ChiPartial | partial:m2199_7 | +| ir.cpp:2199:29:2199:29 | ChiTotal | total:m2198_4 | +| ir.cpp:2199:29:2199:29 | ChiTotal | total:m2199_2 | +| ir.cpp:2199:29:2199:29 | SideEffect | ~m2198_4 | +| ir.cpp:2199:32:2199:32 | Address | &:r2199_9 | +| ir.cpp:2199:32:2199:32 | Condition | r2199_10 | +| ir.cpp:2199:32:2199:32 | Load | m2198_6 | +| ir.cpp:2200:9:2200:9 | Address | &:r2200_1 | +| ir.cpp:2200:9:2200:9 | Address | &:r2200_1 | +| ir.cpp:2200:9:2200:9 | Arg(this) | this:r2200_1 | +| ir.cpp:2200:9:2200:9 | ChiPartial | partial:m2200_8 | +| ir.cpp:2200:9:2200:9 | ChiTotal | total:m2199_8 | +| ir.cpp:2200:9:2200:9 | SideEffect | m2199_8 | +| ir.cpp:2200:11:2200:15 | CallTarget | func:r2200_2 | +| ir.cpp:2200:11:2200:15 | ChiPartial | partial:m2200_5 | +| ir.cpp:2200:11:2200:15 | ChiTotal | total:m2199_6 | +| ir.cpp:2200:11:2200:15 | SideEffect | ~m2199_6 | +| ir.cpp:2200:17:2200:19 | Arg(0) | 0:r2200_3 | +| ir.cpp:2200:21:2200:21 | Address | &:r2200_10 | +| ir.cpp:2200:21:2200:21 | Address | &:r2200_10 | +| ir.cpp:2200:21:2200:21 | Arg(this) | this:r2200_10 | +| ir.cpp:2200:21:2200:21 | CallTarget | func:r2200_11 | +| ir.cpp:2200:21:2200:21 | ChiPartial | partial:m2200_13 | +| ir.cpp:2200:21:2200:21 | ChiPartial | partial:m2200_16 | +| ir.cpp:2200:21:2200:21 | ChiTotal | total:m2200_6 | +| ir.cpp:2200:21:2200:21 | ChiTotal | total:m2200_9 | +| ir.cpp:2200:21:2200:21 | SideEffect | m2200_9 | +| ir.cpp:2200:21:2200:21 | SideEffect | ~m2200_6 | +| ir.cpp:2202:39:2202:39 | Address | &:r2202_2 | +| ir.cpp:2202:39:2202:39 | Address | &:r2202_2 | +| ir.cpp:2202:39:2202:39 | Arg(this) | this:r2202_2 | +| ir.cpp:2202:39:2202:39 | CallTarget | func:r2202_4 | +| ir.cpp:2202:39:2202:39 | ChiPartial | partial:m2202_6 | +| ir.cpp:2202:39:2202:39 | ChiPartial | partial:m2202_8 | +| ir.cpp:2202:39:2202:39 | ChiTotal | total:m2202_1 | +| ir.cpp:2202:39:2202:39 | ChiTotal | total:m2202_3 | +| ir.cpp:2202:39:2202:39 | Phi | from 0:~m2199_6 | +| ir.cpp:2202:39:2202:39 | Phi | from 2:~m2200_14 | +| ir.cpp:2202:39:2202:39 | SideEffect | ~m2202_1 | +| ir.cpp:2202:42:2202:76 | Condition | r2202_10 | +| ir.cpp:2203:9:2203:9 | Address | &:r2203_1 | +| ir.cpp:2203:9:2203:9 | Address | &:r2203_1 | +| ir.cpp:2203:9:2203:9 | Arg(this) | this:r2203_1 | +| ir.cpp:2203:9:2203:9 | ChiPartial | partial:m2203_8 | +| ir.cpp:2203:9:2203:9 | ChiTotal | total:m2202_9 | +| ir.cpp:2203:9:2203:9 | SideEffect | m2202_9 | +| ir.cpp:2203:11:2203:15 | CallTarget | func:r2203_2 | +| ir.cpp:2203:11:2203:15 | ChiPartial | partial:m2203_5 | +| ir.cpp:2203:11:2203:15 | ChiTotal | total:m2202_7 | +| ir.cpp:2203:11:2203:15 | SideEffect | ~m2202_7 | +| ir.cpp:2203:17:2203:19 | Arg(0) | 0:r2203_3 | +| ir.cpp:2205:32:2205:32 | Address | &:r2205_1 | +| ir.cpp:2205:32:2205:32 | Address | &:r2205_1 | +| ir.cpp:2205:32:2205:32 | Arg(this) | this:r2205_1 | +| ir.cpp:2205:32:2205:32 | CallTarget | func:r2205_3 | +| ir.cpp:2205:32:2205:32 | ChiPartial | partial:m2205_5 | +| ir.cpp:2205:32:2205:32 | ChiPartial | partial:m2205_7 | +| ir.cpp:2205:32:2205:32 | ChiTotal | total:m2203_6 | +| ir.cpp:2205:32:2205:32 | ChiTotal | total:m2205_2 | +| ir.cpp:2205:32:2205:32 | SideEffect | ~m2203_6 | +| ir.cpp:2205:35:2205:35 | Address | &:r2205_9 | +| ir.cpp:2205:35:2205:35 | Condition | r2205_11 | +| ir.cpp:2205:35:2205:35 | Load | m2198_8 | +| ir.cpp:2205:35:2205:35 | Unary | r2205_10 | +| ir.cpp:2207:11:2207:11 | Address | &:r2207_1 | +| ir.cpp:2207:11:2207:11 | Address | &:r2207_1 | +| ir.cpp:2207:11:2207:11 | Arg(this) | this:r2207_1 | +| ir.cpp:2207:11:2207:11 | ChiPartial | partial:m2207_8 | +| ir.cpp:2207:11:2207:11 | ChiTotal | total:m2205_8 | +| ir.cpp:2207:11:2207:11 | SideEffect | m2205_8 | +| ir.cpp:2207:13:2207:17 | CallTarget | func:r2207_2 | +| ir.cpp:2207:13:2207:17 | ChiPartial | partial:m2207_5 | +| ir.cpp:2207:13:2207:17 | ChiTotal | total:m2205_6 | +| ir.cpp:2207:13:2207:17 | SideEffect | ~m2205_6 | +| ir.cpp:2207:19:2207:21 | Arg(0) | 0:r2207_3 | +| ir.cpp:2210:11:2210:11 | Address | &:r2210_1 | +| ir.cpp:2210:11:2210:11 | Address | &:r2210_1 | +| ir.cpp:2210:11:2210:11 | Arg(this) | this:r2210_1 | +| ir.cpp:2210:11:2210:11 | ChiPartial | partial:m2210_8 | +| ir.cpp:2210:11:2210:11 | ChiTotal | total:m2205_8 | +| ir.cpp:2210:11:2210:11 | SideEffect | m2205_8 | +| ir.cpp:2210:13:2210:17 | CallTarget | func:r2210_2 | +| ir.cpp:2210:13:2210:17 | ChiPartial | partial:m2210_5 | +| ir.cpp:2210:13:2210:17 | ChiTotal | total:m2205_6 | +| ir.cpp:2210:13:2210:17 | SideEffect | ~m2205_6 | +| ir.cpp:2210:19:2210:21 | Arg(0) | 0:r2210_3 | +| ir.cpp:2212:5:2212:5 | Phi | from 5:~m2207_6 | +| ir.cpp:2212:5:2212:5 | Phi | from 6:~m2210_6 | +| ir.cpp:2214:25:2214:25 | Address | &:r2214_1 | +| ir.cpp:2214:25:2214:25 | Address | &:r2214_1 | +| ir.cpp:2214:25:2214:25 | Arg(this) | this:r2214_1 | +| ir.cpp:2214:25:2214:25 | CallTarget | func:r2214_3 | +| ir.cpp:2214:25:2214:25 | ChiPartial | partial:m2214_5 | +| ir.cpp:2214:25:2214:25 | ChiPartial | partial:m2214_7 | +| ir.cpp:2214:25:2214:25 | ChiTotal | total:m2212_1 | +| ir.cpp:2214:25:2214:25 | ChiTotal | total:m2214_2 | +| ir.cpp:2214:25:2214:25 | SideEffect | ~m2212_1 | | ir.cpp:2215:5:2215:5 | Address | &:r2215_14 | | ir.cpp:2215:5:2215:5 | Address | &:r2215_18 | | ir.cpp:2215:5:2215:5 | Address | &:r2215_24 | @@ -11496,15 +11221,15 @@ | ir.cpp:2215:45:2215:45 | Address | &:r2215_4 | | ir.cpp:2215:45:2215:45 | Address | &:r2215_5 | | ir.cpp:2215:45:2215:45 | Arg(0) | 0:r2215_8 | -| ir.cpp:2215:45:2215:45 | Load | m2200_8 | +| ir.cpp:2215:45:2215:45 | Load | m2214_8 | | ir.cpp:2215:45:2215:45 | Load | m2215_7 | | ir.cpp:2215:45:2215:45 | StoreValue | r2215_6 | | ir.cpp:2215:45:2215:46 | CallTarget | func:r2215_3 | | ir.cpp:2215:45:2215:46 | ChiPartial | partial:m2215_10 | | ir.cpp:2215:45:2215:46 | ChiPartial | partial:m2215_12 | -| ir.cpp:2215:45:2215:46 | ChiTotal | total:m2210_39 | +| ir.cpp:2215:45:2215:46 | ChiTotal | total:m2214_6 | | ir.cpp:2215:45:2215:46 | ChiTotal | total:m2215_2 | -| ir.cpp:2215:45:2215:46 | SideEffect | ~m2210_39 | +| ir.cpp:2215:45:2215:46 | SideEffect | ~m2214_6 | | ir.cpp:2215:69:2215:69 | Address | &:r2215_45 | | ir.cpp:2215:69:2215:69 | Address | &:r2215_53 | | ir.cpp:2215:69:2215:69 | Address | &:r2215_53 | @@ -11512,20 +11237,20 @@ | ir.cpp:2215:69:2215:69 | CallTarget | func:r2215_54 | | ir.cpp:2215:69:2215:69 | ChiPartial | partial:m2215_56 | | ir.cpp:2215:69:2215:69 | ChiPartial | partial:m2215_59 | -| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2215_52 | -| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2218_13 | -| ir.cpp:2215:69:2215:69 | SideEffect | m2215_52 | -| ir.cpp:2215:69:2215:69 | SideEffect | ~m2218_13 | +| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2216_6 | +| ir.cpp:2215:69:2215:69 | ChiTotal | total:m2216_9 | +| ir.cpp:2215:69:2215:69 | SideEffect | m2216_9 | +| ir.cpp:2215:69:2215:69 | SideEffect | ~m2216_6 | | ir.cpp:2215:73:2215:73 | Address | &:r2215_19 | | ir.cpp:2215:73:2215:73 | Address | &:r2215_25 | | ir.cpp:2215:73:2215:73 | Address | &:r2215_48 | | ir.cpp:2215:73:2215:73 | Address | &:r2215_61 | | ir.cpp:2215:73:2215:73 | Address | &:r2215_61 | -| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_50 | -| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_53 | -| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_55 | -| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_56 | -| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_63 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_2 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_5 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_7 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_8 | +| ir.cpp:2215:73:2215:73 | Arg(this) | this:r0_15 | | ir.cpp:2215:73:2215:73 | Arg(this) | this:r2215_61 | | ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_21 | | ir.cpp:2215:73:2215:73 | CallTarget | func:r2215_27 | @@ -11539,7 +11264,7 @@ | ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_49 | | ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_64 | | ir.cpp:2215:73:2215:73 | ChiPartial | partial:m2215_67 | -| ir.cpp:2215:73:2215:73 | ChiTotal | total:m0_57 | +| ir.cpp:2215:73:2215:73 | ChiTotal | total:m0_9 | | ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_30 | | ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_31 | | ir.cpp:2215:73:2215:73 | ChiTotal | total:m2215_38 | @@ -11548,10 +11273,10 @@ | ir.cpp:2215:73:2215:73 | Condition | r2215_41 | | ir.cpp:2215:73:2215:73 | Load | m2215_17 | | ir.cpp:2215:73:2215:73 | Load | m2215_17 | -| ir.cpp:2215:73:2215:73 | Phi | from 20:m2215_23 | -| ir.cpp:2215:73:2215:73 | Phi | from 20:~m2215_11 | -| ir.cpp:2215:73:2215:73 | Phi | from 22:m2215_68 | -| ir.cpp:2215:73:2215:73 | Phi | from 22:~m2215_65 | +| ir.cpp:2215:73:2215:73 | Phi | from 7:m2215_23 | +| ir.cpp:2215:73:2215:73 | Phi | from 7:~m2215_11 | +| ir.cpp:2215:73:2215:73 | Phi | from 9:m2215_68 | +| ir.cpp:2215:73:2215:73 | Phi | from 9:~m2215_65 | | ir.cpp:2215:73:2215:73 | SideEffect | m2215_30 | | ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_31 | | ir.cpp:2215:73:2215:73 | SideEffect | ~m2215_38 | @@ -11569,688 +11294,749 @@ | ir.cpp:2215:73:2215:74 | Unary | r2215_15 | | ir.cpp:2215:73:2215:75 | Load | ~m2215_50 | | ir.cpp:2215:73:2215:75 | StoreValue | r2215_51 | -| ir.cpp:2216:27:2216:28 | Address | &:r2216_1 | -| ir.cpp:2216:27:2216:28 | Address | &:r2216_1 | -| ir.cpp:2216:27:2216:28 | Arg(this) | this:r2216_1 | -| ir.cpp:2216:27:2216:28 | CallTarget | func:r2216_3 | -| ir.cpp:2216:27:2216:28 | ChiPartial | partial:m2216_5 | -| ir.cpp:2216:27:2216:28 | ChiPartial | partial:m2216_7 | -| ir.cpp:2216:27:2216:28 | ChiTotal | total:m2215_50 | -| ir.cpp:2216:27:2216:28 | ChiTotal | total:m2216_2 | -| ir.cpp:2216:27:2216:28 | SideEffect | ~m2215_50 | -| ir.cpp:2217:27:2217:28 | Address | &:r2217_1 | -| ir.cpp:2217:27:2217:28 | Address | &:r2217_1 | -| ir.cpp:2217:27:2217:28 | Arg(this) | this:r2217_1 | -| ir.cpp:2217:27:2217:28 | CallTarget | func:r2217_3 | -| ir.cpp:2217:27:2217:28 | ChiPartial | partial:m2217_5 | -| ir.cpp:2217:27:2217:28 | ChiPartial | partial:m2217_7 | -| ir.cpp:2217:27:2217:28 | ChiTotal | total:m2216_6 | -| ir.cpp:2217:27:2217:28 | ChiTotal | total:m2217_2 | -| ir.cpp:2217:27:2217:28 | SideEffect | ~m2216_6 | -| ir.cpp:2218:5:2218:5 | Address | &:r2218_1 | -| ir.cpp:2218:5:2218:5 | Address | &:r2218_1 | -| ir.cpp:2218:5:2218:5 | Address | &:r2218_9 | -| ir.cpp:2218:5:2218:5 | Address | &:r2218_9 | -| ir.cpp:2218:5:2218:5 | Arg(this) | this:r2218_1 | -| ir.cpp:2218:5:2218:5 | Arg(this) | this:r2218_9 | -| ir.cpp:2218:5:2218:5 | CallTarget | func:r2218_2 | -| ir.cpp:2218:5:2218:5 | CallTarget | func:r2218_10 | -| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_4 | -| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_7 | -| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_12 | -| ir.cpp:2218:5:2218:5 | ChiPartial | partial:m2218_15 | -| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2216_8 | -| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2217_6 | -| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2217_8 | -| ir.cpp:2218:5:2218:5 | ChiTotal | total:m2218_5 | -| ir.cpp:2218:5:2218:5 | SideEffect | m2216_8 | -| ir.cpp:2218:5:2218:5 | SideEffect | m2217_8 | -| ir.cpp:2218:5:2218:5 | SideEffect | ~m2217_6 | -| ir.cpp:2218:5:2218:5 | SideEffect | ~m2218_5 | -| ir.cpp:2219:1:2219:1 | Address | &:r2219_1 | -| ir.cpp:2219:1:2219:1 | Address | &:r2219_1 | -| ir.cpp:2219:1:2219:1 | Address | &:r2219_9 | -| ir.cpp:2219:1:2219:1 | Address | &:r2219_9 | -| ir.cpp:2219:1:2219:1 | Address | &:r2219_18 | -| ir.cpp:2219:1:2219:1 | Address | &:r2219_18 | -| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_1 | -| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_9 | -| ir.cpp:2219:1:2219:1 | Arg(this) | this:r2219_18 | -| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_2 | -| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_10 | -| ir.cpp:2219:1:2219:1 | CallTarget | func:r2219_19 | -| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_4 | -| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_7 | -| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_12 | -| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_15 | -| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_21 | -| ir.cpp:2219:1:2219:1 | ChiPartial | partial:m2219_24 | -| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | -| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | -| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2200_8 | -| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2204_65 | -| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2210_62 | -| ir.cpp:2219:1:2219:1 | ChiTotal | total:m2215_43 | -| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | -| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | -| ir.cpp:2219:1:2219:1 | SideEffect | m2200_8 | -| ir.cpp:2219:1:2219:1 | SideEffect | ~m2204_65 | -| ir.cpp:2219:1:2219:1 | SideEffect | ~m2210_62 | -| ir.cpp:2219:1:2219:1 | SideEffect | ~m2215_43 | -| ir.cpp:2221:6:2221:38 | ChiPartial | partial:m2221_3 | -| ir.cpp:2221:6:2221:38 | ChiTotal | total:m2221_2 | -| ir.cpp:2221:6:2221:38 | SideEffect | ~m2224_7 | -| ir.cpp:2222:25:2222:25 | Address | &:r2222_1 | -| ir.cpp:2222:25:2222:25 | Address | &:r2222_1 | -| ir.cpp:2222:25:2222:25 | Arg(this) | this:r2222_1 | -| ir.cpp:2222:25:2222:25 | CallTarget | func:r2222_3 | -| ir.cpp:2222:25:2222:25 | ChiPartial | partial:m2222_5 | -| ir.cpp:2222:25:2222:25 | ChiPartial | partial:m2222_7 | -| ir.cpp:2222:25:2222:25 | ChiTotal | total:m2221_4 | -| ir.cpp:2222:25:2222:25 | ChiTotal | total:m2222_2 | -| ir.cpp:2222:25:2222:25 | SideEffect | ~m2221_4 | -| ir.cpp:2223:32:2223:32 | Address | &:r2223_1 | -| ir.cpp:2223:32:2223:32 | Address | &:r2223_1 | -| ir.cpp:2223:32:2223:32 | Address | &:r2223_4 | -| ir.cpp:2223:32:2223:32 | Arg(this) | this:r2223_4 | -| ir.cpp:2223:32:2223:32 | ChiPartial | partial:m2223_6 | -| ir.cpp:2223:32:2223:32 | ChiTotal | total:m0_6 | -| ir.cpp:2223:32:2223:32 | Condition | r2223_2 | -| ir.cpp:2223:32:2223:32 | Load | ~m2222_6 | -| ir.cpp:2223:32:2223:32 | StoreValue | r2223_5 | -| ir.cpp:2224:1:2224:1 | Address | &:r2224_3 | -| ir.cpp:2224:1:2224:1 | Address | &:r2224_3 | -| ir.cpp:2224:1:2224:1 | Arg(this) | this:r2224_3 | -| ir.cpp:2224:1:2224:1 | CallTarget | func:r2224_4 | -| ir.cpp:2224:1:2224:1 | ChiPartial | partial:m2224_6 | -| ir.cpp:2224:1:2224:1 | ChiPartial | partial:m2224_9 | -| ir.cpp:2224:1:2224:1 | ChiTotal | total:m2222_8 | -| ir.cpp:2224:1:2224:1 | ChiTotal | total:m2224_1 | -| ir.cpp:2224:1:2224:1 | Phi | from 0:~m2222_6 | -| ir.cpp:2224:1:2224:1 | Phi | from 1:~m2223_7 | -| ir.cpp:2224:1:2224:1 | SideEffect | m2222_8 | -| ir.cpp:2224:1:2224:1 | SideEffect | ~m2224_1 | -| ir.cpp:2226:6:2226:38 | ChiPartial | partial:m2226_3 | -| ir.cpp:2226:6:2226:38 | ChiTotal | total:m2226_2 | -| ir.cpp:2226:6:2226:38 | SideEffect | ~m2229_6 | -| ir.cpp:2227:32:2227:32 | Address | &:r2227_1 | -| ir.cpp:2227:32:2227:32 | Address | &:r2227_1 | -| ir.cpp:2227:32:2227:32 | Address | &:r2227_4 | -| ir.cpp:2227:32:2227:32 | Arg(this) | this:r2227_4 | -| ir.cpp:2227:32:2227:32 | ChiPartial | partial:m2227_6 | -| ir.cpp:2227:32:2227:32 | ChiTotal | total:m0_6 | -| ir.cpp:2227:32:2227:32 | Condition | r2227_2 | -| ir.cpp:2227:32:2227:32 | Load | ~m2226_3 | -| ir.cpp:2227:32:2227:32 | StoreValue | r2227_5 | -| ir.cpp:2228:25:2228:25 | Address | &:r2228_2 | -| ir.cpp:2228:25:2228:25 | Address | &:r2228_2 | -| ir.cpp:2228:25:2228:25 | Arg(this) | this:r2228_2 | -| ir.cpp:2228:25:2228:25 | CallTarget | func:r2228_4 | -| ir.cpp:2228:25:2228:25 | ChiPartial | partial:m2228_6 | -| ir.cpp:2228:25:2228:25 | ChiPartial | partial:m2228_8 | -| ir.cpp:2228:25:2228:25 | ChiTotal | total:m2228_1 | -| ir.cpp:2228:25:2228:25 | ChiTotal | total:m2228_3 | -| ir.cpp:2228:25:2228:25 | Phi | from 0:~m2226_4 | -| ir.cpp:2228:25:2228:25 | Phi | from 1:~m2227_7 | -| ir.cpp:2228:25:2228:25 | SideEffect | ~m2228_1 | -| ir.cpp:2229:1:2229:1 | Address | &:r2229_2 | -| ir.cpp:2229:1:2229:1 | Address | &:r2229_2 | -| ir.cpp:2229:1:2229:1 | Arg(this) | this:r2229_2 | -| ir.cpp:2229:1:2229:1 | CallTarget | func:r2229_3 | -| ir.cpp:2229:1:2229:1 | ChiPartial | partial:m2229_5 | -| ir.cpp:2229:1:2229:1 | ChiPartial | partial:m2229_8 | -| ir.cpp:2229:1:2229:1 | ChiTotal | total:m2228_7 | -| ir.cpp:2229:1:2229:1 | ChiTotal | total:m2228_9 | -| ir.cpp:2229:1:2229:1 | SideEffect | m2228_9 | -| ir.cpp:2229:1:2229:1 | SideEffect | ~m2228_7 | -| ir.cpp:2231:6:2231:38 | ChiPartial | partial:m2231_3 | -| ir.cpp:2231:6:2231:38 | ChiTotal | total:m2231_2 | -| ir.cpp:2231:6:2231:38 | SideEffect | ~m2235_15 | -| ir.cpp:2232:25:2232:25 | Address | &:r2232_1 | -| ir.cpp:2232:25:2232:25 | Address | &:r2232_1 | -| ir.cpp:2232:25:2232:25 | Arg(this) | this:r2232_1 | -| ir.cpp:2232:25:2232:25 | CallTarget | func:r2232_3 | -| ir.cpp:2232:25:2232:25 | ChiPartial | partial:m2232_5 | -| ir.cpp:2232:25:2232:25 | ChiPartial | partial:m2232_7 | -| ir.cpp:2232:25:2232:25 | ChiTotal | total:m2231_4 | -| ir.cpp:2232:25:2232:25 | ChiTotal | total:m2232_2 | -| ir.cpp:2232:25:2232:25 | SideEffect | ~m2231_4 | -| ir.cpp:2233:25:2233:25 | Address | &:r2233_1 | -| ir.cpp:2233:25:2233:25 | Address | &:r2233_1 | -| ir.cpp:2233:25:2233:25 | Arg(this) | this:r2233_1 | -| ir.cpp:2233:25:2233:25 | CallTarget | func:r2233_3 | -| ir.cpp:2233:25:2233:25 | ChiPartial | partial:m2233_5 | -| ir.cpp:2233:25:2233:25 | ChiPartial | partial:m2233_7 | -| ir.cpp:2233:25:2233:25 | ChiTotal | total:m2232_6 | -| ir.cpp:2233:25:2233:25 | ChiTotal | total:m2233_2 | -| ir.cpp:2233:25:2233:25 | SideEffect | ~m2232_6 | -| ir.cpp:2234:32:2234:32 | Address | &:r2234_1 | -| ir.cpp:2234:32:2234:32 | Address | &:r2234_1 | -| ir.cpp:2234:32:2234:32 | Address | &:r2234_4 | -| ir.cpp:2234:32:2234:32 | Arg(this) | this:r2234_4 | -| ir.cpp:2234:32:2234:32 | ChiPartial | partial:m2234_6 | -| ir.cpp:2234:32:2234:32 | ChiTotal | total:m0_6 | -| ir.cpp:2234:32:2234:32 | Condition | r2234_2 | -| ir.cpp:2234:32:2234:32 | Load | ~m2233_6 | -| ir.cpp:2234:32:2234:32 | StoreValue | r2234_5 | -| ir.cpp:2235:1:2235:1 | Address | &:r2235_3 | -| ir.cpp:2235:1:2235:1 | Address | &:r2235_3 | -| ir.cpp:2235:1:2235:1 | Address | &:r2235_11 | -| ir.cpp:2235:1:2235:1 | Address | &:r2235_11 | -| ir.cpp:2235:1:2235:1 | Arg(this) | this:r2235_3 | -| ir.cpp:2235:1:2235:1 | Arg(this) | this:r2235_11 | -| ir.cpp:2235:1:2235:1 | CallTarget | func:r2235_4 | -| ir.cpp:2235:1:2235:1 | CallTarget | func:r2235_12 | -| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_6 | -| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_9 | -| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_14 | -| ir.cpp:2235:1:2235:1 | ChiPartial | partial:m2235_17 | -| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2232_8 | -| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2233_8 | -| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2235_1 | -| ir.cpp:2235:1:2235:1 | ChiTotal | total:m2235_7 | -| ir.cpp:2235:1:2235:1 | Phi | from 0:~m2233_6 | -| ir.cpp:2235:1:2235:1 | Phi | from 1:~m2234_7 | -| ir.cpp:2235:1:2235:1 | SideEffect | m2232_8 | -| ir.cpp:2235:1:2235:1 | SideEffect | m2233_8 | -| ir.cpp:2235:1:2235:1 | SideEffect | ~m2235_1 | -| ir.cpp:2235:1:2235:1 | SideEffect | ~m2235_7 | -| ir.cpp:2237:28:2237:55 | Address | &:r2237_3 | -| ir.cpp:2237:28:2237:55 | Arg(this) | this:r2237_3 | -| ir.cpp:2237:28:2237:55 | CallTarget | func:r2237_4 | -| ir.cpp:2237:28:2237:55 | ChiPartial | partial:m2237_6 | -| ir.cpp:2237:28:2237:55 | ChiPartial | partial:m2237_8 | -| ir.cpp:2237:28:2237:55 | ChiTotal | total:m2237_2 | -| ir.cpp:2237:28:2237:55 | ChiTotal | total:m2237_7 | -| ir.cpp:2237:28:2237:55 | SideEffect | ~m2237_2 | -| ir.cpp:2237:28:2237:55 | SideEffect | ~m2237_9 | -| ir.cpp:2241:8:2241:8 | Address | &:r2241_16 | -| ir.cpp:2241:8:2241:8 | Address | &:r2241_16 | -| ir.cpp:2241:8:2241:8 | ChiPartial | partial:m2241_3 | -| ir.cpp:2241:8:2241:8 | ChiPartial | partial:m2241_3 | -| ir.cpp:2241:8:2241:8 | ChiTotal | total:m2241_2 | -| ir.cpp:2241:8:2241:8 | ChiTotal | total:m2241_2 | -| ir.cpp:2241:8:2241:8 | Load | m2241_14 | -| ir.cpp:2241:8:2241:8 | Load | m2241_14 | -| ir.cpp:2241:8:2241:8 | SideEffect | m2241_3 | -| ir.cpp:2241:8:2241:8 | SideEffect | m2241_3 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_5 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | -| ir.cpp:2241:15:2241:15 | Address | &:r2241_7 | -| ir.cpp:2241:15:2241:15 | Load | m2241_6 | -| ir.cpp:2241:15:2241:15 | Load | m2241_6 | -| ir.cpp:2241:15:2241:15 | SideEffect | m2241_8 | -| ir.cpp:2241:15:2241:15 | SideEffect | m2241_8 | -| ir.cpp:2241:20:2241:28 | Address | &:r2241_9 | -| ir.cpp:2241:20:2241:28 | Address | &:r2241_9 | -| ir.cpp:2241:27:2241:27 | Address | &:r2241_10 | -| ir.cpp:2241:27:2241:27 | Address | &:r2241_10 | -| ir.cpp:2241:27:2241:27 | Load | m2241_6 | -| ir.cpp:2241:27:2241:27 | Load | m2241_6 | -| ir.cpp:2241:27:2241:27 | StoreValue | r2241_13 | -| ir.cpp:2241:27:2241:27 | StoreValue | r2241_13 | -| ir.cpp:2241:27:2241:27 | Unary | r2241_11 | -| ir.cpp:2241:27:2241:27 | Unary | r2241_11 | -| ir.cpp:2241:27:2241:27 | Unary | r2241_12 | -| ir.cpp:2241:27:2241:27 | Unary | r2241_12 | -| ir.cpp:2244:10:2244:10 | ChiPartial | partial:m2244_3 | -| ir.cpp:2244:10:2244:10 | ChiPartial | partial:m2244_3 | -| ir.cpp:2244:10:2244:10 | ChiTotal | total:m2244_2 | -| ir.cpp:2244:10:2244:10 | ChiTotal | total:m2244_2 | -| ir.cpp:2244:10:2244:10 | SideEffect | ~m2245_8 | -| ir.cpp:2244:10:2244:10 | SideEffect | ~m2245_16 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_5 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | -| ir.cpp:2244:29:2244:29 | Address | &:r2244_7 | -| ir.cpp:2244:29:2244:29 | Load | m2244_6 | -| ir.cpp:2244:29:2244:29 | Load | m2244_6 | -| ir.cpp:2244:29:2244:29 | SideEffect | m2245_11 | -| ir.cpp:2244:29:2244:29 | SideEffect | m2245_19 | -| ir.cpp:2245:9:2245:11 | CallTarget | func:r2245_1 | -| ir.cpp:2245:9:2245:11 | CallTarget | func:r2245_1 | -| ir.cpp:2245:9:2245:11 | ChiPartial | partial:m2245_7 | -| ir.cpp:2245:9:2245:11 | ChiPartial | partial:m2245_7 | -| ir.cpp:2245:9:2245:11 | ChiTotal | total:m2244_4 | -| ir.cpp:2245:9:2245:11 | ChiTotal | total:m2244_4 | -| ir.cpp:2245:9:2245:11 | SideEffect | ~m2244_4 | -| ir.cpp:2245:9:2245:11 | SideEffect | ~m2244_4 | -| ir.cpp:2245:9:2245:11 | Unary | r2245_6 | -| ir.cpp:2245:9:2245:11 | Unary | r2245_6 | -| ir.cpp:2245:12:2245:15 | Address | &:r2245_12 | -| ir.cpp:2245:12:2245:15 | Address | &:r2245_12 | -| ir.cpp:2245:12:2245:15 | ChiPartial | partial:m2245_18 | -| ir.cpp:2245:12:2245:15 | ChiTotal | total:m2245_11 | -| ir.cpp:2245:12:2245:15 | SideEffect | ~m2245_11 | -| ir.cpp:2245:13:2245:13 | Address | &:r2245_2 | -| ir.cpp:2245:13:2245:13 | Address | &:r2245_2 | -| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | -| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | -| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | -| ir.cpp:2245:13:2245:13 | Address | &:r2245_5 | -| ir.cpp:2245:13:2245:13 | Arg(0) | 0:r2245_5 | -| ir.cpp:2245:13:2245:13 | Arg(0) | 0:r2245_5 | -| ir.cpp:2245:13:2245:13 | ChiPartial | partial:m2245_10 | -| ir.cpp:2245:13:2245:13 | ChiPartial | partial:m2245_10 | -| ir.cpp:2245:13:2245:13 | ChiTotal | total:m2244_8 | -| ir.cpp:2245:13:2245:13 | ChiTotal | total:m2244_8 | -| ir.cpp:2245:13:2245:13 | Load | m2244_6 | -| ir.cpp:2245:13:2245:13 | Load | m2244_6 | -| ir.cpp:2245:13:2245:13 | SideEffect | ~m2244_8 | -| ir.cpp:2245:13:2245:13 | SideEffect | ~m2244_8 | -| ir.cpp:2245:13:2245:13 | Unary | r2245_3 | -| ir.cpp:2245:13:2245:13 | Unary | r2245_3 | -| ir.cpp:2245:13:2245:13 | Unary | r2245_4 | -| ir.cpp:2245:13:2245:13 | Unary | r2245_4 | -| ir.cpp:2245:16:2245:17 | CallTarget | func:r2245_13 | -| ir.cpp:2245:16:2245:17 | ChiPartial | partial:m2245_15 | -| ir.cpp:2245:16:2245:17 | ChiTotal | total:m2245_8 | -| ir.cpp:2245:16:2245:17 | SideEffect | ~m2245_8 | -| ir.cpp:2248:10:2248:36 | ChiPartial | partial:m2248_3 | -| ir.cpp:2248:10:2248:36 | ChiTotal | total:m2248_2 | -| ir.cpp:2248:10:2248:36 | SideEffect | ~m2251_6 | -| ir.cpp:2249:29:2249:29 | Address | &:r2249_1 | -| ir.cpp:2249:29:2249:29 | Address | &:r2249_1 | -| ir.cpp:2249:29:2249:29 | Arg(this) | this:r2249_1 | -| ir.cpp:2249:29:2249:29 | CallTarget | func:r2249_3 | -| ir.cpp:2249:29:2249:29 | ChiPartial | partial:m2249_5 | -| ir.cpp:2249:29:2249:29 | ChiPartial | partial:m2249_7 | -| ir.cpp:2249:29:2249:29 | ChiTotal | total:m2248_4 | -| ir.cpp:2249:29:2249:29 | ChiTotal | total:m2249_2 | -| ir.cpp:2249:29:2249:29 | SideEffect | ~m2248_4 | -| ir.cpp:2250:9:2250:23 | CallTarget | func:r2250_1 | -| ir.cpp:2250:9:2250:23 | ChiPartial | partial:m2250_5 | -| ir.cpp:2250:9:2250:23 | ChiTotal | total:m2249_6 | -| ir.cpp:2250:9:2250:23 | SideEffect | ~m2249_6 | -| ir.cpp:2250:25:2250:25 | Address | &:r2250_3 | -| ir.cpp:2250:25:2250:25 | Address | &:r2250_3 | -| ir.cpp:2250:25:2250:25 | Arg(0) | 0:r2250_3 | -| ir.cpp:2250:25:2250:25 | ChiPartial | partial:m2250_8 | -| ir.cpp:2250:25:2250:25 | ChiTotal | total:m2249_8 | -| ir.cpp:2250:25:2250:25 | SideEffect | ~m2249_8 | -| ir.cpp:2250:25:2250:25 | Unary | r2250_2 | -| ir.cpp:2251:5:2251:5 | Address | &:r2251_2 | -| ir.cpp:2251:5:2251:5 | Address | &:r2251_2 | -| ir.cpp:2251:5:2251:5 | Arg(this) | this:r2251_2 | -| ir.cpp:2251:5:2251:5 | CallTarget | func:r2251_3 | -| ir.cpp:2251:5:2251:5 | ChiPartial | partial:m2251_5 | -| ir.cpp:2251:5:2251:5 | ChiPartial | partial:m2251_8 | -| ir.cpp:2251:5:2251:5 | ChiTotal | total:m2250_6 | -| ir.cpp:2251:5:2251:5 | ChiTotal | total:m2250_9 | -| ir.cpp:2251:5:2251:5 | SideEffect | m2250_9 | -| ir.cpp:2251:5:2251:5 | SideEffect | ~m2250_6 | -| ir.cpp:2253:10:2253:32 | ChiPartial | partial:m2253_3 | -| ir.cpp:2253:10:2253:32 | ChiTotal | total:m2253_2 | -| ir.cpp:2253:10:2253:32 | SideEffect | ~m2255_6 | -| ir.cpp:2254:13:2254:13 | Address | &:r2254_1 | -| ir.cpp:2255:9:2255:23 | CallTarget | func:r2255_1 | -| ir.cpp:2255:9:2255:23 | ChiPartial | partial:m2255_5 | -| ir.cpp:2255:9:2255:23 | ChiTotal | total:m2253_4 | -| ir.cpp:2255:9:2255:23 | SideEffect | ~m2253_4 | -| ir.cpp:2255:25:2255:25 | Address | &:r2255_3 | -| ir.cpp:2255:25:2255:25 | Address | &:r2255_3 | -| ir.cpp:2255:25:2255:25 | Arg(0) | 0:r2255_3 | -| ir.cpp:2255:25:2255:25 | ChiPartial | partial:m2255_8 | -| ir.cpp:2255:25:2255:25 | ChiTotal | total:m2254_2 | -| ir.cpp:2255:25:2255:25 | SideEffect | ~m2254_2 | -| ir.cpp:2255:25:2255:25 | Unary | r2255_2 | -| ir.cpp:2259:6:2259:24 | ChiPartial | partial:m2259_3 | -| ir.cpp:2259:6:2259:24 | ChiTotal | total:m2259_2 | -| ir.cpp:2259:6:2259:24 | Phi | from 2:~m2259_10 | -| ir.cpp:2259:6:2259:24 | Phi | from 6:~m2268_8 | -| ir.cpp:2259:6:2259:24 | Phi | from 9:~m2261_6 | -| ir.cpp:2259:6:2259:24 | Phi | from 10:~m2275_1 | -| ir.cpp:2259:6:2259:24 | SideEffect | ~m2259_7 | -| ir.cpp:2259:31:2259:31 | Address | &:r2259_5 | -| ir.cpp:2261:12:2261:12 | Address | &:r2261_1 | -| ir.cpp:2261:12:2261:12 | Address | &:r2261_1 | -| ir.cpp:2261:12:2261:12 | Arg(this) | this:r2261_1 | -| ir.cpp:2261:12:2261:12 | CallTarget | func:r2261_3 | -| ir.cpp:2261:12:2261:12 | ChiPartial | partial:m2261_5 | -| ir.cpp:2261:12:2261:12 | ChiPartial | partial:m2261_7 | -| ir.cpp:2261:12:2261:12 | ChiTotal | total:m2259_4 | -| ir.cpp:2261:12:2261:12 | ChiTotal | total:m2261_2 | -| ir.cpp:2261:12:2261:12 | SideEffect | ~m2259_4 | -| ir.cpp:2262:9:2262:9 | Address | &:r2262_1 | -| ir.cpp:2262:9:2262:9 | Condition | r2262_2 | -| ir.cpp:2262:9:2262:9 | Load | m2259_6 | -| ir.cpp:2263:7:2263:28 | Address | &:r2263_1 | -| ir.cpp:2263:7:2263:28 | Address | &:r2263_1 | -| ir.cpp:2263:7:2263:28 | Load | m2263_4 | -| ir.cpp:2263:13:2263:28 | StoreValue | r2263_3 | -| ir.cpp:2263:13:2263:28 | Unary | r2263_2 | -| ir.cpp:2265:12:2265:13 | Address | &:r2265_1 | -| ir.cpp:2265:12:2265:13 | Address | &:r2265_1 | -| ir.cpp:2265:12:2265:13 | Arg(this) | this:r2265_1 | -| ir.cpp:2265:12:2265:13 | CallTarget | func:r2265_3 | -| ir.cpp:2265:12:2265:13 | ChiPartial | partial:m2265_5 | -| ir.cpp:2265:12:2265:13 | ChiPartial | partial:m2265_7 | -| ir.cpp:2265:12:2265:13 | ChiTotal | total:m2261_6 | -| ir.cpp:2265:12:2265:13 | ChiTotal | total:m2265_2 | -| ir.cpp:2265:12:2265:13 | SideEffect | ~m2261_6 | -| ir.cpp:2266:3:2266:3 | Address | &:r2266_1 | -| ir.cpp:2266:3:2266:3 | Address | &:r2266_1 | -| ir.cpp:2266:3:2266:3 | Address | &:r2266_9 | -| ir.cpp:2266:3:2266:3 | Address | &:r2266_9 | -| ir.cpp:2266:3:2266:3 | Arg(this) | this:r2266_1 | -| ir.cpp:2266:3:2266:3 | Arg(this) | this:r2266_9 | -| ir.cpp:2266:3:2266:3 | CallTarget | func:r2266_2 | -| ir.cpp:2266:3:2266:3 | CallTarget | func:r2266_10 | -| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_4 | -| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_7 | -| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_12 | -| ir.cpp:2266:3:2266:3 | ChiPartial | partial:m2266_15 | -| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2261_8 | -| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2265_6 | -| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2265_8 | -| ir.cpp:2266:3:2266:3 | ChiTotal | total:m2266_5 | -| ir.cpp:2266:3:2266:3 | SideEffect | m2261_8 | -| ir.cpp:2266:3:2266:3 | SideEffect | m2265_8 | -| ir.cpp:2266:3:2266:3 | SideEffect | ~m2265_6 | -| ir.cpp:2266:3:2266:3 | SideEffect | ~m2266_5 | -| ir.cpp:2267:22:2267:22 | Address | &:r2267_2 | -| ir.cpp:2267:22:2267:22 | Address | &:r2267_2 | -| ir.cpp:2267:22:2267:22 | Address | &:r2267_4 | -| ir.cpp:2267:22:2267:22 | Load | m2267_3 | -| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | -| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | -| ir.cpp:2268:5:2268:19 | Address | &:r2268_1 | -| ir.cpp:2268:5:2268:19 | Arg(this) | this:r2268_1 | -| ir.cpp:2268:5:2268:19 | CallTarget | func:r2268_3 | -| ir.cpp:2268:5:2268:19 | ChiPartial | partial:m2268_7 | -| ir.cpp:2268:5:2268:19 | ChiPartial | partial:m2268_10 | -| ir.cpp:2268:5:2268:19 | ChiTotal | total:m2261_6 | -| ir.cpp:2268:5:2268:19 | ChiTotal | total:m2268_2 | -| ir.cpp:2268:5:2268:19 | Load | m2268_11 | -| ir.cpp:2268:5:2268:19 | SideEffect | ~m2261_6 | -| ir.cpp:2268:18:2268:18 | Address | &:r2268_4 | -| ir.cpp:2268:18:2268:18 | Address | &:r2268_5 | -| ir.cpp:2268:18:2268:18 | Arg(0) | 0:r2268_5 | -| ir.cpp:2268:18:2268:18 | Load | m2267_3 | -| ir.cpp:2268:18:2268:18 | SideEffect | ~m2267_5 | -| ir.cpp:2270:24:2270:24 | Address | &:r2270_2 | -| ir.cpp:2270:24:2270:24 | Address | &:r2270_2 | -| ir.cpp:2270:24:2270:24 | Address | &:r2270_4 | -| ir.cpp:2270:24:2270:24 | Load | m2270_3 | -| ir.cpp:2275:1:2275:1 | Phi | from 4:~m2266_13 | -| ir.cpp:2275:1:2275:1 | Phi | from 8:~m2261_6 | -| ir.cpp:2277:6:2277:18 | ChiPartial | partial:m2277_3 | -| ir.cpp:2277:6:2277:18 | ChiTotal | total:m2277_2 | -| ir.cpp:2277:6:2277:18 | SideEffect | ~m2285_14 | -| ir.cpp:2277:25:2277:25 | Address | &:r2277_5 | -| ir.cpp:2278:12:2278:13 | Address | &:r2278_1 | -| ir.cpp:2278:12:2278:13 | Address | &:r2278_1 | -| ir.cpp:2278:12:2278:13 | Arg(this) | this:r2278_1 | -| ir.cpp:2278:12:2278:13 | CallTarget | func:r2278_3 | -| ir.cpp:2278:12:2278:13 | ChiPartial | partial:m2278_5 | -| ir.cpp:2278:12:2278:13 | ChiPartial | partial:m2278_7 | -| ir.cpp:2278:12:2278:13 | ChiTotal | total:m2277_4 | -| ir.cpp:2278:12:2278:13 | ChiTotal | total:m2278_2 | -| ir.cpp:2278:12:2278:13 | SideEffect | ~m2277_4 | -| ir.cpp:2279:8:2279:8 | Address | &:r2279_1 | -| ir.cpp:2279:8:2279:8 | Condition | r2279_2 | -| ir.cpp:2279:8:2279:8 | Load | m2277_6 | -| ir.cpp:2280:16:2280:17 | Address | &:r2280_1 | -| ir.cpp:2280:16:2280:17 | Address | &:r2280_1 | -| ir.cpp:2280:16:2280:17 | Arg(this) | this:r2280_1 | -| ir.cpp:2280:16:2280:17 | CallTarget | func:r2280_3 | -| ir.cpp:2280:16:2280:17 | ChiPartial | partial:m2280_5 | -| ir.cpp:2280:16:2280:17 | ChiPartial | partial:m2280_7 | -| ir.cpp:2280:16:2280:17 | ChiTotal | total:m2278_6 | -| ir.cpp:2280:16:2280:17 | ChiTotal | total:m2280_2 | -| ir.cpp:2280:16:2280:17 | SideEffect | ~m2278_6 | -| ir.cpp:2281:5:2281:5 | Address | &:r2281_1 | -| ir.cpp:2281:5:2281:5 | Address | &:r2281_1 | -| ir.cpp:2281:5:2281:5 | Arg(this) | this:r2281_1 | -| ir.cpp:2281:5:2281:5 | CallTarget | func:r2281_2 | -| ir.cpp:2281:5:2281:5 | ChiPartial | partial:m2281_4 | -| ir.cpp:2281:5:2281:5 | ChiPartial | partial:m2281_7 | -| ir.cpp:2281:5:2281:5 | ChiTotal | total:m2280_6 | -| ir.cpp:2281:5:2281:5 | ChiTotal | total:m2280_8 | -| ir.cpp:2281:5:2281:5 | SideEffect | m2280_8 | -| ir.cpp:2281:5:2281:5 | SideEffect | ~m2280_6 | -| ir.cpp:2282:16:2282:17 | Address | &:r2282_1 | -| ir.cpp:2282:16:2282:17 | Address | &:r2282_1 | -| ir.cpp:2282:16:2282:17 | Arg(this) | this:r2282_1 | -| ir.cpp:2282:16:2282:17 | CallTarget | func:r2282_3 | -| ir.cpp:2282:16:2282:17 | ChiPartial | partial:m2282_5 | -| ir.cpp:2282:16:2282:17 | ChiPartial | partial:m2282_7 | -| ir.cpp:2282:16:2282:17 | ChiTotal | total:m2278_6 | -| ir.cpp:2282:16:2282:17 | ChiTotal | total:m2282_2 | -| ir.cpp:2282:16:2282:17 | SideEffect | ~m2278_6 | -| ir.cpp:2283:5:2283:5 | Address | &:r2283_1 | -| ir.cpp:2283:5:2283:5 | Address | &:r2283_1 | -| ir.cpp:2283:5:2283:5 | Arg(this) | this:r2283_1 | -| ir.cpp:2283:5:2283:5 | CallTarget | func:r2283_2 | -| ir.cpp:2283:5:2283:5 | ChiPartial | partial:m2283_4 | -| ir.cpp:2283:5:2283:5 | ChiPartial | partial:m2283_7 | -| ir.cpp:2283:5:2283:5 | ChiTotal | total:m2282_6 | -| ir.cpp:2283:5:2283:5 | ChiTotal | total:m2282_8 | -| ir.cpp:2283:5:2283:5 | SideEffect | m2282_8 | -| ir.cpp:2283:5:2283:5 | SideEffect | ~m2282_6 | -| ir.cpp:2284:12:2284:13 | Address | &:r2284_2 | -| ir.cpp:2284:12:2284:13 | Address | &:r2284_2 | -| ir.cpp:2284:12:2284:13 | Arg(this) | this:r2284_2 | -| ir.cpp:2284:12:2284:13 | CallTarget | func:r2284_4 | -| ir.cpp:2284:12:2284:13 | ChiPartial | partial:m2284_6 | -| ir.cpp:2284:12:2284:13 | ChiPartial | partial:m2284_8 | -| ir.cpp:2284:12:2284:13 | ChiTotal | total:m2284_1 | -| ir.cpp:2284:12:2284:13 | ChiTotal | total:m2284_3 | -| ir.cpp:2284:12:2284:13 | Phi | from 1:~m2281_5 | -| ir.cpp:2284:12:2284:13 | Phi | from 2:~m2283_5 | -| ir.cpp:2284:12:2284:13 | SideEffect | ~m2284_1 | -| ir.cpp:2285:1:2285:1 | Address | &:r2285_2 | -| ir.cpp:2285:1:2285:1 | Address | &:r2285_2 | -| ir.cpp:2285:1:2285:1 | Address | &:r2285_10 | -| ir.cpp:2285:1:2285:1 | Address | &:r2285_10 | -| ir.cpp:2285:1:2285:1 | Arg(this) | this:r2285_2 | -| ir.cpp:2285:1:2285:1 | Arg(this) | this:r2285_10 | -| ir.cpp:2285:1:2285:1 | CallTarget | func:r2285_3 | -| ir.cpp:2285:1:2285:1 | CallTarget | func:r2285_11 | -| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_5 | -| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_8 | -| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_13 | -| ir.cpp:2285:1:2285:1 | ChiPartial | partial:m2285_16 | -| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2278_8 | -| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2284_7 | -| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2284_9 | -| ir.cpp:2285:1:2285:1 | ChiTotal | total:m2285_6 | -| ir.cpp:2285:1:2285:1 | SideEffect | m2278_8 | -| ir.cpp:2285:1:2285:1 | SideEffect | m2284_9 | -| ir.cpp:2285:1:2285:1 | SideEffect | ~m2284_7 | -| ir.cpp:2285:1:2285:1 | SideEffect | ~m2285_6 | -| ir.cpp:2287:6:2287:19 | ChiPartial | partial:m2287_3 | -| ir.cpp:2287:6:2287:19 | ChiTotal | total:m2287_2 | -| ir.cpp:2287:6:2287:19 | SideEffect | ~m2297_54 | -| ir.cpp:2288:10:2288:10 | Address | &:r2288_1 | -| ir.cpp:2288:13:2288:16 | StoreValue | r2288_2 | -| ir.cpp:2289:16:2289:16 | Address | &:r2289_1 | -| ir.cpp:2289:16:2289:16 | Address | &:r2289_1 | -| ir.cpp:2289:16:2289:16 | Address | &:r2289_31 | -| ir.cpp:2289:16:2289:16 | Address | &:r2289_31 | -| ir.cpp:2289:16:2289:16 | Arg(this) | this:r2289_1 | -| ir.cpp:2289:16:2289:16 | Arg(this) | this:r2289_31 | -| ir.cpp:2289:16:2289:16 | CallTarget | func:r2289_32 | -| ir.cpp:2289:16:2289:16 | ChiPartial | partial:m2289_34 | -| ir.cpp:2289:16:2289:16 | ChiPartial | partial:m2289_37 | -| ir.cpp:2289:16:2289:16 | ChiTotal | total:m2289_12 | -| ir.cpp:2289:16:2289:16 | ChiTotal | total:m2289_13 | -| ir.cpp:2289:16:2289:16 | SideEffect | m2289_12 | -| ir.cpp:2289:16:2289:16 | SideEffect | ~m2289_13 | -| ir.cpp:2289:18:2289:24 | Address | &:r2289_5 | -| ir.cpp:2289:18:2289:24 | Arg(0) | 0:r2289_5 | -| ir.cpp:2289:18:2289:24 | SideEffect | ~m2287_3 | -| ir.cpp:2289:18:2289:24 | Unary | r2289_4 | -| ir.cpp:2289:18:2289:25 | CallTarget | func:r2289_3 | -| ir.cpp:2289:18:2289:25 | ChiPartial | partial:m2289_7 | -| ir.cpp:2289:18:2289:25 | ChiPartial | partial:m2289_10 | -| ir.cpp:2289:18:2289:25 | ChiTotal | total:m2287_4 | -| ir.cpp:2289:18:2289:25 | ChiTotal | total:m2289_2 | -| ir.cpp:2289:18:2289:25 | SideEffect | ~m2287_4 | -| ir.cpp:2289:28:2289:28 | Address | &:r2289_15 | -| ir.cpp:2289:28:2289:28 | Left | r2289_17 | -| ir.cpp:2289:28:2289:28 | Load | m2289_14 | -| ir.cpp:2289:28:2289:28 | Phi | from 0:m2288_3 | -| ir.cpp:2289:28:2289:28 | Phi | from 0:m2289_11 | -| ir.cpp:2289:28:2289:28 | Phi | from 0:~m2289_8 | -| ir.cpp:2289:28:2289:28 | Phi | from 2:m2289_28 | -| ir.cpp:2289:28:2289:28 | Phi | from 2:m2289_30 | -| ir.cpp:2289:28:2289:28 | Phi | from 2:~m2289_25 | -| ir.cpp:2289:28:2289:28 | Unary | r2289_16 | -| ir.cpp:2289:28:2289:33 | Condition | r2289_19 | -| ir.cpp:2289:33:2289:33 | Right | r2289_18 | -| ir.cpp:2289:36:2289:36 | Address | &:r2289_29 | -| ir.cpp:2289:40:2289:40 | Address | &:r2289_21 | -| ir.cpp:2289:40:2289:40 | Address | &:r2289_21 | -| ir.cpp:2289:40:2289:40 | Arg(this) | this:r2289_21 | -| ir.cpp:2289:40:2289:40 | ChiPartial | partial:m2289_27 | -| ir.cpp:2289:40:2289:40 | ChiTotal | total:m2289_12 | -| ir.cpp:2289:40:2289:40 | SideEffect | m2289_12 | -| ir.cpp:2289:42:2289:49 | CallTarget | func:r2289_22 | -| ir.cpp:2289:42:2289:49 | ChiPartial | partial:m2289_24 | -| ir.cpp:2289:42:2289:49 | ChiTotal | total:m2291_5 | -| ir.cpp:2289:42:2289:49 | SideEffect | ~m2291_5 | -| ir.cpp:2289:42:2289:49 | StoreValue | r2289_23 | -| ir.cpp:2290:16:2290:17 | Address | &:r2290_1 | -| ir.cpp:2290:16:2290:17 | Address | &:r2290_1 | -| ir.cpp:2290:16:2290:17 | Arg(this) | this:r2290_1 | -| ir.cpp:2290:16:2290:17 | CallTarget | func:r2290_3 | -| ir.cpp:2290:16:2290:17 | ChiPartial | partial:m2290_5 | -| ir.cpp:2290:16:2290:17 | ChiPartial | partial:m2290_7 | -| ir.cpp:2290:16:2290:17 | ChiTotal | total:m2289_13 | -| ir.cpp:2290:16:2290:17 | ChiTotal | total:m2290_2 | -| ir.cpp:2290:16:2290:17 | SideEffect | ~m2289_13 | -| ir.cpp:2291:5:2291:5 | Address | &:r2291_1 | -| ir.cpp:2291:5:2291:5 | Address | &:r2291_1 | -| ir.cpp:2291:5:2291:5 | Arg(this) | this:r2291_1 | -| ir.cpp:2291:5:2291:5 | CallTarget | func:r2291_2 | -| ir.cpp:2291:5:2291:5 | ChiPartial | partial:m2291_4 | -| ir.cpp:2291:5:2291:5 | ChiPartial | partial:m2291_7 | -| ir.cpp:2291:5:2291:5 | ChiTotal | total:m2290_6 | -| ir.cpp:2291:5:2291:5 | ChiTotal | total:m2290_8 | -| ir.cpp:2291:5:2291:5 | SideEffect | m2290_8 | -| ir.cpp:2291:5:2291:5 | SideEffect | ~m2290_6 | -| ir.cpp:2293:5:2293:5 | Address | &:r2293_1 | -| ir.cpp:2293:5:2293:5 | Address | &:r2293_24 | -| ir.cpp:2293:5:2293:5 | Address | &:r2293_30 | -| ir.cpp:2293:16:2293:16 | Address | &:r2293_51 | -| ir.cpp:2293:16:2293:16 | Address | &:r2293_51 | -| ir.cpp:2293:16:2293:16 | Address | &:r2293_68 | -| ir.cpp:2293:16:2293:16 | Address | &:r2293_68 | -| ir.cpp:2293:16:2293:16 | Arg(this) | this:r2293_51 | -| ir.cpp:2293:16:2293:16 | Arg(this) | this:r2293_68 | -| ir.cpp:2293:16:2293:16 | CallTarget | func:r2293_53 | -| ir.cpp:2293:16:2293:16 | CallTarget | func:r2293_69 | -| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_63 | -| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_66 | -| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_71 | -| ir.cpp:2293:16:2293:16 | ChiPartial | partial:m2293_74 | -| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_52 | -| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_58 | -| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2293_67 | -| ir.cpp:2293:16:2293:16 | ChiTotal | total:m2295_5 | -| ir.cpp:2293:16:2293:16 | SideEffect | m2293_67 | -| ir.cpp:2293:16:2293:16 | SideEffect | ~m2293_58 | -| ir.cpp:2293:16:2293:16 | SideEffect | ~m2295_5 | -| ir.cpp:2293:20:2293:20 | Address | &:r2293_25 | -| ir.cpp:2293:20:2293:20 | Address | &:r2293_31 | -| ir.cpp:2293:20:2293:20 | Address | &:r2293_76 | -| ir.cpp:2293:20:2293:20 | Address | &:r2293_76 | -| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_2 | -| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_5 | -| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_7 | -| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_8 | -| ir.cpp:2293:20:2293:20 | Arg(this) | this:r0_15 | -| ir.cpp:2293:20:2293:20 | Arg(this) | this:r2293_76 | -| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_27 | -| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_33 | -| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_39 | -| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_40 | -| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_55 | -| ir.cpp:2293:20:2293:20 | CallTarget | func:r2293_77 | -| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_43 | -| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_45 | -| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_48 | -| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_57 | -| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_79 | -| ir.cpp:2293:20:2293:20 | ChiPartial | partial:m2293_82 | -| ir.cpp:2293:20:2293:20 | ChiTotal | total:m0_9 | -| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_36 | -| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_37 | -| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_44 | -| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_49 | -| ir.cpp:2293:20:2293:20 | ChiTotal | total:m2293_72 | -| ir.cpp:2293:20:2293:20 | Condition | r2293_47 | -| ir.cpp:2293:20:2293:20 | Load | m2293_23 | -| ir.cpp:2293:20:2293:20 | Load | m2293_23 | -| ir.cpp:2293:20:2293:20 | Phi | from 3:m2293_29 | -| ir.cpp:2293:20:2293:20 | Phi | from 3:~m2293_19 | -| ir.cpp:2293:20:2293:20 | Phi | from 5:m2293_83 | -| ir.cpp:2293:20:2293:20 | Phi | from 5:~m2293_80 | -| ir.cpp:2293:20:2293:20 | SideEffect | m2293_36 | -| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_37 | -| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_44 | -| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_49 | -| ir.cpp:2293:20:2293:20 | SideEffect | ~m2293_72 | -| ir.cpp:2293:20:2293:20 | StoreValue | r2293_28 | -| ir.cpp:2293:20:2293:20 | StoreValue | r2293_34 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_26 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_32 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_38 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_41 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_54 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_56 | -| ir.cpp:2293:20:2293:20 | Unary | r2293_78 | -| ir.cpp:2293:20:2293:55 | Address | &:r2293_2 | -| ir.cpp:2293:20:2293:55 | Address | &:r2293_2 | -| ir.cpp:2293:20:2293:55 | Arg(this) | this:r2293_2 | -| ir.cpp:2293:20:2293:55 | CallTarget | func:r2293_4 | -| ir.cpp:2293:20:2293:55 | ChiPartial | partial:m2293_18 | -| ir.cpp:2293:20:2293:55 | ChiPartial | partial:m2293_20 | -| ir.cpp:2293:20:2293:55 | ChiTotal | total:m2293_3 | -| ir.cpp:2293:20:2293:55 | ChiTotal | total:m2293_12 | -| ir.cpp:2293:20:2293:55 | SideEffect | ~m2293_12 | -| ir.cpp:2293:20:2293:55 | StoreValue | r2293_22 | -| ir.cpp:2293:20:2293:55 | Unary | r2293_2 | -| ir.cpp:2293:20:2293:56 | Address | &:r2293_61 | -| ir.cpp:2293:20:2293:56 | Arg(0) | 0:r2293_61 | -| ir.cpp:2293:20:2293:56 | SideEffect | ~m2293_64 | -| ir.cpp:2293:20:2293:56 | Unary | r2293_59 | -| ir.cpp:2293:20:2293:56 | Unary | r2293_60 | -| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | -| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | -| ir.cpp:2293:40:2293:54 | Address | &:r2293_5 | -| ir.cpp:2293:40:2293:54 | Arg(0) | 0:r2293_16 | -| ir.cpp:2293:40:2293:54 | Arg(this) | this:r2293_5 | -| ir.cpp:2293:40:2293:54 | CallTarget | func:r2293_7 | -| ir.cpp:2293:40:2293:54 | ChiPartial | partial:m2293_11 | -| ir.cpp:2293:40:2293:54 | ChiPartial | partial:m2293_14 | -| ir.cpp:2293:40:2293:54 | ChiTotal | total:m2289_35 | -| ir.cpp:2293:40:2293:54 | ChiTotal | total:m2293_6 | -| ir.cpp:2293:40:2293:54 | Load | m2293_15 | -| ir.cpp:2293:40:2293:54 | SideEffect | ~m2289_35 | -| ir.cpp:2293:47:2293:53 | Address | &:r2293_9 | -| ir.cpp:2293:47:2293:53 | Arg(0) | 0:r2293_9 | -| ir.cpp:2293:47:2293:53 | SideEffect | ~m2287_3 | -| ir.cpp:2293:47:2293:53 | Unary | r2293_8 | +| ir.cpp:2216:7:2216:7 | Address | &:r2216_1 | +| ir.cpp:2216:7:2216:7 | Address | &:r2216_1 | +| ir.cpp:2216:7:2216:7 | Arg(this) | this:r2216_1 | +| ir.cpp:2216:7:2216:7 | ChiPartial | partial:m2216_8 | +| ir.cpp:2216:7:2216:7 | ChiTotal | total:m2215_52 | +| ir.cpp:2216:7:2216:7 | SideEffect | m2215_52 | +| ir.cpp:2216:9:2216:13 | CallTarget | func:r2216_2 | +| ir.cpp:2216:9:2216:13 | ChiPartial | partial:m2216_5 | +| ir.cpp:2216:9:2216:13 | ChiTotal | total:m2215_50 | +| ir.cpp:2216:9:2216:13 | SideEffect | ~m2215_50 | +| ir.cpp:2216:15:2216:17 | Arg(0) | 0:r2216_3 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_14 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_18 | +| ir.cpp:2218:5:2218:5 | Address | &:r2218_24 | +| ir.cpp:2218:42:2218:43 | Address | &:r2218_1 | +| ir.cpp:2218:42:2218:43 | Address | &:r2218_1 | +| ir.cpp:2218:42:2218:43 | Address | &:r2218_61 | +| ir.cpp:2218:42:2218:43 | Address | &:r2218_61 | +| ir.cpp:2218:42:2218:43 | Arg(this) | this:r2218_1 | +| ir.cpp:2218:42:2218:43 | Arg(this) | this:r2218_61 | +| ir.cpp:2218:42:2218:43 | CallTarget | func:r2218_62 | +| ir.cpp:2218:42:2218:43 | ChiPartial | partial:m2218_64 | +| ir.cpp:2218:42:2218:43 | ChiPartial | partial:m2218_67 | +| ir.cpp:2218:42:2218:43 | ChiTotal | total:m2218_13 | +| ir.cpp:2218:42:2218:43 | ChiTotal | total:m2218_57 | +| ir.cpp:2218:42:2218:43 | SideEffect | m2218_13 | +| ir.cpp:2218:42:2218:43 | SideEffect | ~m2218_57 | +| ir.cpp:2218:45:2218:45 | Address | &:r2218_4 | +| ir.cpp:2218:45:2218:45 | Address | &:r2218_4 | +| ir.cpp:2218:45:2218:45 | Address | &:r2218_5 | +| ir.cpp:2218:45:2218:45 | Arg(0) | 0:r2218_8 | +| ir.cpp:2218:45:2218:45 | Load | m2214_8 | +| ir.cpp:2218:45:2218:45 | Load | m2218_7 | +| ir.cpp:2218:45:2218:45 | StoreValue | r2218_6 | +| ir.cpp:2218:45:2218:46 | CallTarget | func:r2218_3 | +| ir.cpp:2218:45:2218:46 | ChiPartial | partial:m2218_10 | +| ir.cpp:2218:45:2218:46 | ChiPartial | partial:m2218_12 | +| ir.cpp:2218:45:2218:46 | ChiTotal | total:m2215_43 | +| ir.cpp:2218:45:2218:46 | ChiTotal | total:m2218_2 | +| ir.cpp:2218:45:2218:46 | SideEffect | ~m2215_43 | +| ir.cpp:2218:69:2218:69 | Address | &:r2218_45 | +| ir.cpp:2218:69:2218:69 | Address | &:r2218_53 | +| ir.cpp:2218:69:2218:69 | Address | &:r2218_53 | +| ir.cpp:2218:69:2218:69 | Address | &:r2218_69 | +| ir.cpp:2218:69:2218:69 | Address | &:r2218_69 | +| ir.cpp:2218:69:2218:69 | Arg(this) | this:r2218_53 | +| ir.cpp:2218:69:2218:69 | Arg(this) | this:r2218_69 | +| ir.cpp:2218:69:2218:69 | CallTarget | func:r2218_54 | +| ir.cpp:2218:69:2218:69 | CallTarget | func:r2218_70 | +| ir.cpp:2218:69:2218:69 | ChiPartial | partial:m2218_56 | +| ir.cpp:2218:69:2218:69 | ChiPartial | partial:m2218_59 | +| ir.cpp:2218:69:2218:69 | ChiPartial | partial:m2218_72 | +| ir.cpp:2218:69:2218:69 | ChiPartial | partial:m2218_75 | +| ir.cpp:2218:69:2218:69 | ChiTotal | total:m2220_5 | +| ir.cpp:2218:69:2218:69 | ChiTotal | total:m2220_5 | +| ir.cpp:2218:69:2218:69 | ChiTotal | total:m2220_8 | +| ir.cpp:2218:69:2218:69 | ChiTotal | total:m2220_8 | +| ir.cpp:2218:69:2218:69 | SideEffect | m2220_8 | +| ir.cpp:2218:69:2218:69 | SideEffect | m2220_8 | +| ir.cpp:2218:69:2218:69 | SideEffect | ~m2220_5 | +| ir.cpp:2218:69:2218:69 | SideEffect | ~m2220_5 | +| ir.cpp:2218:73:2218:73 | Address | &:r2218_19 | +| ir.cpp:2218:73:2218:73 | Address | &:r2218_25 | +| ir.cpp:2218:73:2218:73 | Address | &:r2218_48 | +| ir.cpp:2218:73:2218:73 | Address | &:r2218_77 | +| ir.cpp:2218:73:2218:73 | Address | &:r2218_77 | +| ir.cpp:2218:73:2218:73 | Arg(this) | this:r0_18 | +| ir.cpp:2218:73:2218:73 | Arg(this) | this:r0_21 | +| ir.cpp:2218:73:2218:73 | Arg(this) | this:r0_23 | +| ir.cpp:2218:73:2218:73 | Arg(this) | this:r0_24 | +| ir.cpp:2218:73:2218:73 | Arg(this) | this:r0_31 | +| ir.cpp:2218:73:2218:73 | Arg(this) | this:r2218_77 | +| ir.cpp:2218:73:2218:73 | CallTarget | func:r2218_21 | +| ir.cpp:2218:73:2218:73 | CallTarget | func:r2218_27 | +| ir.cpp:2218:73:2218:73 | CallTarget | func:r2218_33 | +| ir.cpp:2218:73:2218:73 | CallTarget | func:r2218_34 | +| ir.cpp:2218:73:2218:73 | CallTarget | func:r2218_47 | +| ir.cpp:2218:73:2218:73 | CallTarget | func:r2218_78 | +| ir.cpp:2218:73:2218:73 | ChiPartial | partial:m2218_37 | +| ir.cpp:2218:73:2218:73 | ChiPartial | partial:m2218_39 | +| ir.cpp:2218:73:2218:73 | ChiPartial | partial:m2218_42 | +| ir.cpp:2218:73:2218:73 | ChiPartial | partial:m2218_49 | +| ir.cpp:2218:73:2218:73 | ChiPartial | partial:m2218_80 | +| ir.cpp:2218:73:2218:73 | ChiPartial | partial:m2218_83 | +| ir.cpp:2218:73:2218:73 | ChiTotal | total:m0_25 | +| ir.cpp:2218:73:2218:73 | ChiTotal | total:m2218_30 | +| ir.cpp:2218:73:2218:73 | ChiTotal | total:m2218_31 | +| ir.cpp:2218:73:2218:73 | ChiTotal | total:m2218_38 | +| ir.cpp:2218:73:2218:73 | ChiTotal | total:m2218_43 | +| ir.cpp:2218:73:2218:73 | ChiTotal | total:m2218_73 | +| ir.cpp:2218:73:2218:73 | Condition | r2218_41 | +| ir.cpp:2218:73:2218:73 | Load | m2218_17 | +| ir.cpp:2218:73:2218:73 | Load | m2218_17 | +| ir.cpp:2218:73:2218:73 | Phi | from 10:m2218_23 | +| ir.cpp:2218:73:2218:73 | Phi | from 10:~m2218_11 | +| ir.cpp:2218:73:2218:73 | Phi | from 14:m2218_84 | +| ir.cpp:2218:73:2218:73 | Phi | from 14:~m2218_81 | +| ir.cpp:2218:73:2218:73 | SideEffect | m2218_30 | +| ir.cpp:2218:73:2218:73 | SideEffect | ~m2218_31 | +| ir.cpp:2218:73:2218:73 | SideEffect | ~m2218_38 | +| ir.cpp:2218:73:2218:73 | SideEffect | ~m2218_43 | +| ir.cpp:2218:73:2218:73 | SideEffect | ~m2218_73 | +| ir.cpp:2218:73:2218:73 | StoreValue | r2218_22 | +| ir.cpp:2218:73:2218:73 | StoreValue | r2218_28 | +| ir.cpp:2218:73:2218:73 | Unary | r2218_20 | +| ir.cpp:2218:73:2218:73 | Unary | r2218_26 | +| ir.cpp:2218:73:2218:73 | Unary | r2218_32 | +| ir.cpp:2218:73:2218:73 | Unary | r2218_35 | +| ir.cpp:2218:73:2218:73 | Unary | r2218_46 | +| ir.cpp:2218:73:2218:73 | Unary | r2218_79 | +| ir.cpp:2218:73:2218:74 | StoreValue | r2218_16 | +| ir.cpp:2218:73:2218:74 | Unary | r2218_15 | +| ir.cpp:2218:73:2218:75 | Load | ~m2218_50 | +| ir.cpp:2218:73:2218:75 | StoreValue | r2218_51 | +| ir.cpp:2219:7:2219:7 | Address | &:r2219_1 | +| ir.cpp:2219:7:2219:7 | Address | &:r2219_1 | +| ir.cpp:2219:7:2219:7 | Arg(this) | this:r2219_1 | +| ir.cpp:2219:7:2219:7 | ChiPartial | partial:m2219_8 | +| ir.cpp:2219:7:2219:7 | ChiTotal | total:m2218_52 | +| ir.cpp:2219:7:2219:7 | SideEffect | m2218_52 | +| ir.cpp:2219:9:2219:13 | CallTarget | func:r2219_2 | +| ir.cpp:2219:9:2219:13 | ChiPartial | partial:m2219_5 | +| ir.cpp:2219:9:2219:13 | ChiTotal | total:m2218_50 | +| ir.cpp:2219:9:2219:13 | SideEffect | ~m2218_50 | +| ir.cpp:2219:15:2219:17 | Arg(0) | 0:r2219_3 | +| ir.cpp:2220:11:2220:11 | Address | &:r2220_1 | +| ir.cpp:2220:11:2220:11 | Address | &:r2220_1 | +| ir.cpp:2220:11:2220:11 | Arg(this) | this:r2220_1 | +| ir.cpp:2220:11:2220:11 | ChiPartial | partial:m2220_7 | +| ir.cpp:2220:11:2220:11 | ChiTotal | total:m2219_9 | +| ir.cpp:2220:11:2220:11 | SideEffect | m2219_9 | +| ir.cpp:2220:11:2220:19 | Left | r2220_9 | +| ir.cpp:2220:11:2220:26 | Condition | r2220_11 | +| ir.cpp:2220:13:2220:17 | CallTarget | func:r2220_2 | +| ir.cpp:2220:13:2220:17 | ChiPartial | partial:m2220_4 | +| ir.cpp:2220:13:2220:17 | ChiTotal | total:m2219_6 | +| ir.cpp:2220:13:2220:17 | SideEffect | ~m2219_6 | +| ir.cpp:2220:13:2220:17 | Unary | r2220_3 | +| ir.cpp:2220:24:2220:26 | Right | r2220_10 | +| ir.cpp:2224:5:2224:5 | Address | &:r2224_10 | +| ir.cpp:2224:5:2224:5 | Address | &:r2224_14 | +| ir.cpp:2224:5:2224:5 | Address | &:r2224_20 | +| ir.cpp:2224:26:2224:27 | Address | &:r2224_1 | +| ir.cpp:2224:26:2224:27 | Address | &:r2224_1 | +| ir.cpp:2224:26:2224:27 | Address | &:r2224_58 | +| ir.cpp:2224:26:2224:27 | Address | &:r2224_58 | +| ir.cpp:2224:26:2224:27 | Arg(this) | this:r2224_1 | +| ir.cpp:2224:26:2224:27 | Arg(this) | this:r2224_58 | +| ir.cpp:2224:26:2224:27 | CallTarget | func:r2224_59 | +| ir.cpp:2224:26:2224:27 | ChiPartial | partial:m2224_61 | +| ir.cpp:2224:26:2224:27 | ChiPartial | partial:m2224_64 | +| ir.cpp:2224:26:2224:27 | ChiTotal | total:m2224_9 | +| ir.cpp:2224:26:2224:27 | ChiTotal | total:m2224_55 | +| ir.cpp:2224:26:2224:27 | SideEffect | m2224_9 | +| ir.cpp:2224:26:2224:27 | SideEffect | ~m2224_55 | +| ir.cpp:2224:29:2224:29 | Arg(0) | 0:r2224_4 | +| ir.cpp:2224:29:2224:30 | CallTarget | func:r2224_3 | +| ir.cpp:2224:29:2224:30 | ChiPartial | partial:m2224_6 | +| ir.cpp:2224:29:2224:30 | ChiPartial | partial:m2224_8 | +| ir.cpp:2224:29:2224:30 | ChiTotal | total:m2218_43 | +| ir.cpp:2224:29:2224:30 | ChiTotal | total:m2224_2 | +| ir.cpp:2224:29:2224:30 | SideEffect | ~m2218_43 | +| ir.cpp:2224:37:2224:37 | Address | &:r2224_50 | +| ir.cpp:2224:41:2224:41 | Address | &:r2224_15 | +| ir.cpp:2224:41:2224:41 | Address | &:r2224_21 | +| ir.cpp:2224:41:2224:41 | Address | &:r2224_41 | +| ir.cpp:2224:41:2224:41 | Address | &:r2224_41 | +| ir.cpp:2224:41:2224:41 | Address | &:r2224_53 | +| ir.cpp:2224:41:2224:41 | Arg(this) | this:r0_34 | +| ir.cpp:2224:41:2224:41 | Arg(this) | this:r0_37 | +| ir.cpp:2224:41:2224:41 | Arg(this) | this:r0_39 | +| ir.cpp:2224:41:2224:41 | Arg(this) | this:r0_40 | +| ir.cpp:2224:41:2224:41 | Arg(this) | this:r0_47 | +| ir.cpp:2224:41:2224:41 | Arg(this) | this:r2224_41 | +| ir.cpp:2224:41:2224:41 | CallTarget | func:r2224_17 | +| ir.cpp:2224:41:2224:41 | CallTarget | func:r2224_23 | +| ir.cpp:2224:41:2224:41 | CallTarget | func:r2224_29 | +| ir.cpp:2224:41:2224:41 | CallTarget | func:r2224_30 | +| ir.cpp:2224:41:2224:41 | CallTarget | func:r2224_42 | +| ir.cpp:2224:41:2224:41 | CallTarget | func:r2224_52 | +| ir.cpp:2224:41:2224:41 | ChiPartial | partial:m2224_33 | +| ir.cpp:2224:41:2224:41 | ChiPartial | partial:m2224_35 | +| ir.cpp:2224:41:2224:41 | ChiPartial | partial:m2224_38 | +| ir.cpp:2224:41:2224:41 | ChiPartial | partial:m2224_44 | +| ir.cpp:2224:41:2224:41 | ChiPartial | partial:m2224_47 | +| ir.cpp:2224:41:2224:41 | ChiPartial | partial:m2224_54 | +| ir.cpp:2224:41:2224:41 | ChiTotal | total:m0_41 | +| ir.cpp:2224:41:2224:41 | ChiTotal | total:m2224_26 | +| ir.cpp:2224:41:2224:41 | ChiTotal | total:m2224_27 | +| ir.cpp:2224:41:2224:41 | ChiTotal | total:m2224_34 | +| ir.cpp:2224:41:2224:41 | ChiTotal | total:m2224_39 | +| ir.cpp:2224:41:2224:41 | ChiTotal | total:m2224_55 | +| ir.cpp:2224:41:2224:41 | Condition | r2224_37 | +| ir.cpp:2224:41:2224:41 | Load | m2224_13 | +| ir.cpp:2224:41:2224:41 | Load | m2224_13 | +| ir.cpp:2224:41:2224:41 | Phi | from 15:m2224_19 | +| ir.cpp:2224:41:2224:41 | Phi | from 15:~m2224_7 | +| ir.cpp:2224:41:2224:41 | Phi | from 17:m2224_48 | +| ir.cpp:2224:41:2224:41 | Phi | from 17:~m2224_45 | +| ir.cpp:2224:41:2224:41 | SideEffect | m2224_26 | +| ir.cpp:2224:41:2224:41 | SideEffect | ~m2224_27 | +| ir.cpp:2224:41:2224:41 | SideEffect | ~m2224_34 | +| ir.cpp:2224:41:2224:41 | SideEffect | ~m2224_39 | +| ir.cpp:2224:41:2224:41 | SideEffect | ~m2224_55 | +| ir.cpp:2224:41:2224:41 | StoreValue | r2224_18 | +| ir.cpp:2224:41:2224:41 | StoreValue | r2224_24 | +| ir.cpp:2224:41:2224:41 | Unary | r2224_16 | +| ir.cpp:2224:41:2224:41 | Unary | r2224_22 | +| ir.cpp:2224:41:2224:41 | Unary | r2224_28 | +| ir.cpp:2224:41:2224:41 | Unary | r2224_31 | +| ir.cpp:2224:41:2224:41 | Unary | r2224_43 | +| ir.cpp:2224:41:2224:41 | Unary | r2224_51 | +| ir.cpp:2224:41:2224:42 | StoreValue | r2224_12 | +| ir.cpp:2224:41:2224:42 | Unary | r2224_11 | +| ir.cpp:2224:41:2224:43 | Load | ~m2224_55 | +| ir.cpp:2224:41:2224:43 | StoreValue | r2224_56 | +| ir.cpp:2225:11:2225:11 | Address | &:r2225_1 | +| ir.cpp:2225:11:2225:11 | Left | r2225_2 | +| ir.cpp:2225:11:2225:11 | Load | m2224_57 | +| ir.cpp:2225:11:2225:16 | Condition | r2225_4 | +| ir.cpp:2225:16:2225:16 | Right | r2225_3 | +| ir.cpp:2229:5:2229:5 | Address | &:r2229_14 | +| ir.cpp:2229:5:2229:5 | Address | &:r2229_18 | +| ir.cpp:2229:5:2229:5 | Address | &:r2229_24 | +| ir.cpp:2229:42:2229:43 | Address | &:r2229_1 | +| ir.cpp:2229:42:2229:43 | Address | &:r2229_1 | +| ir.cpp:2229:42:2229:43 | Arg(this) | this:r2229_1 | +| ir.cpp:2229:45:2229:45 | Address | &:r2229_4 | +| ir.cpp:2229:45:2229:45 | Address | &:r2229_4 | +| ir.cpp:2229:45:2229:45 | Address | &:r2229_5 | +| ir.cpp:2229:45:2229:45 | Arg(0) | 0:r2229_8 | +| ir.cpp:2229:45:2229:45 | Load | m2214_8 | +| ir.cpp:2229:45:2229:45 | Load | m2229_7 | +| ir.cpp:2229:45:2229:45 | StoreValue | r2229_6 | +| ir.cpp:2229:45:2229:46 | CallTarget | func:r2229_3 | +| ir.cpp:2229:45:2229:46 | ChiPartial | partial:m2229_10 | +| ir.cpp:2229:45:2229:46 | ChiPartial | partial:m2229_12 | +| ir.cpp:2229:45:2229:46 | ChiTotal | total:m2224_39 | +| ir.cpp:2229:45:2229:46 | ChiTotal | total:m2229_2 | +| ir.cpp:2229:45:2229:46 | SideEffect | ~m2224_39 | +| ir.cpp:2229:69:2229:69 | Address | &:r2229_45 | +| ir.cpp:2229:69:2229:69 | Address | &:r2229_53 | +| ir.cpp:2229:69:2229:69 | Address | &:r2229_53 | +| ir.cpp:2229:69:2229:69 | Arg(this) | this:r2229_53 | +| ir.cpp:2229:69:2229:69 | CallTarget | func:r2229_54 | +| ir.cpp:2229:69:2229:69 | ChiPartial | partial:m2229_56 | +| ir.cpp:2229:69:2229:69 | ChiPartial | partial:m2229_59 | +| ir.cpp:2229:69:2229:69 | ChiTotal | total:m2229_52 | +| ir.cpp:2229:69:2229:69 | ChiTotal | total:m2232_13 | +| ir.cpp:2229:69:2229:69 | SideEffect | m2229_52 | +| ir.cpp:2229:69:2229:69 | SideEffect | ~m2232_13 | +| ir.cpp:2229:73:2229:73 | Address | &:r2229_19 | +| ir.cpp:2229:73:2229:73 | Address | &:r2229_25 | +| ir.cpp:2229:73:2229:73 | Address | &:r2229_48 | +| ir.cpp:2229:73:2229:73 | Address | &:r2229_61 | +| ir.cpp:2229:73:2229:73 | Address | &:r2229_61 | +| ir.cpp:2229:73:2229:73 | Arg(this) | this:r0_50 | +| ir.cpp:2229:73:2229:73 | Arg(this) | this:r0_53 | +| ir.cpp:2229:73:2229:73 | Arg(this) | this:r0_55 | +| ir.cpp:2229:73:2229:73 | Arg(this) | this:r0_56 | +| ir.cpp:2229:73:2229:73 | Arg(this) | this:r0_63 | +| ir.cpp:2229:73:2229:73 | Arg(this) | this:r2229_61 | +| ir.cpp:2229:73:2229:73 | CallTarget | func:r2229_21 | +| ir.cpp:2229:73:2229:73 | CallTarget | func:r2229_27 | +| ir.cpp:2229:73:2229:73 | CallTarget | func:r2229_33 | +| ir.cpp:2229:73:2229:73 | CallTarget | func:r2229_34 | +| ir.cpp:2229:73:2229:73 | CallTarget | func:r2229_47 | +| ir.cpp:2229:73:2229:73 | CallTarget | func:r2229_62 | +| ir.cpp:2229:73:2229:73 | ChiPartial | partial:m2229_37 | +| ir.cpp:2229:73:2229:73 | ChiPartial | partial:m2229_39 | +| ir.cpp:2229:73:2229:73 | ChiPartial | partial:m2229_42 | +| ir.cpp:2229:73:2229:73 | ChiPartial | partial:m2229_49 | +| ir.cpp:2229:73:2229:73 | ChiPartial | partial:m2229_64 | +| ir.cpp:2229:73:2229:73 | ChiPartial | partial:m2229_67 | +| ir.cpp:2229:73:2229:73 | ChiTotal | total:m0_57 | +| ir.cpp:2229:73:2229:73 | ChiTotal | total:m2229_30 | +| ir.cpp:2229:73:2229:73 | ChiTotal | total:m2229_31 | +| ir.cpp:2229:73:2229:73 | ChiTotal | total:m2229_38 | +| ir.cpp:2229:73:2229:73 | ChiTotal | total:m2229_43 | +| ir.cpp:2229:73:2229:73 | ChiTotal | total:m2229_57 | +| ir.cpp:2229:73:2229:73 | Condition | r2229_41 | +| ir.cpp:2229:73:2229:73 | Load | m2229_17 | +| ir.cpp:2229:73:2229:73 | Load | m2229_17 | +| ir.cpp:2229:73:2229:73 | Phi | from 20:m2229_23 | +| ir.cpp:2229:73:2229:73 | Phi | from 20:~m2229_11 | +| ir.cpp:2229:73:2229:73 | Phi | from 22:m2229_68 | +| ir.cpp:2229:73:2229:73 | Phi | from 22:~m2229_65 | +| ir.cpp:2229:73:2229:73 | SideEffect | m2229_30 | +| ir.cpp:2229:73:2229:73 | SideEffect | ~m2229_31 | +| ir.cpp:2229:73:2229:73 | SideEffect | ~m2229_38 | +| ir.cpp:2229:73:2229:73 | SideEffect | ~m2229_43 | +| ir.cpp:2229:73:2229:73 | SideEffect | ~m2229_57 | +| ir.cpp:2229:73:2229:73 | StoreValue | r2229_22 | +| ir.cpp:2229:73:2229:73 | StoreValue | r2229_28 | +| ir.cpp:2229:73:2229:73 | Unary | r2229_20 | +| ir.cpp:2229:73:2229:73 | Unary | r2229_26 | +| ir.cpp:2229:73:2229:73 | Unary | r2229_32 | +| ir.cpp:2229:73:2229:73 | Unary | r2229_35 | +| ir.cpp:2229:73:2229:73 | Unary | r2229_46 | +| ir.cpp:2229:73:2229:73 | Unary | r2229_63 | +| ir.cpp:2229:73:2229:74 | StoreValue | r2229_16 | +| ir.cpp:2229:73:2229:74 | Unary | r2229_15 | +| ir.cpp:2229:73:2229:75 | Load | ~m2229_50 | +| ir.cpp:2229:73:2229:75 | StoreValue | r2229_51 | +| ir.cpp:2230:27:2230:28 | Address | &:r2230_1 | +| ir.cpp:2230:27:2230:28 | Address | &:r2230_1 | +| ir.cpp:2230:27:2230:28 | Arg(this) | this:r2230_1 | +| ir.cpp:2230:27:2230:28 | CallTarget | func:r2230_3 | +| ir.cpp:2230:27:2230:28 | ChiPartial | partial:m2230_5 | +| ir.cpp:2230:27:2230:28 | ChiPartial | partial:m2230_7 | +| ir.cpp:2230:27:2230:28 | ChiTotal | total:m2229_50 | +| ir.cpp:2230:27:2230:28 | ChiTotal | total:m2230_2 | +| ir.cpp:2230:27:2230:28 | SideEffect | ~m2229_50 | +| ir.cpp:2231:27:2231:28 | Address | &:r2231_1 | +| ir.cpp:2231:27:2231:28 | Address | &:r2231_1 | +| ir.cpp:2231:27:2231:28 | Arg(this) | this:r2231_1 | +| ir.cpp:2231:27:2231:28 | CallTarget | func:r2231_3 | +| ir.cpp:2231:27:2231:28 | ChiPartial | partial:m2231_5 | +| ir.cpp:2231:27:2231:28 | ChiPartial | partial:m2231_7 | +| ir.cpp:2231:27:2231:28 | ChiTotal | total:m2230_6 | +| ir.cpp:2231:27:2231:28 | ChiTotal | total:m2231_2 | +| ir.cpp:2231:27:2231:28 | SideEffect | ~m2230_6 | +| ir.cpp:2232:5:2232:5 | Address | &:r2232_1 | +| ir.cpp:2232:5:2232:5 | Address | &:r2232_1 | +| ir.cpp:2232:5:2232:5 | Address | &:r2232_9 | +| ir.cpp:2232:5:2232:5 | Address | &:r2232_9 | +| ir.cpp:2232:5:2232:5 | Arg(this) | this:r2232_1 | +| ir.cpp:2232:5:2232:5 | Arg(this) | this:r2232_9 | +| ir.cpp:2232:5:2232:5 | CallTarget | func:r2232_2 | +| ir.cpp:2232:5:2232:5 | CallTarget | func:r2232_10 | +| ir.cpp:2232:5:2232:5 | ChiPartial | partial:m2232_4 | +| ir.cpp:2232:5:2232:5 | ChiPartial | partial:m2232_7 | +| ir.cpp:2232:5:2232:5 | ChiPartial | partial:m2232_12 | +| ir.cpp:2232:5:2232:5 | ChiPartial | partial:m2232_15 | +| ir.cpp:2232:5:2232:5 | ChiTotal | total:m2230_8 | +| ir.cpp:2232:5:2232:5 | ChiTotal | total:m2231_6 | +| ir.cpp:2232:5:2232:5 | ChiTotal | total:m2231_8 | +| ir.cpp:2232:5:2232:5 | ChiTotal | total:m2232_5 | +| ir.cpp:2232:5:2232:5 | SideEffect | m2230_8 | +| ir.cpp:2232:5:2232:5 | SideEffect | m2231_8 | +| ir.cpp:2232:5:2232:5 | SideEffect | ~m2231_6 | +| ir.cpp:2232:5:2232:5 | SideEffect | ~m2232_5 | +| ir.cpp:2233:1:2233:1 | Address | &:r2233_1 | +| ir.cpp:2233:1:2233:1 | Address | &:r2233_1 | +| ir.cpp:2233:1:2233:1 | Address | &:r2233_9 | +| ir.cpp:2233:1:2233:1 | Address | &:r2233_9 | +| ir.cpp:2233:1:2233:1 | Address | &:r2233_18 | +| ir.cpp:2233:1:2233:1 | Address | &:r2233_18 | +| ir.cpp:2233:1:2233:1 | Arg(this) | this:r2233_1 | +| ir.cpp:2233:1:2233:1 | Arg(this) | this:r2233_9 | +| ir.cpp:2233:1:2233:1 | Arg(this) | this:r2233_18 | +| ir.cpp:2233:1:2233:1 | CallTarget | func:r2233_2 | +| ir.cpp:2233:1:2233:1 | CallTarget | func:r2233_10 | +| ir.cpp:2233:1:2233:1 | CallTarget | func:r2233_19 | +| ir.cpp:2233:1:2233:1 | ChiPartial | partial:m2233_4 | +| ir.cpp:2233:1:2233:1 | ChiPartial | partial:m2233_7 | +| ir.cpp:2233:1:2233:1 | ChiPartial | partial:m2233_12 | +| ir.cpp:2233:1:2233:1 | ChiPartial | partial:m2233_15 | +| ir.cpp:2233:1:2233:1 | ChiPartial | partial:m2233_21 | +| ir.cpp:2233:1:2233:1 | ChiPartial | partial:m2233_24 | +| ir.cpp:2233:1:2233:1 | ChiTotal | total:m2214_8 | +| ir.cpp:2233:1:2233:1 | ChiTotal | total:m2214_8 | +| ir.cpp:2233:1:2233:1 | ChiTotal | total:m2214_8 | +| ir.cpp:2233:1:2233:1 | ChiTotal | total:m2218_65 | +| ir.cpp:2233:1:2233:1 | ChiTotal | total:m2224_62 | +| ir.cpp:2233:1:2233:1 | ChiTotal | total:m2229_43 | +| ir.cpp:2233:1:2233:1 | SideEffect | m2214_8 | +| ir.cpp:2233:1:2233:1 | SideEffect | m2214_8 | +| ir.cpp:2233:1:2233:1 | SideEffect | m2214_8 | +| ir.cpp:2233:1:2233:1 | SideEffect | ~m2218_65 | +| ir.cpp:2233:1:2233:1 | SideEffect | ~m2224_62 | +| ir.cpp:2233:1:2233:1 | SideEffect | ~m2229_43 | +| ir.cpp:2235:6:2235:38 | ChiPartial | partial:m2235_3 | +| ir.cpp:2235:6:2235:38 | ChiTotal | total:m2235_2 | +| ir.cpp:2235:6:2235:38 | SideEffect | ~m2238_7 | +| ir.cpp:2236:25:2236:25 | Address | &:r2236_1 | +| ir.cpp:2236:25:2236:25 | Address | &:r2236_1 | +| ir.cpp:2236:25:2236:25 | Arg(this) | this:r2236_1 | +| ir.cpp:2236:25:2236:25 | CallTarget | func:r2236_3 | +| ir.cpp:2236:25:2236:25 | ChiPartial | partial:m2236_5 | +| ir.cpp:2236:25:2236:25 | ChiPartial | partial:m2236_7 | +| ir.cpp:2236:25:2236:25 | ChiTotal | total:m2235_4 | +| ir.cpp:2236:25:2236:25 | ChiTotal | total:m2236_2 | +| ir.cpp:2236:25:2236:25 | SideEffect | ~m2235_4 | +| ir.cpp:2237:32:2237:32 | Address | &:r2237_1 | +| ir.cpp:2237:32:2237:32 | Address | &:r2237_1 | +| ir.cpp:2237:32:2237:32 | Address | &:r2237_4 | +| ir.cpp:2237:32:2237:32 | Arg(this) | this:r2237_4 | +| ir.cpp:2237:32:2237:32 | ChiPartial | partial:m2237_6 | +| ir.cpp:2237:32:2237:32 | ChiTotal | total:m0_6 | +| ir.cpp:2237:32:2237:32 | Condition | r2237_2 | +| ir.cpp:2237:32:2237:32 | Load | ~m2236_6 | +| ir.cpp:2237:32:2237:32 | StoreValue | r2237_5 | +| ir.cpp:2238:1:2238:1 | Address | &:r2238_3 | +| ir.cpp:2238:1:2238:1 | Address | &:r2238_3 | +| ir.cpp:2238:1:2238:1 | Arg(this) | this:r2238_3 | +| ir.cpp:2238:1:2238:1 | CallTarget | func:r2238_4 | +| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_6 | +| ir.cpp:2238:1:2238:1 | ChiPartial | partial:m2238_9 | +| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2236_8 | +| ir.cpp:2238:1:2238:1 | ChiTotal | total:m2238_1 | +| ir.cpp:2238:1:2238:1 | Phi | from 0:~m2236_6 | +| ir.cpp:2238:1:2238:1 | Phi | from 1:~m2237_7 | +| ir.cpp:2238:1:2238:1 | SideEffect | m2236_8 | +| ir.cpp:2238:1:2238:1 | SideEffect | ~m2238_1 | +| ir.cpp:2240:6:2240:38 | ChiPartial | partial:m2240_3 | +| ir.cpp:2240:6:2240:38 | ChiTotal | total:m2240_2 | +| ir.cpp:2240:6:2240:38 | SideEffect | ~m2243_6 | +| ir.cpp:2241:32:2241:32 | Address | &:r2241_1 | +| ir.cpp:2241:32:2241:32 | Address | &:r2241_1 | +| ir.cpp:2241:32:2241:32 | Address | &:r2241_4 | +| ir.cpp:2241:32:2241:32 | Arg(this) | this:r2241_4 | +| ir.cpp:2241:32:2241:32 | ChiPartial | partial:m2241_6 | +| ir.cpp:2241:32:2241:32 | ChiTotal | total:m0_6 | +| ir.cpp:2241:32:2241:32 | Condition | r2241_2 | +| ir.cpp:2241:32:2241:32 | Load | ~m2240_3 | +| ir.cpp:2241:32:2241:32 | StoreValue | r2241_5 | +| ir.cpp:2242:25:2242:25 | Address | &:r2242_2 | +| ir.cpp:2242:25:2242:25 | Address | &:r2242_2 | +| ir.cpp:2242:25:2242:25 | Arg(this) | this:r2242_2 | +| ir.cpp:2242:25:2242:25 | CallTarget | func:r2242_4 | +| ir.cpp:2242:25:2242:25 | ChiPartial | partial:m2242_6 | +| ir.cpp:2242:25:2242:25 | ChiPartial | partial:m2242_8 | +| ir.cpp:2242:25:2242:25 | ChiTotal | total:m2242_1 | +| ir.cpp:2242:25:2242:25 | ChiTotal | total:m2242_3 | +| ir.cpp:2242:25:2242:25 | Phi | from 0:~m2240_4 | +| ir.cpp:2242:25:2242:25 | Phi | from 1:~m2241_7 | +| ir.cpp:2242:25:2242:25 | SideEffect | ~m2242_1 | +| ir.cpp:2243:1:2243:1 | Address | &:r2243_2 | +| ir.cpp:2243:1:2243:1 | Address | &:r2243_2 | +| ir.cpp:2243:1:2243:1 | Arg(this) | this:r2243_2 | +| ir.cpp:2243:1:2243:1 | CallTarget | func:r2243_3 | +| ir.cpp:2243:1:2243:1 | ChiPartial | partial:m2243_5 | +| ir.cpp:2243:1:2243:1 | ChiPartial | partial:m2243_8 | +| ir.cpp:2243:1:2243:1 | ChiTotal | total:m2242_7 | +| ir.cpp:2243:1:2243:1 | ChiTotal | total:m2242_9 | +| ir.cpp:2243:1:2243:1 | SideEffect | m2242_9 | +| ir.cpp:2243:1:2243:1 | SideEffect | ~m2242_7 | +| ir.cpp:2245:6:2245:38 | ChiPartial | partial:m2245_3 | +| ir.cpp:2245:6:2245:38 | ChiTotal | total:m2245_2 | +| ir.cpp:2245:6:2245:38 | SideEffect | ~m2249_15 | +| ir.cpp:2246:25:2246:25 | Address | &:r2246_1 | +| ir.cpp:2246:25:2246:25 | Address | &:r2246_1 | +| ir.cpp:2246:25:2246:25 | Arg(this) | this:r2246_1 | +| ir.cpp:2246:25:2246:25 | CallTarget | func:r2246_3 | +| ir.cpp:2246:25:2246:25 | ChiPartial | partial:m2246_5 | +| ir.cpp:2246:25:2246:25 | ChiPartial | partial:m2246_7 | +| ir.cpp:2246:25:2246:25 | ChiTotal | total:m2245_4 | +| ir.cpp:2246:25:2246:25 | ChiTotal | total:m2246_2 | +| ir.cpp:2246:25:2246:25 | SideEffect | ~m2245_4 | +| ir.cpp:2247:25:2247:25 | Address | &:r2247_1 | +| ir.cpp:2247:25:2247:25 | Address | &:r2247_1 | +| ir.cpp:2247:25:2247:25 | Arg(this) | this:r2247_1 | +| ir.cpp:2247:25:2247:25 | CallTarget | func:r2247_3 | +| ir.cpp:2247:25:2247:25 | ChiPartial | partial:m2247_5 | +| ir.cpp:2247:25:2247:25 | ChiPartial | partial:m2247_7 | +| ir.cpp:2247:25:2247:25 | ChiTotal | total:m2246_6 | +| ir.cpp:2247:25:2247:25 | ChiTotal | total:m2247_2 | +| ir.cpp:2247:25:2247:25 | SideEffect | ~m2246_6 | +| ir.cpp:2248:32:2248:32 | Address | &:r2248_1 | +| ir.cpp:2248:32:2248:32 | Address | &:r2248_1 | +| ir.cpp:2248:32:2248:32 | Address | &:r2248_4 | +| ir.cpp:2248:32:2248:32 | Arg(this) | this:r2248_4 | +| ir.cpp:2248:32:2248:32 | ChiPartial | partial:m2248_6 | +| ir.cpp:2248:32:2248:32 | ChiTotal | total:m0_6 | +| ir.cpp:2248:32:2248:32 | Condition | r2248_2 | +| ir.cpp:2248:32:2248:32 | Load | ~m2247_6 | +| ir.cpp:2248:32:2248:32 | StoreValue | r2248_5 | +| ir.cpp:2249:1:2249:1 | Address | &:r2249_3 | +| ir.cpp:2249:1:2249:1 | Address | &:r2249_3 | +| ir.cpp:2249:1:2249:1 | Address | &:r2249_11 | +| ir.cpp:2249:1:2249:1 | Address | &:r2249_11 | +| ir.cpp:2249:1:2249:1 | Arg(this) | this:r2249_3 | +| ir.cpp:2249:1:2249:1 | Arg(this) | this:r2249_11 | +| ir.cpp:2249:1:2249:1 | CallTarget | func:r2249_4 | +| ir.cpp:2249:1:2249:1 | CallTarget | func:r2249_12 | +| ir.cpp:2249:1:2249:1 | ChiPartial | partial:m2249_6 | +| ir.cpp:2249:1:2249:1 | ChiPartial | partial:m2249_9 | +| ir.cpp:2249:1:2249:1 | ChiPartial | partial:m2249_14 | +| ir.cpp:2249:1:2249:1 | ChiPartial | partial:m2249_17 | +| ir.cpp:2249:1:2249:1 | ChiTotal | total:m2246_8 | +| ir.cpp:2249:1:2249:1 | ChiTotal | total:m2247_8 | +| ir.cpp:2249:1:2249:1 | ChiTotal | total:m2249_1 | +| ir.cpp:2249:1:2249:1 | ChiTotal | total:m2249_7 | +| ir.cpp:2249:1:2249:1 | Phi | from 0:~m2247_6 | +| ir.cpp:2249:1:2249:1 | Phi | from 1:~m2248_7 | +| ir.cpp:2249:1:2249:1 | SideEffect | m2246_8 | +| ir.cpp:2249:1:2249:1 | SideEffect | m2247_8 | +| ir.cpp:2249:1:2249:1 | SideEffect | ~m2249_1 | +| ir.cpp:2249:1:2249:1 | SideEffect | ~m2249_7 | +| ir.cpp:2251:28:2251:55 | Address | &:r2251_3 | +| ir.cpp:2251:28:2251:55 | Arg(this) | this:r2251_3 | +| ir.cpp:2251:28:2251:55 | CallTarget | func:r2251_4 | +| ir.cpp:2251:28:2251:55 | ChiPartial | partial:m2251_6 | +| ir.cpp:2251:28:2251:55 | ChiPartial | partial:m2251_8 | +| ir.cpp:2251:28:2251:55 | ChiTotal | total:m2251_2 | +| ir.cpp:2251:28:2251:55 | ChiTotal | total:m2251_7 | +| ir.cpp:2251:28:2251:55 | SideEffect | ~m2251_2 | +| ir.cpp:2251:28:2251:55 | SideEffect | ~m2251_9 | +| ir.cpp:2255:8:2255:8 | Address | &:r2255_16 | +| ir.cpp:2255:8:2255:8 | Address | &:r2255_16 | +| ir.cpp:2255:8:2255:8 | ChiPartial | partial:m2255_3 | +| ir.cpp:2255:8:2255:8 | ChiPartial | partial:m2255_3 | +| ir.cpp:2255:8:2255:8 | ChiTotal | total:m2255_2 | +| ir.cpp:2255:8:2255:8 | ChiTotal | total:m2255_2 | +| ir.cpp:2255:8:2255:8 | Load | m2255_14 | +| ir.cpp:2255:8:2255:8 | Load | m2255_14 | +| ir.cpp:2255:8:2255:8 | SideEffect | m2255_3 | +| ir.cpp:2255:8:2255:8 | SideEffect | m2255_3 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_5 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_5 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_5 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_5 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_7 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_7 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_7 | +| ir.cpp:2255:15:2255:15 | Address | &:r2255_7 | +| ir.cpp:2255:15:2255:15 | Load | m2255_6 | +| ir.cpp:2255:15:2255:15 | Load | m2255_6 | +| ir.cpp:2255:15:2255:15 | SideEffect | m2255_8 | +| ir.cpp:2255:15:2255:15 | SideEffect | m2255_8 | +| ir.cpp:2255:20:2255:28 | Address | &:r2255_9 | +| ir.cpp:2255:20:2255:28 | Address | &:r2255_9 | +| ir.cpp:2255:27:2255:27 | Address | &:r2255_10 | +| ir.cpp:2255:27:2255:27 | Address | &:r2255_10 | +| ir.cpp:2255:27:2255:27 | Load | m2255_6 | +| ir.cpp:2255:27:2255:27 | Load | m2255_6 | +| ir.cpp:2255:27:2255:27 | StoreValue | r2255_13 | +| ir.cpp:2255:27:2255:27 | StoreValue | r2255_13 | +| ir.cpp:2255:27:2255:27 | Unary | r2255_11 | +| ir.cpp:2255:27:2255:27 | Unary | r2255_11 | +| ir.cpp:2255:27:2255:27 | Unary | r2255_12 | +| ir.cpp:2255:27:2255:27 | Unary | r2255_12 | +| ir.cpp:2258:10:2258:10 | ChiPartial | partial:m2258_3 | +| ir.cpp:2258:10:2258:10 | ChiPartial | partial:m2258_3 | +| ir.cpp:2258:10:2258:10 | ChiTotal | total:m2258_2 | +| ir.cpp:2258:10:2258:10 | ChiTotal | total:m2258_2 | +| ir.cpp:2258:10:2258:10 | SideEffect | ~m2259_8 | +| ir.cpp:2258:10:2258:10 | SideEffect | ~m2259_16 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_5 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_5 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_5 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_5 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_7 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_7 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_7 | +| ir.cpp:2258:29:2258:29 | Address | &:r2258_7 | +| ir.cpp:2258:29:2258:29 | Load | m2258_6 | +| ir.cpp:2258:29:2258:29 | Load | m2258_6 | +| ir.cpp:2258:29:2258:29 | SideEffect | m2259_11 | +| ir.cpp:2258:29:2258:29 | SideEffect | m2259_19 | +| ir.cpp:2259:9:2259:11 | CallTarget | func:r2259_1 | +| ir.cpp:2259:9:2259:11 | CallTarget | func:r2259_1 | +| ir.cpp:2259:9:2259:11 | ChiPartial | partial:m2259_7 | +| ir.cpp:2259:9:2259:11 | ChiPartial | partial:m2259_7 | +| ir.cpp:2259:9:2259:11 | ChiTotal | total:m2258_4 | +| ir.cpp:2259:9:2259:11 | ChiTotal | total:m2258_4 | +| ir.cpp:2259:9:2259:11 | SideEffect | ~m2258_4 | +| ir.cpp:2259:9:2259:11 | SideEffect | ~m2258_4 | +| ir.cpp:2259:9:2259:11 | Unary | r2259_6 | +| ir.cpp:2259:9:2259:11 | Unary | r2259_6 | +| ir.cpp:2259:12:2259:15 | Address | &:r2259_12 | +| ir.cpp:2259:12:2259:15 | Address | &:r2259_12 | +| ir.cpp:2259:12:2259:15 | ChiPartial | partial:m2259_18 | +| ir.cpp:2259:12:2259:15 | ChiTotal | total:m2259_11 | +| ir.cpp:2259:12:2259:15 | SideEffect | ~m2259_11 | +| ir.cpp:2259:13:2259:13 | Address | &:r2259_2 | +| ir.cpp:2259:13:2259:13 | Address | &:r2259_2 | +| ir.cpp:2259:13:2259:13 | Address | &:r2259_5 | +| ir.cpp:2259:13:2259:13 | Address | &:r2259_5 | +| ir.cpp:2259:13:2259:13 | Address | &:r2259_5 | +| ir.cpp:2259:13:2259:13 | Address | &:r2259_5 | +| ir.cpp:2259:13:2259:13 | Arg(0) | 0:r2259_5 | +| ir.cpp:2259:13:2259:13 | Arg(0) | 0:r2259_5 | +| ir.cpp:2259:13:2259:13 | ChiPartial | partial:m2259_10 | +| ir.cpp:2259:13:2259:13 | ChiPartial | partial:m2259_10 | +| ir.cpp:2259:13:2259:13 | ChiTotal | total:m2258_8 | +| ir.cpp:2259:13:2259:13 | ChiTotal | total:m2258_8 | +| ir.cpp:2259:13:2259:13 | Load | m2258_6 | +| ir.cpp:2259:13:2259:13 | Load | m2258_6 | +| ir.cpp:2259:13:2259:13 | SideEffect | ~m2258_8 | +| ir.cpp:2259:13:2259:13 | SideEffect | ~m2258_8 | +| ir.cpp:2259:13:2259:13 | Unary | r2259_3 | +| ir.cpp:2259:13:2259:13 | Unary | r2259_3 | +| ir.cpp:2259:13:2259:13 | Unary | r2259_4 | +| ir.cpp:2259:13:2259:13 | Unary | r2259_4 | +| ir.cpp:2259:16:2259:17 | CallTarget | func:r2259_13 | +| ir.cpp:2259:16:2259:17 | ChiPartial | partial:m2259_15 | +| ir.cpp:2259:16:2259:17 | ChiTotal | total:m2259_8 | +| ir.cpp:2259:16:2259:17 | SideEffect | ~m2259_8 | +| ir.cpp:2262:10:2262:36 | ChiPartial | partial:m2262_3 | +| ir.cpp:2262:10:2262:36 | ChiTotal | total:m2262_2 | +| ir.cpp:2262:10:2262:36 | SideEffect | ~m2265_6 | +| ir.cpp:2263:29:2263:29 | Address | &:r2263_1 | +| ir.cpp:2263:29:2263:29 | Address | &:r2263_1 | +| ir.cpp:2263:29:2263:29 | Arg(this) | this:r2263_1 | +| ir.cpp:2263:29:2263:29 | CallTarget | func:r2263_3 | +| ir.cpp:2263:29:2263:29 | ChiPartial | partial:m2263_5 | +| ir.cpp:2263:29:2263:29 | ChiPartial | partial:m2263_7 | +| ir.cpp:2263:29:2263:29 | ChiTotal | total:m2262_4 | +| ir.cpp:2263:29:2263:29 | ChiTotal | total:m2263_2 | +| ir.cpp:2263:29:2263:29 | SideEffect | ~m2262_4 | +| ir.cpp:2264:9:2264:23 | CallTarget | func:r2264_1 | +| ir.cpp:2264:9:2264:23 | ChiPartial | partial:m2264_5 | +| ir.cpp:2264:9:2264:23 | ChiTotal | total:m2263_6 | +| ir.cpp:2264:9:2264:23 | SideEffect | ~m2263_6 | +| ir.cpp:2264:25:2264:25 | Address | &:r2264_3 | +| ir.cpp:2264:25:2264:25 | Address | &:r2264_3 | +| ir.cpp:2264:25:2264:25 | Arg(0) | 0:r2264_3 | +| ir.cpp:2264:25:2264:25 | ChiPartial | partial:m2264_8 | +| ir.cpp:2264:25:2264:25 | ChiTotal | total:m2263_8 | +| ir.cpp:2264:25:2264:25 | SideEffect | ~m2263_8 | +| ir.cpp:2264:25:2264:25 | Unary | r2264_2 | +| ir.cpp:2265:5:2265:5 | Address | &:r2265_2 | +| ir.cpp:2265:5:2265:5 | Address | &:r2265_2 | +| ir.cpp:2265:5:2265:5 | Arg(this) | this:r2265_2 | +| ir.cpp:2265:5:2265:5 | CallTarget | func:r2265_3 | +| ir.cpp:2265:5:2265:5 | ChiPartial | partial:m2265_5 | +| ir.cpp:2265:5:2265:5 | ChiPartial | partial:m2265_8 | +| ir.cpp:2265:5:2265:5 | ChiTotal | total:m2264_6 | +| ir.cpp:2265:5:2265:5 | ChiTotal | total:m2264_9 | +| ir.cpp:2265:5:2265:5 | SideEffect | m2264_9 | +| ir.cpp:2265:5:2265:5 | SideEffect | ~m2264_6 | +| ir.cpp:2267:10:2267:32 | ChiPartial | partial:m2267_3 | +| ir.cpp:2267:10:2267:32 | ChiTotal | total:m2267_2 | +| ir.cpp:2267:10:2267:32 | SideEffect | ~m2269_6 | +| ir.cpp:2268:13:2268:13 | Address | &:r2268_1 | +| ir.cpp:2269:9:2269:23 | CallTarget | func:r2269_1 | +| ir.cpp:2269:9:2269:23 | ChiPartial | partial:m2269_5 | +| ir.cpp:2269:9:2269:23 | ChiTotal | total:m2267_4 | +| ir.cpp:2269:9:2269:23 | SideEffect | ~m2267_4 | +| ir.cpp:2269:25:2269:25 | Address | &:r2269_3 | +| ir.cpp:2269:25:2269:25 | Address | &:r2269_3 | +| ir.cpp:2269:25:2269:25 | Arg(0) | 0:r2269_3 | +| ir.cpp:2269:25:2269:25 | ChiPartial | partial:m2269_8 | +| ir.cpp:2269:25:2269:25 | ChiTotal | total:m2268_2 | +| ir.cpp:2269:25:2269:25 | SideEffect | ~m2268_2 | +| ir.cpp:2269:25:2269:25 | Unary | r2269_2 | +| ir.cpp:2273:6:2273:24 | ChiPartial | partial:m2273_3 | +| ir.cpp:2273:6:2273:24 | ChiTotal | total:m2273_2 | +| ir.cpp:2273:6:2273:24 | Phi | from 2:~m2273_10 | +| ir.cpp:2273:6:2273:24 | Phi | from 6:~m2282_8 | +| ir.cpp:2273:6:2273:24 | Phi | from 9:~m2275_6 | +| ir.cpp:2273:6:2273:24 | Phi | from 10:~m2289_1 | +| ir.cpp:2273:6:2273:24 | SideEffect | ~m2273_7 | +| ir.cpp:2273:31:2273:31 | Address | &:r2273_5 | +| ir.cpp:2275:12:2275:12 | Address | &:r2275_1 | +| ir.cpp:2275:12:2275:12 | Address | &:r2275_1 | +| ir.cpp:2275:12:2275:12 | Arg(this) | this:r2275_1 | +| ir.cpp:2275:12:2275:12 | CallTarget | func:r2275_3 | +| ir.cpp:2275:12:2275:12 | ChiPartial | partial:m2275_5 | +| ir.cpp:2275:12:2275:12 | ChiPartial | partial:m2275_7 | +| ir.cpp:2275:12:2275:12 | ChiTotal | total:m2273_4 | +| ir.cpp:2275:12:2275:12 | ChiTotal | total:m2275_2 | +| ir.cpp:2275:12:2275:12 | SideEffect | ~m2273_4 | +| ir.cpp:2276:9:2276:9 | Address | &:r2276_1 | +| ir.cpp:2276:9:2276:9 | Condition | r2276_2 | +| ir.cpp:2276:9:2276:9 | Load | m2273_6 | +| ir.cpp:2277:7:2277:28 | Address | &:r2277_1 | +| ir.cpp:2277:7:2277:28 | Address | &:r2277_1 | +| ir.cpp:2277:7:2277:28 | Load | m2277_4 | +| ir.cpp:2277:13:2277:28 | StoreValue | r2277_3 | +| ir.cpp:2277:13:2277:28 | Unary | r2277_2 | +| ir.cpp:2279:12:2279:13 | Address | &:r2279_1 | +| ir.cpp:2279:12:2279:13 | Address | &:r2279_1 | +| ir.cpp:2279:12:2279:13 | Arg(this) | this:r2279_1 | +| ir.cpp:2279:12:2279:13 | CallTarget | func:r2279_3 | +| ir.cpp:2279:12:2279:13 | ChiPartial | partial:m2279_5 | +| ir.cpp:2279:12:2279:13 | ChiPartial | partial:m2279_7 | +| ir.cpp:2279:12:2279:13 | ChiTotal | total:m2275_6 | +| ir.cpp:2279:12:2279:13 | ChiTotal | total:m2279_2 | +| ir.cpp:2279:12:2279:13 | SideEffect | ~m2275_6 | +| ir.cpp:2280:3:2280:3 | Address | &:r2280_1 | +| ir.cpp:2280:3:2280:3 | Address | &:r2280_1 | +| ir.cpp:2280:3:2280:3 | Address | &:r2280_9 | +| ir.cpp:2280:3:2280:3 | Address | &:r2280_9 | +| ir.cpp:2280:3:2280:3 | Arg(this) | this:r2280_1 | +| ir.cpp:2280:3:2280:3 | Arg(this) | this:r2280_9 | +| ir.cpp:2280:3:2280:3 | CallTarget | func:r2280_2 | +| ir.cpp:2280:3:2280:3 | CallTarget | func:r2280_10 | +| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_4 | +| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_7 | +| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_12 | +| ir.cpp:2280:3:2280:3 | ChiPartial | partial:m2280_15 | +| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2275_8 | +| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2279_6 | +| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2279_8 | +| ir.cpp:2280:3:2280:3 | ChiTotal | total:m2280_5 | +| ir.cpp:2280:3:2280:3 | SideEffect | m2275_8 | +| ir.cpp:2280:3:2280:3 | SideEffect | m2279_8 | +| ir.cpp:2280:3:2280:3 | SideEffect | ~m2279_6 | +| ir.cpp:2280:3:2280:3 | SideEffect | ~m2280_5 | +| ir.cpp:2281:22:2281:22 | Address | &:r2281_2 | +| ir.cpp:2281:22:2281:22 | Address | &:r2281_2 | +| ir.cpp:2281:22:2281:22 | Address | &:r2281_4 | +| ir.cpp:2281:22:2281:22 | Load | m2281_3 | +| ir.cpp:2282:5:2282:19 | Address | &:r2282_1 | +| ir.cpp:2282:5:2282:19 | Address | &:r2282_1 | +| ir.cpp:2282:5:2282:19 | Address | &:r2282_1 | +| ir.cpp:2282:5:2282:19 | Arg(this) | this:r2282_1 | +| ir.cpp:2282:5:2282:19 | CallTarget | func:r2282_3 | +| ir.cpp:2282:5:2282:19 | ChiPartial | partial:m2282_7 | +| ir.cpp:2282:5:2282:19 | ChiPartial | partial:m2282_10 | +| ir.cpp:2282:5:2282:19 | ChiTotal | total:m2275_6 | +| ir.cpp:2282:5:2282:19 | ChiTotal | total:m2282_2 | +| ir.cpp:2282:5:2282:19 | Load | m2282_11 | +| ir.cpp:2282:5:2282:19 | SideEffect | ~m2275_6 | +| ir.cpp:2282:18:2282:18 | Address | &:r2282_4 | +| ir.cpp:2282:18:2282:18 | Address | &:r2282_5 | +| ir.cpp:2282:18:2282:18 | Arg(0) | 0:r2282_5 | +| ir.cpp:2282:18:2282:18 | Load | m2281_3 | +| ir.cpp:2282:18:2282:18 | SideEffect | ~m2281_5 | +| ir.cpp:2284:24:2284:24 | Address | &:r2284_2 | +| ir.cpp:2284:24:2284:24 | Address | &:r2284_2 | +| ir.cpp:2284:24:2284:24 | Address | &:r2284_4 | +| ir.cpp:2284:24:2284:24 | Load | m2284_3 | +| ir.cpp:2289:1:2289:1 | Phi | from 4:~m2280_13 | +| ir.cpp:2289:1:2289:1 | Phi | from 8:~m2275_6 | +| ir.cpp:2291:6:2291:18 | ChiPartial | partial:m2291_3 | +| ir.cpp:2291:6:2291:18 | ChiTotal | total:m2291_2 | +| ir.cpp:2291:6:2291:18 | SideEffect | ~m2299_14 | +| ir.cpp:2291:25:2291:25 | Address | &:r2291_5 | +| ir.cpp:2292:12:2292:13 | Address | &:r2292_1 | +| ir.cpp:2292:12:2292:13 | Address | &:r2292_1 | +| ir.cpp:2292:12:2292:13 | Arg(this) | this:r2292_1 | +| ir.cpp:2292:12:2292:13 | CallTarget | func:r2292_3 | +| ir.cpp:2292:12:2292:13 | ChiPartial | partial:m2292_5 | +| ir.cpp:2292:12:2292:13 | ChiPartial | partial:m2292_7 | +| ir.cpp:2292:12:2292:13 | ChiTotal | total:m2291_4 | +| ir.cpp:2292:12:2292:13 | ChiTotal | total:m2292_2 | +| ir.cpp:2292:12:2292:13 | SideEffect | ~m2291_4 | +| ir.cpp:2293:8:2293:8 | Address | &:r2293_1 | +| ir.cpp:2293:8:2293:8 | Condition | r2293_2 | +| ir.cpp:2293:8:2293:8 | Load | m2291_6 | | ir.cpp:2294:16:2294:17 | Address | &:r2294_1 | | ir.cpp:2294:16:2294:17 | Address | &:r2294_1 | | ir.cpp:2294:16:2294:17 | Arg(this) | this:r2294_1 | | ir.cpp:2294:16:2294:17 | CallTarget | func:r2294_3 | | ir.cpp:2294:16:2294:17 | ChiPartial | partial:m2294_5 | | ir.cpp:2294:16:2294:17 | ChiPartial | partial:m2294_7 | -| ir.cpp:2294:16:2294:17 | ChiTotal | total:m2293_64 | +| ir.cpp:2294:16:2294:17 | ChiTotal | total:m2292_6 | | ir.cpp:2294:16:2294:17 | ChiTotal | total:m2294_2 | -| ir.cpp:2294:16:2294:17 | SideEffect | ~m2293_64 | +| ir.cpp:2294:16:2294:17 | SideEffect | ~m2292_6 | | ir.cpp:2295:5:2295:5 | Address | &:r2295_1 | | ir.cpp:2295:5:2295:5 | Address | &:r2295_1 | | ir.cpp:2295:5:2295:5 | Arg(this) | this:r2295_1 | @@ -12261,684 +12047,927 @@ | ir.cpp:2295:5:2295:5 | ChiTotal | total:m2294_8 | | ir.cpp:2295:5:2295:5 | SideEffect | m2294_8 | | ir.cpp:2295:5:2295:5 | SideEffect | ~m2294_6 | -| ir.cpp:2297:16:2297:16 | Address | &:r2297_1 | -| ir.cpp:2297:16:2297:16 | Address | &:r2297_1 | -| ir.cpp:2297:16:2297:16 | Address | &:r2297_50 | -| ir.cpp:2297:16:2297:16 | Address | &:r2297_50 | -| ir.cpp:2297:16:2297:16 | Arg(this) | this:r2297_1 | -| ir.cpp:2297:16:2297:16 | Arg(this) | this:r2297_50 | -| ir.cpp:2297:16:2297:16 | CallTarget | func:r2297_51 | -| ir.cpp:2297:16:2297:16 | ChiPartial | partial:m2297_53 | -| ir.cpp:2297:16:2297:16 | ChiPartial | partial:m2297_56 | -| ir.cpp:2297:16:2297:16 | ChiTotal | total:m2297_23 | -| ir.cpp:2297:16:2297:16 | ChiTotal | total:m2297_46 | -| ir.cpp:2297:16:2297:16 | SideEffect | m2297_23 | -| ir.cpp:2297:16:2297:16 | SideEffect | ~m2297_46 | -| ir.cpp:2297:18:2297:24 | Address | &:r2297_5 | -| ir.cpp:2297:18:2297:24 | Arg(0) | 0:r2297_5 | -| ir.cpp:2297:18:2297:24 | SideEffect | ~m2287_3 | -| ir.cpp:2297:18:2297:24 | Unary | r2297_4 | -| ir.cpp:2297:18:2297:25 | CallTarget | func:r2297_3 | -| ir.cpp:2297:18:2297:25 | ChiPartial | partial:m2297_7 | -| ir.cpp:2297:18:2297:25 | ChiPartial | partial:m2297_10 | -| ir.cpp:2297:18:2297:25 | ChiTotal | total:m2293_49 | -| ir.cpp:2297:18:2297:25 | ChiTotal | total:m2297_2 | -| ir.cpp:2297:18:2297:25 | SideEffect | ~m2293_49 | -| ir.cpp:2297:28:2297:29 | Address | &:r2297_12 | -| ir.cpp:2297:28:2297:29 | Address | &:r2297_12 | -| ir.cpp:2297:28:2297:29 | Address | &:r2297_42 | -| ir.cpp:2297:28:2297:29 | Address | &:r2297_42 | -| ir.cpp:2297:28:2297:29 | Arg(this) | this:r2297_12 | -| ir.cpp:2297:28:2297:29 | Arg(this) | this:r2297_42 | -| ir.cpp:2297:28:2297:29 | CallTarget | func:r2297_43 | -| ir.cpp:2297:28:2297:29 | ChiPartial | partial:m2297_45 | -| ir.cpp:2297:28:2297:29 | ChiPartial | partial:m2297_48 | -| ir.cpp:2297:28:2297:29 | ChiTotal | total:m2297_22 | -| ir.cpp:2297:28:2297:29 | ChiTotal | total:m2297_24 | -| ir.cpp:2297:28:2297:29 | SideEffect | m2297_22 | -| ir.cpp:2297:28:2297:29 | SideEffect | ~m2297_24 | -| ir.cpp:2297:31:2297:37 | Address | &:r2297_16 | -| ir.cpp:2297:31:2297:37 | Arg(0) | 0:r2297_16 | -| ir.cpp:2297:31:2297:37 | SideEffect | ~m2287_3 | -| ir.cpp:2297:31:2297:37 | Unary | r2297_15 | -| ir.cpp:2297:31:2297:38 | CallTarget | func:r2297_14 | -| ir.cpp:2297:31:2297:38 | ChiPartial | partial:m2297_18 | -| ir.cpp:2297:31:2297:38 | ChiPartial | partial:m2297_21 | -| ir.cpp:2297:31:2297:38 | ChiTotal | total:m2297_8 | -| ir.cpp:2297:31:2297:38 | ChiTotal | total:m2297_13 | -| ir.cpp:2297:31:2297:38 | SideEffect | ~m2297_8 | -| ir.cpp:2297:41:2297:41 | Address | &:r2297_26 | -| ir.cpp:2297:41:2297:41 | Left | r2297_28 | -| ir.cpp:2297:41:2297:41 | Load | m2297_25 | -| ir.cpp:2297:41:2297:41 | Phi | from 6:m2289_14 | -| ir.cpp:2297:41:2297:41 | Phi | from 6:m2297_11 | -| ir.cpp:2297:41:2297:41 | Phi | from 6:~m2297_19 | -| ir.cpp:2297:41:2297:41 | Phi | from 8:m2297_39 | -| ir.cpp:2297:41:2297:41 | Phi | from 8:m2297_41 | -| ir.cpp:2297:41:2297:41 | Phi | from 8:~m2297_36 | -| ir.cpp:2297:41:2297:41 | Unary | r2297_27 | -| ir.cpp:2297:41:2297:46 | Condition | r2297_30 | -| ir.cpp:2297:46:2297:46 | Right | r2297_29 | -| ir.cpp:2297:49:2297:49 | Address | &:r2297_40 | -| ir.cpp:2297:53:2297:53 | Address | &:r2297_32 | -| ir.cpp:2297:53:2297:53 | Address | &:r2297_32 | -| ir.cpp:2297:53:2297:53 | Arg(this) | this:r2297_32 | -| ir.cpp:2297:53:2297:53 | ChiPartial | partial:m2297_38 | -| ir.cpp:2297:53:2297:53 | ChiTotal | total:m2297_23 | -| ir.cpp:2297:53:2297:53 | SideEffect | m2297_23 | -| ir.cpp:2297:55:2297:62 | CallTarget | func:r2297_33 | -| ir.cpp:2297:55:2297:62 | ChiPartial | partial:m2297_35 | -| ir.cpp:2297:55:2297:62 | ChiTotal | total:m2297_24 | -| ir.cpp:2297:55:2297:62 | SideEffect | ~m2297_24 | -| ir.cpp:2297:55:2297:62 | StoreValue | r2297_34 | -| ir.cpp:2298:9:2298:9 | Address | &:r2298_2 | -| ir.cpp:2298:13:2298:13 | StoreValue | r2298_1 | -| ir.cpp:2302:6:2302:19 | ChiPartial | partial:m2302_3 | -| ir.cpp:2302:6:2302:19 | ChiTotal | total:m2302_2 | -| ir.cpp:2302:6:2302:19 | SideEffect | ~m2307_5 | -| ir.cpp:2302:26:2302:26 | Address | &:r2302_5 | -| ir.cpp:2303:15:2303:15 | Address | &:r2303_1 | -| ir.cpp:2303:15:2303:15 | Address | &:r2303_1 | -| ir.cpp:2303:15:2303:15 | Arg(this) | this:r2303_1 | -| ir.cpp:2303:18:2303:33 | CallTarget | func:r2303_3 | -| ir.cpp:2303:18:2303:33 | ChiPartial | partial:m2303_7 | -| ir.cpp:2303:18:2303:33 | ChiPartial | partial:m2303_10 | -| ir.cpp:2303:18:2303:33 | ChiTotal | total:m2302_4 | -| ir.cpp:2303:18:2303:33 | ChiTotal | total:m2303_2 | -| ir.cpp:2303:18:2303:33 | SideEffect | ~m2302_4 | -| ir.cpp:2303:26:2303:32 | Address | &:r2303_5 | -| ir.cpp:2303:26:2303:32 | Arg(0) | 0:r2303_5 | -| ir.cpp:2303:26:2303:32 | SideEffect | ~m2302_3 | -| ir.cpp:2303:26:2303:32 | Unary | r2303_4 | -| ir.cpp:2303:36:2303:36 | Address | &:r2303_12 | -| ir.cpp:2303:36:2303:36 | Condition | r2303_13 | -| ir.cpp:2303:36:2303:36 | Load | m2302_6 | -| ir.cpp:2304:13:2304:13 | Address | &:r2304_1 | -| ir.cpp:2304:16:2304:17 | StoreValue | r2304_2 | -| ir.cpp:2306:13:2306:13 | Address | &:r2306_1 | -| ir.cpp:2306:16:2306:17 | StoreValue | r2306_2 | +| ir.cpp:2296:16:2296:17 | Address | &:r2296_1 | +| ir.cpp:2296:16:2296:17 | Address | &:r2296_1 | +| ir.cpp:2296:16:2296:17 | Arg(this) | this:r2296_1 | +| ir.cpp:2296:16:2296:17 | CallTarget | func:r2296_3 | +| ir.cpp:2296:16:2296:17 | ChiPartial | partial:m2296_5 | +| ir.cpp:2296:16:2296:17 | ChiPartial | partial:m2296_7 | +| ir.cpp:2296:16:2296:17 | ChiTotal | total:m2292_6 | +| ir.cpp:2296:16:2296:17 | ChiTotal | total:m2296_2 | +| ir.cpp:2296:16:2296:17 | SideEffect | ~m2292_6 | +| ir.cpp:2297:5:2297:5 | Address | &:r2297_1 | +| ir.cpp:2297:5:2297:5 | Address | &:r2297_1 | +| ir.cpp:2297:5:2297:5 | Arg(this) | this:r2297_1 | +| ir.cpp:2297:5:2297:5 | CallTarget | func:r2297_2 | +| ir.cpp:2297:5:2297:5 | ChiPartial | partial:m2297_4 | +| ir.cpp:2297:5:2297:5 | ChiPartial | partial:m2297_7 | +| ir.cpp:2297:5:2297:5 | ChiTotal | total:m2296_6 | +| ir.cpp:2297:5:2297:5 | ChiTotal | total:m2296_8 | +| ir.cpp:2297:5:2297:5 | SideEffect | m2296_8 | +| ir.cpp:2297:5:2297:5 | SideEffect | ~m2296_6 | +| ir.cpp:2298:12:2298:13 | Address | &:r2298_2 | +| ir.cpp:2298:12:2298:13 | Address | &:r2298_2 | +| ir.cpp:2298:12:2298:13 | Arg(this) | this:r2298_2 | +| ir.cpp:2298:12:2298:13 | CallTarget | func:r2298_4 | +| ir.cpp:2298:12:2298:13 | ChiPartial | partial:m2298_6 | +| ir.cpp:2298:12:2298:13 | ChiPartial | partial:m2298_8 | +| ir.cpp:2298:12:2298:13 | ChiTotal | total:m2298_1 | +| ir.cpp:2298:12:2298:13 | ChiTotal | total:m2298_3 | +| ir.cpp:2298:12:2298:13 | Phi | from 1:~m2295_5 | +| ir.cpp:2298:12:2298:13 | Phi | from 2:~m2297_5 | +| ir.cpp:2298:12:2298:13 | SideEffect | ~m2298_1 | +| ir.cpp:2299:1:2299:1 | Address | &:r2299_2 | +| ir.cpp:2299:1:2299:1 | Address | &:r2299_2 | +| ir.cpp:2299:1:2299:1 | Address | &:r2299_10 | +| ir.cpp:2299:1:2299:1 | Address | &:r2299_10 | +| ir.cpp:2299:1:2299:1 | Arg(this) | this:r2299_2 | +| ir.cpp:2299:1:2299:1 | Arg(this) | this:r2299_10 | +| ir.cpp:2299:1:2299:1 | CallTarget | func:r2299_3 | +| ir.cpp:2299:1:2299:1 | CallTarget | func:r2299_11 | +| ir.cpp:2299:1:2299:1 | ChiPartial | partial:m2299_5 | +| ir.cpp:2299:1:2299:1 | ChiPartial | partial:m2299_8 | +| ir.cpp:2299:1:2299:1 | ChiPartial | partial:m2299_13 | +| ir.cpp:2299:1:2299:1 | ChiPartial | partial:m2299_16 | +| ir.cpp:2299:1:2299:1 | ChiTotal | total:m2292_8 | +| ir.cpp:2299:1:2299:1 | ChiTotal | total:m2298_7 | +| ir.cpp:2299:1:2299:1 | ChiTotal | total:m2298_9 | +| ir.cpp:2299:1:2299:1 | ChiTotal | total:m2299_6 | +| ir.cpp:2299:1:2299:1 | SideEffect | m2292_8 | +| ir.cpp:2299:1:2299:1 | SideEffect | m2298_9 | +| ir.cpp:2299:1:2299:1 | SideEffect | ~m2298_7 | +| ir.cpp:2299:1:2299:1 | SideEffect | ~m2299_6 | +| ir.cpp:2301:6:2301:19 | ChiPartial | partial:m2301_3 | +| ir.cpp:2301:6:2301:19 | ChiTotal | total:m2301_2 | +| ir.cpp:2301:6:2301:19 | SideEffect | ~m2311_54 | +| ir.cpp:2302:10:2302:10 | Address | &:r2302_1 | +| ir.cpp:2302:13:2302:16 | StoreValue | r2302_2 | +| ir.cpp:2303:16:2303:16 | Address | &:r2303_1 | +| ir.cpp:2303:16:2303:16 | Address | &:r2303_1 | +| ir.cpp:2303:16:2303:16 | Address | &:r2303_31 | +| ir.cpp:2303:16:2303:16 | Address | &:r2303_31 | +| ir.cpp:2303:16:2303:16 | Arg(this) | this:r2303_1 | +| ir.cpp:2303:16:2303:16 | Arg(this) | this:r2303_31 | +| ir.cpp:2303:16:2303:16 | CallTarget | func:r2303_32 | +| ir.cpp:2303:16:2303:16 | ChiPartial | partial:m2303_34 | +| ir.cpp:2303:16:2303:16 | ChiPartial | partial:m2303_37 | +| ir.cpp:2303:16:2303:16 | ChiTotal | total:m2303_12 | +| ir.cpp:2303:16:2303:16 | ChiTotal | total:m2303_13 | +| ir.cpp:2303:16:2303:16 | SideEffect | m2303_12 | +| ir.cpp:2303:16:2303:16 | SideEffect | ~m2303_13 | +| ir.cpp:2303:18:2303:24 | Address | &:r2303_5 | +| ir.cpp:2303:18:2303:24 | Arg(0) | 0:r2303_5 | +| ir.cpp:2303:18:2303:24 | SideEffect | ~m2301_3 | +| ir.cpp:2303:18:2303:24 | Unary | r2303_4 | +| ir.cpp:2303:18:2303:25 | CallTarget | func:r2303_3 | +| ir.cpp:2303:18:2303:25 | ChiPartial | partial:m2303_7 | +| ir.cpp:2303:18:2303:25 | ChiPartial | partial:m2303_10 | +| ir.cpp:2303:18:2303:25 | ChiTotal | total:m2301_4 | +| ir.cpp:2303:18:2303:25 | ChiTotal | total:m2303_2 | +| ir.cpp:2303:18:2303:25 | SideEffect | ~m2301_4 | +| ir.cpp:2303:28:2303:28 | Address | &:r2303_15 | +| ir.cpp:2303:28:2303:28 | Left | r2303_17 | +| ir.cpp:2303:28:2303:28 | Load | m2303_14 | +| ir.cpp:2303:28:2303:28 | Phi | from 0:m2302_3 | +| ir.cpp:2303:28:2303:28 | Phi | from 0:m2303_11 | +| ir.cpp:2303:28:2303:28 | Phi | from 0:~m2303_8 | +| ir.cpp:2303:28:2303:28 | Phi | from 2:m2303_28 | +| ir.cpp:2303:28:2303:28 | Phi | from 2:m2303_30 | +| ir.cpp:2303:28:2303:28 | Phi | from 2:~m2303_25 | +| ir.cpp:2303:28:2303:28 | Unary | r2303_16 | +| ir.cpp:2303:28:2303:33 | Condition | r2303_19 | +| ir.cpp:2303:33:2303:33 | Right | r2303_18 | +| ir.cpp:2303:36:2303:36 | Address | &:r2303_29 | +| ir.cpp:2303:40:2303:40 | Address | &:r2303_21 | +| ir.cpp:2303:40:2303:40 | Address | &:r2303_21 | +| ir.cpp:2303:40:2303:40 | Arg(this) | this:r2303_21 | +| ir.cpp:2303:40:2303:40 | ChiPartial | partial:m2303_27 | +| ir.cpp:2303:40:2303:40 | ChiTotal | total:m2303_12 | +| ir.cpp:2303:40:2303:40 | SideEffect | m2303_12 | +| ir.cpp:2303:42:2303:49 | CallTarget | func:r2303_22 | +| ir.cpp:2303:42:2303:49 | ChiPartial | partial:m2303_24 | +| ir.cpp:2303:42:2303:49 | ChiTotal | total:m2305_5 | +| ir.cpp:2303:42:2303:49 | SideEffect | ~m2305_5 | +| ir.cpp:2303:42:2303:49 | StoreValue | r2303_23 | +| ir.cpp:2304:16:2304:17 | Address | &:r2304_1 | +| ir.cpp:2304:16:2304:17 | Address | &:r2304_1 | +| ir.cpp:2304:16:2304:17 | Arg(this) | this:r2304_1 | +| ir.cpp:2304:16:2304:17 | CallTarget | func:r2304_3 | +| ir.cpp:2304:16:2304:17 | ChiPartial | partial:m2304_5 | +| ir.cpp:2304:16:2304:17 | ChiPartial | partial:m2304_7 | +| ir.cpp:2304:16:2304:17 | ChiTotal | total:m2303_13 | +| ir.cpp:2304:16:2304:17 | ChiTotal | total:m2304_2 | +| ir.cpp:2304:16:2304:17 | SideEffect | ~m2303_13 | +| ir.cpp:2305:5:2305:5 | Address | &:r2305_1 | +| ir.cpp:2305:5:2305:5 | Address | &:r2305_1 | +| ir.cpp:2305:5:2305:5 | Arg(this) | this:r2305_1 | +| ir.cpp:2305:5:2305:5 | CallTarget | func:r2305_2 | +| ir.cpp:2305:5:2305:5 | ChiPartial | partial:m2305_4 | +| ir.cpp:2305:5:2305:5 | ChiPartial | partial:m2305_7 | +| ir.cpp:2305:5:2305:5 | ChiTotal | total:m2304_6 | +| ir.cpp:2305:5:2305:5 | ChiTotal | total:m2304_8 | +| ir.cpp:2305:5:2305:5 | SideEffect | m2304_8 | +| ir.cpp:2305:5:2305:5 | SideEffect | ~m2304_6 | | ir.cpp:2307:5:2307:5 | Address | &:r2307_1 | -| ir.cpp:2307:5:2307:5 | Address | &:r2307_1 | -| ir.cpp:2307:5:2307:5 | Arg(this) | this:r2307_1 | -| ir.cpp:2307:5:2307:5 | CallTarget | func:r2307_2 | -| ir.cpp:2307:5:2307:5 | ChiPartial | partial:m2307_4 | -| ir.cpp:2307:5:2307:5 | ChiPartial | partial:m2307_7 | -| ir.cpp:2307:5:2307:5 | ChiTotal | total:m2303_8 | -| ir.cpp:2307:5:2307:5 | ChiTotal | total:m2303_11 | -| ir.cpp:2307:5:2307:5 | SideEffect | m2303_11 | -| ir.cpp:2307:5:2307:5 | SideEffect | ~m2303_8 | -| ir.cpp:2317:6:2317:19 | ChiPartial | partial:m2317_3 | -| ir.cpp:2317:6:2317:19 | ChiTotal | total:m2317_2 | -| ir.cpp:2317:6:2317:19 | SideEffect | ~m2322_14 | -| ir.cpp:2317:26:2317:26 | Address | &:r2317_5 | -| ir.cpp:2318:8:2318:23 | Address | &:r2318_1 | -| ir.cpp:2318:8:2318:23 | Address | &:r2318_1 | -| ir.cpp:2318:8:2318:23 | Arg(this) | this:r2318_1 | -| ir.cpp:2318:8:2318:23 | Condition | r2318_19 | -| ir.cpp:2318:13:2318:13 | Address | &:r2318_11 | -| ir.cpp:2318:13:2318:13 | Address | &:r2318_11 | -| ir.cpp:2318:13:2318:13 | Arg(this) | this:r2318_11 | -| ir.cpp:2318:13:2318:13 | CallTarget | func:r2318_12 | -| ir.cpp:2318:13:2318:13 | ChiPartial | partial:m2318_14 | -| ir.cpp:2318:13:2318:13 | ChiPartial | partial:m2318_17 | -| ir.cpp:2318:13:2318:13 | ChiTotal | total:m2318_8 | -| ir.cpp:2318:13:2318:13 | ChiTotal | total:m2318_10 | -| ir.cpp:2318:13:2318:13 | SideEffect | m2318_10 | -| ir.cpp:2318:13:2318:13 | SideEffect | ~m2318_8 | -| ir.cpp:2318:13:2318:13 | Unary | r2318_13 | -| ir.cpp:2318:16:2318:23 | CallTarget | func:r2318_3 | -| ir.cpp:2318:16:2318:23 | ChiPartial | partial:m2318_7 | -| ir.cpp:2318:16:2318:23 | ChiPartial | partial:m2318_9 | -| ir.cpp:2318:16:2318:23 | ChiTotal | total:m2317_4 | -| ir.cpp:2318:16:2318:23 | ChiTotal | total:m2318_2 | -| ir.cpp:2318:16:2318:23 | SideEffect | ~m2317_4 | -| ir.cpp:2318:22:2318:22 | Address | &:r2318_4 | -| ir.cpp:2318:22:2318:22 | Arg(0) | 0:r2318_5 | -| ir.cpp:2318:22:2318:22 | Load | m2317_6 | -| ir.cpp:2319:16:2319:17 | Address | &:r2319_1 | -| ir.cpp:2319:16:2319:17 | Address | &:r2319_1 | -| ir.cpp:2319:16:2319:17 | Arg(this) | this:r2319_1 | -| ir.cpp:2319:16:2319:17 | CallTarget | func:r2319_3 | -| ir.cpp:2319:16:2319:17 | ChiPartial | partial:m2319_5 | -| ir.cpp:2319:16:2319:17 | ChiPartial | partial:m2319_7 | -| ir.cpp:2319:16:2319:17 | ChiTotal | total:m2318_15 | -| ir.cpp:2319:16:2319:17 | ChiTotal | total:m2319_2 | -| ir.cpp:2319:16:2319:17 | SideEffect | ~m2318_15 | -| ir.cpp:2320:5:2320:5 | Address | &:r2320_1 | -| ir.cpp:2320:5:2320:5 | Address | &:r2320_1 | -| ir.cpp:2320:5:2320:5 | Arg(this) | this:r2320_1 | -| ir.cpp:2320:5:2320:5 | CallTarget | func:r2320_2 | -| ir.cpp:2320:5:2320:5 | ChiPartial | partial:m2320_4 | -| ir.cpp:2320:5:2320:5 | ChiPartial | partial:m2320_7 | -| ir.cpp:2320:5:2320:5 | ChiTotal | total:m2319_6 | -| ir.cpp:2320:5:2320:5 | ChiTotal | total:m2319_8 | -| ir.cpp:2320:5:2320:5 | SideEffect | m2319_8 | -| ir.cpp:2320:5:2320:5 | SideEffect | ~m2319_6 | -| ir.cpp:2321:16:2321:17 | Address | &:r2321_1 | -| ir.cpp:2321:16:2321:17 | Address | &:r2321_1 | -| ir.cpp:2321:16:2321:17 | Arg(this) | this:r2321_1 | -| ir.cpp:2321:16:2321:17 | CallTarget | func:r2321_3 | -| ir.cpp:2321:16:2321:17 | ChiPartial | partial:m2321_5 | -| ir.cpp:2321:16:2321:17 | ChiPartial | partial:m2321_7 | -| ir.cpp:2321:16:2321:17 | ChiTotal | total:m2318_15 | -| ir.cpp:2321:16:2321:17 | ChiTotal | total:m2321_2 | -| ir.cpp:2321:16:2321:17 | SideEffect | ~m2318_15 | -| ir.cpp:2322:5:2322:5 | Address | &:r2322_1 | -| ir.cpp:2322:5:2322:5 | Address | &:r2322_1 | -| ir.cpp:2322:5:2322:5 | Address | &:r2322_10 | -| ir.cpp:2322:5:2322:5 | Address | &:r2322_10 | -| ir.cpp:2322:5:2322:5 | Arg(this) | this:r2322_1 | -| ir.cpp:2322:5:2322:5 | Arg(this) | this:r2322_10 | -| ir.cpp:2322:5:2322:5 | CallTarget | func:r2322_2 | -| ir.cpp:2322:5:2322:5 | CallTarget | func:r2322_11 | -| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_4 | -| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_7 | -| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_13 | -| ir.cpp:2322:5:2322:5 | ChiPartial | partial:m2322_16 | -| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2318_18 | -| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2321_6 | -| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2321_8 | -| ir.cpp:2322:5:2322:5 | ChiTotal | total:m2322_9 | -| ir.cpp:2322:5:2322:5 | Phi | from 1:~m2320_5 | -| ir.cpp:2322:5:2322:5 | Phi | from 2:~m2322_5 | -| ir.cpp:2322:5:2322:5 | SideEffect | m2318_18 | -| ir.cpp:2322:5:2322:5 | SideEffect | m2321_8 | -| ir.cpp:2322:5:2322:5 | SideEffect | ~m2321_6 | -| ir.cpp:2322:5:2322:5 | SideEffect | ~m2322_9 | -| ir.cpp:2325:6:2325:25 | ChiPartial | partial:m2325_3 | -| ir.cpp:2325:6:2325:25 | ChiTotal | total:m2325_2 | -| ir.cpp:2325:6:2325:25 | SideEffect | ~m2336_13 | -| ir.cpp:2325:32:2325:32 | Address | &:r2325_5 | -| ir.cpp:2327:16:2327:16 | Address | &:r2327_1 | -| ir.cpp:2327:16:2327:16 | Address | &:r2327_1 | -| ir.cpp:2327:16:2327:16 | Arg(this) | this:r2327_1 | -| ir.cpp:2327:16:2327:16 | CallTarget | func:r2327_3 | -| ir.cpp:2327:16:2327:16 | ChiPartial | partial:m2327_5 | -| ir.cpp:2327:16:2327:16 | ChiPartial | partial:m2327_7 | -| ir.cpp:2327:16:2327:16 | ChiTotal | total:m2325_4 | -| ir.cpp:2327:16:2327:16 | ChiTotal | total:m2327_2 | -| ir.cpp:2327:16:2327:16 | SideEffect | ~m2325_4 | -| ir.cpp:2328:15:2328:15 | Address | &:r2328_2 | -| ir.cpp:2328:15:2328:15 | Condition | r2328_3 | -| ir.cpp:2328:15:2328:15 | Load | m2328_1 | -| ir.cpp:2328:15:2328:15 | Phi | from 0:m2325_6 | -| ir.cpp:2328:15:2328:15 | Phi | from 2:m2329_3 | -| ir.cpp:2329:13:2329:13 | Address | &:r2329_2 | -| ir.cpp:2329:17:2329:21 | StoreValue | r2329_1 | -| ir.cpp:2331:5:2331:5 | Address | &:r2331_1 | -| ir.cpp:2331:5:2331:5 | Address | &:r2331_1 | -| ir.cpp:2331:5:2331:5 | Arg(this) | this:r2331_1 | -| ir.cpp:2331:5:2331:5 | CallTarget | func:r2331_2 | -| ir.cpp:2331:5:2331:5 | ChiPartial | partial:m2331_4 | -| ir.cpp:2331:5:2331:5 | ChiPartial | partial:m2331_7 | -| ir.cpp:2331:5:2331:5 | ChiTotal | total:m2327_6 | -| ir.cpp:2331:5:2331:5 | ChiTotal | total:m2327_8 | -| ir.cpp:2331:5:2331:5 | SideEffect | m2327_8 | -| ir.cpp:2331:5:2331:5 | SideEffect | ~m2327_6 | -| ir.cpp:2334:16:2334:31 | Address | &:r2334_3 | -| ir.cpp:2334:16:2334:31 | Address | &:r2334_3 | -| ir.cpp:2334:16:2334:31 | Arg(this) | this:r2334_3 | -| ir.cpp:2334:16:2334:31 | Condition | r2334_21 | -| ir.cpp:2334:16:2334:31 | Phi | from 3:m2328_1 | -| ir.cpp:2334:16:2334:31 | Phi | from 3:~m2331_5 | -| ir.cpp:2334:16:2334:31 | Phi | from 5:m2335_3 | -| ir.cpp:2334:16:2334:31 | Phi | from 5:~m2336_5 | -| ir.cpp:2334:21:2334:21 | Address | &:r2334_13 | -| ir.cpp:2334:21:2334:21 | Address | &:r2334_13 | -| ir.cpp:2334:21:2334:21 | Arg(this) | this:r2334_13 | -| ir.cpp:2334:21:2334:21 | CallTarget | func:r2334_14 | -| ir.cpp:2334:21:2334:21 | ChiPartial | partial:m2334_16 | -| ir.cpp:2334:21:2334:21 | ChiPartial | partial:m2334_19 | -| ir.cpp:2334:21:2334:21 | ChiTotal | total:m2334_10 | -| ir.cpp:2334:21:2334:21 | ChiTotal | total:m2334_12 | -| ir.cpp:2334:21:2334:21 | SideEffect | m2334_12 | -| ir.cpp:2334:21:2334:21 | SideEffect | ~m2334_10 | -| ir.cpp:2334:21:2334:21 | Unary | r2334_15 | -| ir.cpp:2334:24:2334:31 | CallTarget | func:r2334_5 | -| ir.cpp:2334:24:2334:31 | ChiPartial | partial:m2334_9 | -| ir.cpp:2334:24:2334:31 | ChiPartial | partial:m2334_11 | -| ir.cpp:2334:24:2334:31 | ChiTotal | total:m2334_1 | -| ir.cpp:2334:24:2334:31 | ChiTotal | total:m2334_4 | -| ir.cpp:2334:24:2334:31 | SideEffect | ~m2334_1 | -| ir.cpp:2334:30:2334:30 | Address | &:r2334_6 | -| ir.cpp:2334:30:2334:30 | Arg(0) | 0:r2334_7 | -| ir.cpp:2334:30:2334:30 | Load | m2334_2 | -| ir.cpp:2335:13:2335:13 | Address | &:r2335_2 | -| ir.cpp:2335:17:2335:21 | StoreValue | r2335_1 | -| ir.cpp:2336:9:2336:9 | Address | &:r2336_1 | -| ir.cpp:2336:9:2336:9 | Address | &:r2336_1 | -| ir.cpp:2336:9:2336:9 | Address | &:r2336_9 | -| ir.cpp:2336:9:2336:9 | Address | &:r2336_9 | -| ir.cpp:2336:9:2336:9 | Arg(this) | this:r2336_1 | -| ir.cpp:2336:9:2336:9 | Arg(this) | this:r2336_9 | -| ir.cpp:2336:9:2336:9 | CallTarget | func:r2336_2 | -| ir.cpp:2336:9:2336:9 | CallTarget | func:r2336_10 | -| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_4 | -| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_7 | -| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_12 | -| ir.cpp:2336:9:2336:9 | ChiPartial | partial:m2336_15 | -| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_17 | -| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_17 | -| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_20 | -| ir.cpp:2336:9:2336:9 | ChiTotal | total:m2334_20 | -| ir.cpp:2336:9:2336:9 | SideEffect | m2334_20 | -| ir.cpp:2336:9:2336:9 | SideEffect | m2334_20 | -| ir.cpp:2336:9:2336:9 | SideEffect | ~m2334_17 | -| ir.cpp:2336:9:2336:9 | SideEffect | ~m2334_17 | -| ir.cpp:2340:6:2340:13 | ChiPartial | partial:m2340_3 | -| ir.cpp:2340:6:2340:13 | ChiTotal | total:m2340_2 | -| ir.cpp:2340:6:2340:13 | SideEffect | m2340_3 | -| ir.cpp:2342:6:2342:24 | ChiPartial | partial:m2342_3 | -| ir.cpp:2342:6:2342:24 | ChiTotal | total:m2342_2 | -| ir.cpp:2342:6:2342:24 | Phi | from 2:~m2351_5 | -| ir.cpp:2342:6:2342:24 | Phi | from 4:~m2351_13 | -| ir.cpp:2342:6:2342:24 | Phi | from 5:~m2351_22 | -| ir.cpp:2342:6:2342:24 | SideEffect | ~m2342_7 | -| ir.cpp:2342:31:2342:31 | Address | &:r2342_5 | -| ir.cpp:2343:12:2343:12 | Address | &:r2343_1 | -| ir.cpp:2343:12:2343:12 | Address | &:r2343_1 | -| ir.cpp:2343:12:2343:12 | Arg(this) | this:r2343_1 | -| ir.cpp:2343:12:2343:12 | CallTarget | func:r2343_3 | -| ir.cpp:2343:12:2343:12 | ChiPartial | partial:m2343_5 | -| ir.cpp:2343:12:2343:12 | ChiPartial | partial:m2343_7 | -| ir.cpp:2343:12:2343:12 | ChiTotal | total:m2342_4 | -| ir.cpp:2343:12:2343:12 | ChiTotal | total:m2343_2 | -| ir.cpp:2343:12:2343:12 | SideEffect | ~m2342_4 | -| ir.cpp:2344:8:2344:8 | Address | &:r2344_1 | -| ir.cpp:2344:8:2344:8 | Condition | r2344_2 | -| ir.cpp:2344:8:2344:8 | Load | m2342_6 | -| ir.cpp:2347:8:2347:8 | Address | &:r2347_1 | -| ir.cpp:2347:8:2347:8 | Condition | r2347_2 | -| ir.cpp:2347:8:2347:8 | Load | m2342_6 | -| ir.cpp:2348:16:2348:23 | CallTarget | func:r2348_1 | -| ir.cpp:2348:16:2348:23 | ChiPartial | partial:m2348_3 | -| ir.cpp:2348:16:2348:23 | ChiTotal | total:m2343_6 | -| ir.cpp:2348:16:2348:23 | SideEffect | ~m2343_6 | -| ir.cpp:2351:1:2351:1 | Address | &:r2351_1 | -| ir.cpp:2351:1:2351:1 | Address | &:r2351_1 | -| ir.cpp:2351:1:2351:1 | Address | &:r2351_9 | -| ir.cpp:2351:1:2351:1 | Address | &:r2351_9 | -| ir.cpp:2351:1:2351:1 | Address | &:r2351_18 | -| ir.cpp:2351:1:2351:1 | Address | &:r2351_18 | -| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_1 | -| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_9 | -| ir.cpp:2351:1:2351:1 | Arg(this) | this:r2351_18 | -| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_2 | -| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_10 | -| ir.cpp:2351:1:2351:1 | CallTarget | func:r2351_19 | -| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_4 | -| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_7 | -| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_12 | -| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_15 | -| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_21 | -| ir.cpp:2351:1:2351:1 | ChiPartial | partial:m2351_24 | -| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_6 | -| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_6 | -| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | -| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | -| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2343_8 | -| ir.cpp:2351:1:2351:1 | ChiTotal | total:m2348_4 | -| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | -| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | -| ir.cpp:2351:1:2351:1 | SideEffect | m2343_8 | -| ir.cpp:2351:1:2351:1 | SideEffect | ~m2343_6 | -| ir.cpp:2351:1:2351:1 | SideEffect | ~m2343_6 | -| ir.cpp:2351:1:2351:1 | SideEffect | ~m2348_4 | -| ir.cpp:2353:5:2353:24 | Address | &:r2353_9 | -| ir.cpp:2353:5:2353:24 | ChiPartial | partial:m2353_3 | -| ir.cpp:2353:5:2353:24 | ChiTotal | total:m2353_2 | -| ir.cpp:2353:5:2353:24 | Load | m2353_8 | -| ir.cpp:2353:5:2353:24 | Phi | from 2:m2356_3 | -| ir.cpp:2353:5:2353:24 | Phi | from 2:~m2359_5 | -| ir.cpp:2353:5:2353:24 | Phi | from 3:m2358_3 | -| ir.cpp:2353:5:2353:24 | Phi | from 3:~m2359_13 | -| ir.cpp:2353:5:2353:24 | SideEffect | ~m2353_7 | -| ir.cpp:2353:31:2353:31 | Address | &:r2353_5 | -| ir.cpp:2354:12:2354:12 | Address | &:r2354_1 | -| ir.cpp:2354:12:2354:12 | Address | &:r2354_1 | -| ir.cpp:2354:12:2354:12 | Arg(this) | this:r2354_1 | -| ir.cpp:2354:12:2354:12 | CallTarget | func:r2354_3 | -| ir.cpp:2354:12:2354:12 | ChiPartial | partial:m2354_5 | -| ir.cpp:2354:12:2354:12 | ChiPartial | partial:m2354_7 | -| ir.cpp:2354:12:2354:12 | ChiTotal | total:m2353_4 | -| ir.cpp:2354:12:2354:12 | ChiTotal | total:m2354_2 | -| ir.cpp:2354:12:2354:12 | SideEffect | ~m2353_4 | -| ir.cpp:2355:8:2355:8 | Address | &:r2355_1 | -| ir.cpp:2355:8:2355:8 | Condition | r2355_2 | -| ir.cpp:2355:8:2355:8 | Load | m2353_6 | -| ir.cpp:2356:9:2356:17 | Address | &:r2356_1 | -| ir.cpp:2356:16:2356:16 | StoreValue | r2356_2 | -| ir.cpp:2358:5:2358:13 | Address | &:r2358_1 | -| ir.cpp:2358:12:2358:12 | StoreValue | r2358_2 | -| ir.cpp:2359:1:2359:1 | Address | &:r2359_1 | -| ir.cpp:2359:1:2359:1 | Address | &:r2359_1 | -| ir.cpp:2359:1:2359:1 | Address | &:r2359_9 | -| ir.cpp:2359:1:2359:1 | Address | &:r2359_9 | -| ir.cpp:2359:1:2359:1 | Arg(this) | this:r2359_1 | -| ir.cpp:2359:1:2359:1 | Arg(this) | this:r2359_9 | -| ir.cpp:2359:1:2359:1 | CallTarget | func:r2359_2 | -| ir.cpp:2359:1:2359:1 | CallTarget | func:r2359_10 | -| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_4 | -| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_7 | -| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_12 | -| ir.cpp:2359:1:2359:1 | ChiPartial | partial:m2359_15 | -| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_6 | -| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_6 | -| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_8 | -| ir.cpp:2359:1:2359:1 | ChiTotal | total:m2354_8 | -| ir.cpp:2359:1:2359:1 | SideEffect | m2354_8 | -| ir.cpp:2359:1:2359:1 | SideEffect | m2354_8 | -| ir.cpp:2359:1:2359:1 | SideEffect | ~m2354_6 | -| ir.cpp:2359:1:2359:1 | SideEffect | ~m2354_6 | -| ir.cpp:2361:6:2361:26 | ChiPartial | partial:m2361_3 | -| ir.cpp:2361:6:2361:26 | ChiTotal | total:m2361_2 | -| ir.cpp:2361:6:2361:26 | SideEffect | ~m2364_5 | -| ir.cpp:2362:12:2362:12 | Address | &:r2362_1 | -| ir.cpp:2362:12:2362:12 | Address | &:r2362_1 | -| ir.cpp:2362:12:2362:12 | Arg(this) | this:r2362_1 | -| ir.cpp:2362:12:2362:12 | CallTarget | func:r2362_3 | -| ir.cpp:2362:12:2362:12 | ChiPartial | partial:m2362_5 | -| ir.cpp:2362:12:2362:12 | ChiPartial | partial:m2362_7 | -| ir.cpp:2362:12:2362:12 | ChiTotal | total:m2361_4 | -| ir.cpp:2362:12:2362:12 | ChiTotal | total:m2362_2 | -| ir.cpp:2362:12:2362:12 | SideEffect | ~m2361_4 | -| ir.cpp:2363:12:2363:19 | CallTarget | func:r2363_1 | -| ir.cpp:2363:12:2363:19 | ChiPartial | partial:m2363_3 | -| ir.cpp:2363:12:2363:19 | ChiTotal | total:m2362_6 | -| ir.cpp:2363:12:2363:19 | SideEffect | ~m2362_6 | -| ir.cpp:2364:1:2364:1 | Address | &:r2364_1 | -| ir.cpp:2364:1:2364:1 | Address | &:r2364_1 | -| ir.cpp:2364:1:2364:1 | Arg(this) | this:r2364_1 | -| ir.cpp:2364:1:2364:1 | CallTarget | func:r2364_2 | -| ir.cpp:2364:1:2364:1 | ChiPartial | partial:m2364_4 | -| ir.cpp:2364:1:2364:1 | ChiPartial | partial:m2364_7 | -| ir.cpp:2364:1:2364:1 | ChiTotal | total:m2362_8 | -| ir.cpp:2364:1:2364:1 | ChiTotal | total:m2363_4 | -| ir.cpp:2364:1:2364:1 | SideEffect | m2362_8 | -| ir.cpp:2364:1:2364:1 | SideEffect | ~m2363_4 | -| ir.cpp:2374:32:2374:47 | Address | &:r2374_5 | -| ir.cpp:2374:32:2374:47 | ChiPartial | partial:m2374_3 | -| ir.cpp:2374:32:2374:47 | ChiTotal | total:m2374_2 | -| ir.cpp:2374:32:2374:47 | Load | m2376_3 | -| ir.cpp:2374:32:2374:47 | SideEffect | m2374_3 | -| ir.cpp:2376:9:2376:44 | Address | &:r2376_1 | -| ir.cpp:2376:16:2376:43 | StoreValue | r2376_2 | -| ir.cpp:2381:5:2381:49 | Address | &:r2381_5 | -| ir.cpp:2381:5:2381:49 | ChiPartial | partial:m2381_3 | -| ir.cpp:2381:5:2381:49 | ChiTotal | total:m2381_2 | -| ir.cpp:2381:5:2381:49 | Load | m2382_5 | -| ir.cpp:2381:5:2381:49 | SideEffect | m2381_3 | -| ir.cpp:2382:5:2382:17 | Address | &:r2382_1 | -| ir.cpp:2382:12:2382:12 | Left | r2382_2 | -| ir.cpp:2382:12:2382:16 | StoreValue | r2382_4 | -| ir.cpp:2382:16:2382:16 | Right | r2382_3 | -| ir.cpp:2392:5:2392:45 | Address | &:r2392_5 | -| ir.cpp:2392:5:2392:45 | ChiPartial | partial:m2392_3 | -| ir.cpp:2392:5:2392:45 | ChiTotal | total:m2392_2 | -| ir.cpp:2392:5:2392:45 | Load | m2393_3 | -| ir.cpp:2392:5:2392:45 | SideEffect | m2392_3 | -| ir.cpp:2393:5:2393:22 | Address | &:r2393_1 | -| ir.cpp:2393:12:2393:21 | StoreValue | r2393_2 | -| ir.cpp:2396:6:2396:40 | ChiPartial | partial:m2396_3 | -| ir.cpp:2396:6:2396:40 | ChiTotal | total:m2396_2 | -| ir.cpp:2396:6:2396:40 | SideEffect | ~m2416_56 | -| ir.cpp:2397:9:2397:46 | Address | &:r2397_1 | -| ir.cpp:2397:9:2397:46 | Condition | r2397_22 | -| ir.cpp:2397:14:2397:14 | Address | &:r2397_18 | -| ir.cpp:2397:14:2397:14 | Left | r2397_19 | -| ir.cpp:2397:14:2397:14 | Load | m2397_17 | -| ir.cpp:2397:14:2397:14 | Right | r2397_20 | -| ir.cpp:2397:14:2397:14 | Unary | r2397_21 | -| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | -| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | -| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | -| ir.cpp:2397:18:2397:38 | Address | &:r2397_2 | -| ir.cpp:2397:18:2397:38 | Arg(this) | this:r2397_2 | -| ir.cpp:2397:18:2397:38 | Arg(this) | this:r2397_2 | -| ir.cpp:2397:18:2397:38 | CallTarget | func:r2397_4 | -| ir.cpp:2397:18:2397:38 | ChiPartial | partial:m2397_6 | -| ir.cpp:2397:18:2397:38 | ChiPartial | partial:m2397_8 | -| ir.cpp:2397:18:2397:38 | ChiPartial | partial:m2397_15 | -| ir.cpp:2397:18:2397:38 | ChiTotal | total:m2396_4 | -| ir.cpp:2397:18:2397:38 | ChiTotal | total:m2397_3 | -| ir.cpp:2397:18:2397:38 | ChiTotal | total:m2397_9 | -| ir.cpp:2397:18:2397:38 | SideEffect | m2397_9 | -| ir.cpp:2397:18:2397:38 | SideEffect | ~m2396_4 | -| ir.cpp:2397:40:2397:44 | CallTarget | func:r2397_10 | -| ir.cpp:2397:40:2397:44 | ChiPartial | partial:m2397_12 | -| ir.cpp:2397:40:2397:44 | ChiTotal | total:m2397_7 | -| ir.cpp:2397:40:2397:44 | SideEffect | ~m2397_7 | -| ir.cpp:2397:40:2397:44 | StoreValue | r2397_11 | -| ir.cpp:2398:9:2398:9 | Address | &:r2398_1 | -| ir.cpp:2398:9:2398:9 | Address | &:r2398_1 | -| ir.cpp:2398:9:2398:9 | Left | r2398_2 | -| ir.cpp:2398:9:2398:9 | Load | m2397_17 | -| ir.cpp:2398:9:2398:11 | Right | r2398_3 | -| ir.cpp:2398:9:2398:11 | StoreValue | r2398_4 | -| ir.cpp:2400:14:2400:14 | Address | &:r2400_1 | -| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | -| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | -| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | -| ir.cpp:2400:18:2400:38 | Address | &:r2400_2 | -| ir.cpp:2400:18:2400:38 | Arg(this) | this:r2400_2 | -| ir.cpp:2400:18:2400:38 | Arg(this) | this:r2400_2 | -| ir.cpp:2400:18:2400:38 | CallTarget | func:r2400_4 | -| ir.cpp:2400:18:2400:38 | ChiPartial | partial:m2400_6 | -| ir.cpp:2400:18:2400:38 | ChiPartial | partial:m2400_8 | -| ir.cpp:2400:18:2400:38 | ChiPartial | partial:m2400_15 | -| ir.cpp:2400:18:2400:38 | ChiTotal | total:m2397_13 | -| ir.cpp:2400:18:2400:38 | ChiTotal | total:m2400_3 | -| ir.cpp:2400:18:2400:38 | ChiTotal | total:m2400_9 | -| ir.cpp:2400:18:2400:38 | SideEffect | m2400_9 | -| ir.cpp:2400:18:2400:38 | SideEffect | ~m2397_13 | -| ir.cpp:2400:40:2400:44 | CallTarget | func:r2400_10 | -| ir.cpp:2400:40:2400:44 | ChiPartial | partial:m2400_12 | -| ir.cpp:2400:40:2400:44 | ChiTotal | total:m2400_7 | -| ir.cpp:2400:40:2400:44 | SideEffect | ~m2400_7 | -| ir.cpp:2400:40:2400:44 | StoreValue | r2400_11 | -| ir.cpp:2400:49:2400:49 | Address | &:r2400_18 | -| ir.cpp:2400:49:2400:49 | Condition | r2400_21 | -| ir.cpp:2400:49:2400:49 | Left | r2400_19 | -| ir.cpp:2400:49:2400:49 | Load | m2400_17 | -| ir.cpp:2400:49:2400:49 | Right | r2400_20 | -| ir.cpp:2401:9:2401:9 | Address | &:r2401_1 | -| ir.cpp:2401:9:2401:9 | Address | &:r2401_1 | -| ir.cpp:2401:9:2401:9 | Left | r2401_2 | -| ir.cpp:2401:9:2401:9 | Load | m2400_17 | -| ir.cpp:2401:9:2401:11 | Right | r2401_3 | -| ir.cpp:2401:9:2401:11 | StoreValue | r2401_4 | -| ir.cpp:2403:24:2403:24 | Address | &:r2403_1 | -| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | -| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | -| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | -| ir.cpp:2403:28:2403:48 | Address | &:r2403_2 | -| ir.cpp:2403:28:2403:48 | Arg(this) | this:r2403_2 | -| ir.cpp:2403:28:2403:48 | Arg(this) | this:r2403_2 | -| ir.cpp:2403:28:2403:48 | CallTarget | func:r2403_4 | -| ir.cpp:2403:28:2403:48 | ChiPartial | partial:m2403_6 | -| ir.cpp:2403:28:2403:48 | ChiPartial | partial:m2403_8 | -| ir.cpp:2403:28:2403:48 | ChiPartial | partial:m2403_15 | -| ir.cpp:2403:28:2403:48 | ChiTotal | total:m2400_13 | -| ir.cpp:2403:28:2403:48 | ChiTotal | total:m2403_3 | -| ir.cpp:2403:28:2403:48 | ChiTotal | total:m2403_9 | -| ir.cpp:2403:28:2403:48 | SideEffect | m2403_9 | -| ir.cpp:2403:28:2403:48 | SideEffect | ~m2400_13 | -| ir.cpp:2403:50:2403:54 | CallTarget | func:r2403_10 | -| ir.cpp:2403:50:2403:54 | ChiPartial | partial:m2403_12 | -| ir.cpp:2403:50:2403:54 | ChiTotal | total:m2403_7 | -| ir.cpp:2403:50:2403:54 | SideEffect | ~m2403_7 | -| ir.cpp:2403:50:2403:54 | StoreValue | r2403_11 | -| ir.cpp:2403:59:2403:93 | Condition | r2403_18 | -| ir.cpp:2404:9:2404:9 | Address | &:r2404_1 | -| ir.cpp:2404:9:2404:9 | Address | &:r2404_1 | -| ir.cpp:2404:9:2404:9 | Left | r2404_2 | -| ir.cpp:2404:9:2404:9 | Load | m2403_17 | -| ir.cpp:2404:9:2404:11 | Right | r2404_3 | -| ir.cpp:2404:9:2404:11 | StoreValue | r2404_4 | -| ir.cpp:2406:12:2406:49 | Address | &:r2406_1 | -| ir.cpp:2406:12:2406:49 | Condition | r2406_21 | -| ir.cpp:2406:17:2406:17 | Address | &:r2406_18 | -| ir.cpp:2406:17:2406:17 | Load | m2406_17 | -| ir.cpp:2406:17:2406:17 | Unary | r2406_19 | -| ir.cpp:2406:17:2406:17 | Unary | r2406_20 | -| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | -| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | -| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | -| ir.cpp:2406:21:2406:41 | Address | &:r2406_2 | -| ir.cpp:2406:21:2406:41 | Arg(this) | this:r2406_2 | -| ir.cpp:2406:21:2406:41 | Arg(this) | this:r2406_2 | -| ir.cpp:2406:21:2406:41 | CallTarget | func:r2406_4 | -| ir.cpp:2406:21:2406:41 | ChiPartial | partial:m2406_6 | -| ir.cpp:2406:21:2406:41 | ChiPartial | partial:m2406_8 | -| ir.cpp:2406:21:2406:41 | ChiPartial | partial:m2406_15 | -| ir.cpp:2406:21:2406:41 | ChiTotal | total:m2403_13 | -| ir.cpp:2406:21:2406:41 | ChiTotal | total:m2406_3 | -| ir.cpp:2406:21:2406:41 | ChiTotal | total:m2406_9 | -| ir.cpp:2406:21:2406:41 | SideEffect | m2406_9 | -| ir.cpp:2406:21:2406:41 | SideEffect | ~m2403_13 | -| ir.cpp:2406:43:2406:47 | CallTarget | func:r2406_10 | -| ir.cpp:2406:43:2406:47 | ChiPartial | partial:m2406_12 | -| ir.cpp:2406:43:2406:47 | ChiTotal | total:m2406_7 | -| ir.cpp:2406:43:2406:47 | SideEffect | ~m2406_7 | -| ir.cpp:2406:43:2406:47 | StoreValue | r2406_11 | -| ir.cpp:2408:11:2408:11 | Address | &:r2408_1 | -| ir.cpp:2408:11:2408:11 | Address | &:r2408_1 | -| ir.cpp:2408:11:2408:11 | Left | r2408_2 | -| ir.cpp:2408:11:2408:11 | Load | m2406_17 | -| ir.cpp:2408:11:2408:13 | Right | r2408_3 | -| ir.cpp:2408:11:2408:13 | StoreValue | r2408_4 | -| ir.cpp:2411:17:2411:17 | Address | &:r2411_1 | -| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | -| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | -| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | -| ir.cpp:2411:21:2411:41 | Address | &:r2411_2 | -| ir.cpp:2411:21:2411:41 | Arg(this) | this:r2411_2 | -| ir.cpp:2411:21:2411:41 | Arg(this) | this:r2411_2 | -| ir.cpp:2411:21:2411:41 | CallTarget | func:r2411_4 | -| ir.cpp:2411:21:2411:41 | ChiPartial | partial:m2411_6 | -| ir.cpp:2411:21:2411:41 | ChiPartial | partial:m2411_8 | -| ir.cpp:2411:21:2411:41 | ChiPartial | partial:m2411_15 | -| ir.cpp:2411:21:2411:41 | ChiTotal | total:m2406_13 | -| ir.cpp:2411:21:2411:41 | ChiTotal | total:m2411_3 | -| ir.cpp:2411:21:2411:41 | ChiTotal | total:m2411_9 | -| ir.cpp:2411:21:2411:41 | SideEffect | m2411_9 | -| ir.cpp:2411:21:2411:41 | SideEffect | ~m2406_13 | -| ir.cpp:2411:43:2411:47 | CallTarget | func:r2411_10 | -| ir.cpp:2411:43:2411:47 | ChiPartial | partial:m2411_12 | -| ir.cpp:2411:43:2411:47 | ChiTotal | total:m2411_7 | -| ir.cpp:2411:43:2411:47 | SideEffect | ~m2411_7 | -| ir.cpp:2411:43:2411:47 | StoreValue | r2411_11 | -| ir.cpp:2411:52:2411:52 | Address | &:r2411_18 | -| ir.cpp:2411:52:2411:52 | Condition | r2411_20 | -| ir.cpp:2411:52:2411:52 | Load | m2411_17 | -| ir.cpp:2411:52:2411:52 | Unary | r2411_19 | -| ir.cpp:2413:11:2413:11 | Address | &:r2413_1 | -| ir.cpp:2413:11:2413:11 | Address | &:r2413_1 | -| ir.cpp:2413:11:2413:11 | Left | r2413_2 | -| ir.cpp:2413:11:2413:11 | Load | m2411_17 | -| ir.cpp:2413:11:2413:13 | Right | r2413_3 | -| ir.cpp:2413:11:2413:13 | StoreValue | r2413_4 | -| ir.cpp:2416:5:2416:5 | Address | &:r2416_18 | -| ir.cpp:2416:5:2416:5 | Address | &:r2416_31 | -| ir.cpp:2416:5:2416:5 | Address | &:r2416_37 | -| ir.cpp:2416:14:2416:14 | Address | &:r2416_1 | -| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | -| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | -| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | -| ir.cpp:2416:18:2416:38 | Address | &:r2416_2 | -| ir.cpp:2416:18:2416:38 | Arg(this) | this:r2416_2 | -| ir.cpp:2416:18:2416:38 | Arg(this) | this:r2416_2 | -| ir.cpp:2416:18:2416:38 | CallTarget | func:r2416_4 | -| ir.cpp:2416:18:2416:38 | ChiPartial | partial:m2416_6 | -| ir.cpp:2416:18:2416:38 | ChiPartial | partial:m2416_8 | -| ir.cpp:2416:18:2416:38 | ChiPartial | partial:m2416_15 | -| ir.cpp:2416:18:2416:38 | ChiTotal | total:m2411_13 | -| ir.cpp:2416:18:2416:38 | ChiTotal | total:m2416_3 | -| ir.cpp:2416:18:2416:38 | ChiTotal | total:m2416_9 | -| ir.cpp:2416:18:2416:38 | SideEffect | m2416_9 | -| ir.cpp:2416:18:2416:38 | SideEffect | ~m2411_13 | -| ir.cpp:2416:40:2416:44 | CallTarget | func:r2416_10 | -| ir.cpp:2416:40:2416:44 | ChiPartial | partial:m2416_12 | -| ir.cpp:2416:40:2416:44 | ChiTotal | total:m2416_7 | -| ir.cpp:2416:40:2416:44 | SideEffect | ~m2416_7 | -| ir.cpp:2416:40:2416:44 | StoreValue | r2416_11 | -| ir.cpp:2416:54:2416:54 | Address | &:r2416_58 | -| ir.cpp:2416:58:2416:58 | Address | &:r2416_32 | -| ir.cpp:2416:58:2416:58 | Address | &:r2416_38 | -| ir.cpp:2416:58:2416:58 | Address | &:r2416_61 | -| ir.cpp:2416:58:2416:58 | Address | &:r2416_66 | -| ir.cpp:2416:58:2416:58 | Address | &:r2416_66 | -| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_2 | -| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_5 | -| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_7 | -| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_8 | -| ir.cpp:2416:58:2416:58 | Arg(this) | this:r0_15 | -| ir.cpp:2416:58:2416:58 | Arg(this) | this:r2416_66 | -| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_34 | -| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_40 | -| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_46 | -| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_47 | -| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_60 | -| ir.cpp:2416:58:2416:58 | CallTarget | func:r2416_67 | -| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_50 | -| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_52 | -| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_55 | -| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_62 | -| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_69 | -| ir.cpp:2416:58:2416:58 | ChiPartial | partial:m2416_72 | -| ir.cpp:2416:58:2416:58 | ChiTotal | total:m0_9 | -| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_43 | -| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_44 | -| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_51 | -| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_56 | -| ir.cpp:2416:58:2416:58 | ChiTotal | total:m2416_63 | -| ir.cpp:2416:58:2416:58 | Condition | r2416_54 | -| ir.cpp:2416:58:2416:58 | Load | m2416_30 | -| ir.cpp:2416:58:2416:58 | Load | m2416_30 | -| ir.cpp:2416:58:2416:58 | Phi | from 9:m2416_36 | -| ir.cpp:2416:58:2416:58 | Phi | from 9:~m2416_26 | -| ir.cpp:2416:58:2416:58 | Phi | from 11:m2416_73 | -| ir.cpp:2416:58:2416:58 | Phi | from 11:~m2416_70 | -| ir.cpp:2416:58:2416:58 | SideEffect | m2416_43 | -| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_44 | -| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_51 | -| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_56 | -| ir.cpp:2416:58:2416:58 | SideEffect | ~m2416_63 | -| ir.cpp:2416:58:2416:58 | StoreValue | r2416_35 | -| ir.cpp:2416:58:2416:58 | StoreValue | r2416_41 | -| ir.cpp:2416:58:2416:58 | Unary | r2416_33 | -| ir.cpp:2416:58:2416:58 | Unary | r2416_39 | -| ir.cpp:2416:58:2416:58 | Unary | r2416_45 | -| ir.cpp:2416:58:2416:58 | Unary | r2416_48 | -| ir.cpp:2416:58:2416:58 | Unary | r2416_59 | -| ir.cpp:2416:58:2416:58 | Unary | r2416_68 | -| ir.cpp:2416:58:2416:77 | Address | &:r2416_19 | -| ir.cpp:2416:58:2416:77 | Address | &:r2416_19 | -| ir.cpp:2416:58:2416:77 | Arg(this) | this:r2416_19 | -| ir.cpp:2416:58:2416:77 | CallTarget | func:r2416_21 | -| ir.cpp:2416:58:2416:77 | ChiPartial | partial:m2416_25 | -| ir.cpp:2416:58:2416:77 | ChiPartial | partial:m2416_27 | -| ir.cpp:2416:58:2416:77 | ChiTotal | total:m2416_13 | -| ir.cpp:2416:58:2416:77 | ChiTotal | total:m2416_20 | -| ir.cpp:2416:58:2416:77 | SideEffect | ~m2416_13 | -| ir.cpp:2416:58:2416:77 | StoreValue | r2416_29 | -| ir.cpp:2416:58:2416:77 | Unary | r2416_19 | -| ir.cpp:2416:58:2416:78 | Load | ~m2416_63 | -| ir.cpp:2416:58:2416:78 | StoreValue | r2416_64 | -| ir.cpp:2416:76:2416:76 | Address | &:r2416_22 | -| ir.cpp:2416:76:2416:76 | Arg(0) | 0:r2416_23 | -| ir.cpp:2416:76:2416:76 | Load | m2416_17 | -| ir.cpp:2417:9:2417:9 | Address | &:r2417_4 | -| ir.cpp:2417:9:2417:9 | Address | &:r2417_4 | -| ir.cpp:2417:9:2417:9 | Load | m2416_65 | -| ir.cpp:2417:9:2417:9 | Unary | r2417_5 | -| ir.cpp:2417:9:2417:14 | Left | r2417_6 | -| ir.cpp:2417:9:2417:14 | StoreValue | r2417_8 | -| ir.cpp:2417:9:2417:14 | Unary | r2417_7 | -| ir.cpp:2417:14:2417:14 | Address | &:r2417_1 | -| ir.cpp:2417:14:2417:14 | Load | m2416_17 | -| ir.cpp:2417:14:2417:14 | Right | r2417_3 | -| ir.cpp:2417:14:2417:14 | Unary | r2417_2 | +| ir.cpp:2307:5:2307:5 | Address | &:r2307_24 | +| ir.cpp:2307:5:2307:5 | Address | &:r2307_30 | +| ir.cpp:2307:16:2307:16 | Address | &:r2307_51 | +| ir.cpp:2307:16:2307:16 | Address | &:r2307_51 | +| ir.cpp:2307:16:2307:16 | Address | &:r2307_68 | +| ir.cpp:2307:16:2307:16 | Address | &:r2307_68 | +| ir.cpp:2307:16:2307:16 | Arg(this) | this:r2307_51 | +| ir.cpp:2307:16:2307:16 | Arg(this) | this:r2307_68 | +| ir.cpp:2307:16:2307:16 | CallTarget | func:r2307_53 | +| ir.cpp:2307:16:2307:16 | CallTarget | func:r2307_69 | +| ir.cpp:2307:16:2307:16 | ChiPartial | partial:m2307_63 | +| ir.cpp:2307:16:2307:16 | ChiPartial | partial:m2307_66 | +| ir.cpp:2307:16:2307:16 | ChiPartial | partial:m2307_71 | +| ir.cpp:2307:16:2307:16 | ChiPartial | partial:m2307_74 | +| ir.cpp:2307:16:2307:16 | ChiTotal | total:m2307_52 | +| ir.cpp:2307:16:2307:16 | ChiTotal | total:m2307_58 | +| ir.cpp:2307:16:2307:16 | ChiTotal | total:m2307_67 | +| ir.cpp:2307:16:2307:16 | ChiTotal | total:m2309_5 | +| ir.cpp:2307:16:2307:16 | SideEffect | m2307_67 | +| ir.cpp:2307:16:2307:16 | SideEffect | ~m2307_58 | +| ir.cpp:2307:16:2307:16 | SideEffect | ~m2309_5 | +| ir.cpp:2307:20:2307:20 | Address | &:r2307_25 | +| ir.cpp:2307:20:2307:20 | Address | &:r2307_31 | +| ir.cpp:2307:20:2307:20 | Address | &:r2307_76 | +| ir.cpp:2307:20:2307:20 | Address | &:r2307_76 | +| ir.cpp:2307:20:2307:20 | Arg(this) | this:r0_2 | +| ir.cpp:2307:20:2307:20 | Arg(this) | this:r0_5 | +| ir.cpp:2307:20:2307:20 | Arg(this) | this:r0_7 | +| ir.cpp:2307:20:2307:20 | Arg(this) | this:r0_8 | +| ir.cpp:2307:20:2307:20 | Arg(this) | this:r0_15 | +| ir.cpp:2307:20:2307:20 | Arg(this) | this:r2307_76 | +| ir.cpp:2307:20:2307:20 | CallTarget | func:r2307_27 | +| ir.cpp:2307:20:2307:20 | CallTarget | func:r2307_33 | +| ir.cpp:2307:20:2307:20 | CallTarget | func:r2307_39 | +| ir.cpp:2307:20:2307:20 | CallTarget | func:r2307_40 | +| ir.cpp:2307:20:2307:20 | CallTarget | func:r2307_55 | +| ir.cpp:2307:20:2307:20 | CallTarget | func:r2307_77 | +| ir.cpp:2307:20:2307:20 | ChiPartial | partial:m2307_43 | +| ir.cpp:2307:20:2307:20 | ChiPartial | partial:m2307_45 | +| ir.cpp:2307:20:2307:20 | ChiPartial | partial:m2307_48 | +| ir.cpp:2307:20:2307:20 | ChiPartial | partial:m2307_57 | +| ir.cpp:2307:20:2307:20 | ChiPartial | partial:m2307_79 | +| ir.cpp:2307:20:2307:20 | ChiPartial | partial:m2307_82 | +| ir.cpp:2307:20:2307:20 | ChiTotal | total:m0_9 | +| ir.cpp:2307:20:2307:20 | ChiTotal | total:m2307_36 | +| ir.cpp:2307:20:2307:20 | ChiTotal | total:m2307_37 | +| ir.cpp:2307:20:2307:20 | ChiTotal | total:m2307_44 | +| ir.cpp:2307:20:2307:20 | ChiTotal | total:m2307_49 | +| ir.cpp:2307:20:2307:20 | ChiTotal | total:m2307_72 | +| ir.cpp:2307:20:2307:20 | Condition | r2307_47 | +| ir.cpp:2307:20:2307:20 | Load | m2307_23 | +| ir.cpp:2307:20:2307:20 | Load | m2307_23 | +| ir.cpp:2307:20:2307:20 | Phi | from 3:m2307_29 | +| ir.cpp:2307:20:2307:20 | Phi | from 3:~m2307_19 | +| ir.cpp:2307:20:2307:20 | Phi | from 5:m2307_83 | +| ir.cpp:2307:20:2307:20 | Phi | from 5:~m2307_80 | +| ir.cpp:2307:20:2307:20 | SideEffect | m2307_36 | +| ir.cpp:2307:20:2307:20 | SideEffect | ~m2307_37 | +| ir.cpp:2307:20:2307:20 | SideEffect | ~m2307_44 | +| ir.cpp:2307:20:2307:20 | SideEffect | ~m2307_49 | +| ir.cpp:2307:20:2307:20 | SideEffect | ~m2307_72 | +| ir.cpp:2307:20:2307:20 | StoreValue | r2307_28 | +| ir.cpp:2307:20:2307:20 | StoreValue | r2307_34 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_26 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_32 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_38 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_41 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_54 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_56 | +| ir.cpp:2307:20:2307:20 | Unary | r2307_78 | +| ir.cpp:2307:20:2307:55 | Address | &:r2307_2 | +| ir.cpp:2307:20:2307:55 | Address | &:r2307_2 | +| ir.cpp:2307:20:2307:55 | Arg(this) | this:r2307_2 | +| ir.cpp:2307:20:2307:55 | CallTarget | func:r2307_4 | +| ir.cpp:2307:20:2307:55 | ChiPartial | partial:m2307_18 | +| ir.cpp:2307:20:2307:55 | ChiPartial | partial:m2307_20 | +| ir.cpp:2307:20:2307:55 | ChiTotal | total:m2307_3 | +| ir.cpp:2307:20:2307:55 | ChiTotal | total:m2307_12 | +| ir.cpp:2307:20:2307:55 | SideEffect | ~m2307_12 | +| ir.cpp:2307:20:2307:55 | StoreValue | r2307_22 | +| ir.cpp:2307:20:2307:55 | Unary | r2307_2 | +| ir.cpp:2307:20:2307:56 | Address | &:r2307_61 | +| ir.cpp:2307:20:2307:56 | Arg(0) | 0:r2307_61 | +| ir.cpp:2307:20:2307:56 | SideEffect | ~m2307_64 | +| ir.cpp:2307:20:2307:56 | Unary | r2307_59 | +| ir.cpp:2307:20:2307:56 | Unary | r2307_60 | +| ir.cpp:2307:40:2307:54 | Address | &:r2307_5 | +| ir.cpp:2307:40:2307:54 | Address | &:r2307_5 | +| ir.cpp:2307:40:2307:54 | Address | &:r2307_5 | +| ir.cpp:2307:40:2307:54 | Arg(0) | 0:r2307_16 | +| ir.cpp:2307:40:2307:54 | Arg(this) | this:r2307_5 | +| ir.cpp:2307:40:2307:54 | CallTarget | func:r2307_7 | +| ir.cpp:2307:40:2307:54 | ChiPartial | partial:m2307_11 | +| ir.cpp:2307:40:2307:54 | ChiPartial | partial:m2307_14 | +| ir.cpp:2307:40:2307:54 | ChiTotal | total:m2303_35 | +| ir.cpp:2307:40:2307:54 | ChiTotal | total:m2307_6 | +| ir.cpp:2307:40:2307:54 | Load | m2307_15 | +| ir.cpp:2307:40:2307:54 | SideEffect | ~m2303_35 | +| ir.cpp:2307:47:2307:53 | Address | &:r2307_9 | +| ir.cpp:2307:47:2307:53 | Arg(0) | 0:r2307_9 | +| ir.cpp:2307:47:2307:53 | SideEffect | ~m2301_3 | +| ir.cpp:2307:47:2307:53 | Unary | r2307_8 | +| ir.cpp:2308:16:2308:17 | Address | &:r2308_1 | +| ir.cpp:2308:16:2308:17 | Address | &:r2308_1 | +| ir.cpp:2308:16:2308:17 | Arg(this) | this:r2308_1 | +| ir.cpp:2308:16:2308:17 | CallTarget | func:r2308_3 | +| ir.cpp:2308:16:2308:17 | ChiPartial | partial:m2308_5 | +| ir.cpp:2308:16:2308:17 | ChiPartial | partial:m2308_7 | +| ir.cpp:2308:16:2308:17 | ChiTotal | total:m2307_64 | +| ir.cpp:2308:16:2308:17 | ChiTotal | total:m2308_2 | +| ir.cpp:2308:16:2308:17 | SideEffect | ~m2307_64 | +| ir.cpp:2309:5:2309:5 | Address | &:r2309_1 | +| ir.cpp:2309:5:2309:5 | Address | &:r2309_1 | +| ir.cpp:2309:5:2309:5 | Arg(this) | this:r2309_1 | +| ir.cpp:2309:5:2309:5 | CallTarget | func:r2309_2 | +| ir.cpp:2309:5:2309:5 | ChiPartial | partial:m2309_4 | +| ir.cpp:2309:5:2309:5 | ChiPartial | partial:m2309_7 | +| ir.cpp:2309:5:2309:5 | ChiTotal | total:m2308_6 | +| ir.cpp:2309:5:2309:5 | ChiTotal | total:m2308_8 | +| ir.cpp:2309:5:2309:5 | SideEffect | m2308_8 | +| ir.cpp:2309:5:2309:5 | SideEffect | ~m2308_6 | +| ir.cpp:2311:16:2311:16 | Address | &:r2311_1 | +| ir.cpp:2311:16:2311:16 | Address | &:r2311_1 | +| ir.cpp:2311:16:2311:16 | Address | &:r2311_50 | +| ir.cpp:2311:16:2311:16 | Address | &:r2311_50 | +| ir.cpp:2311:16:2311:16 | Arg(this) | this:r2311_1 | +| ir.cpp:2311:16:2311:16 | Arg(this) | this:r2311_50 | +| ir.cpp:2311:16:2311:16 | CallTarget | func:r2311_51 | +| ir.cpp:2311:16:2311:16 | ChiPartial | partial:m2311_53 | +| ir.cpp:2311:16:2311:16 | ChiPartial | partial:m2311_56 | +| ir.cpp:2311:16:2311:16 | ChiTotal | total:m2311_23 | +| ir.cpp:2311:16:2311:16 | ChiTotal | total:m2311_46 | +| ir.cpp:2311:16:2311:16 | SideEffect | m2311_23 | +| ir.cpp:2311:16:2311:16 | SideEffect | ~m2311_46 | +| ir.cpp:2311:18:2311:24 | Address | &:r2311_5 | +| ir.cpp:2311:18:2311:24 | Arg(0) | 0:r2311_5 | +| ir.cpp:2311:18:2311:24 | SideEffect | ~m2301_3 | +| ir.cpp:2311:18:2311:24 | Unary | r2311_4 | +| ir.cpp:2311:18:2311:25 | CallTarget | func:r2311_3 | +| ir.cpp:2311:18:2311:25 | ChiPartial | partial:m2311_7 | +| ir.cpp:2311:18:2311:25 | ChiPartial | partial:m2311_10 | +| ir.cpp:2311:18:2311:25 | ChiTotal | total:m2307_49 | +| ir.cpp:2311:18:2311:25 | ChiTotal | total:m2311_2 | +| ir.cpp:2311:18:2311:25 | SideEffect | ~m2307_49 | +| ir.cpp:2311:28:2311:29 | Address | &:r2311_12 | +| ir.cpp:2311:28:2311:29 | Address | &:r2311_12 | +| ir.cpp:2311:28:2311:29 | Address | &:r2311_42 | +| ir.cpp:2311:28:2311:29 | Address | &:r2311_42 | +| ir.cpp:2311:28:2311:29 | Arg(this) | this:r2311_12 | +| ir.cpp:2311:28:2311:29 | Arg(this) | this:r2311_42 | +| ir.cpp:2311:28:2311:29 | CallTarget | func:r2311_43 | +| ir.cpp:2311:28:2311:29 | ChiPartial | partial:m2311_45 | +| ir.cpp:2311:28:2311:29 | ChiPartial | partial:m2311_48 | +| ir.cpp:2311:28:2311:29 | ChiTotal | total:m2311_22 | +| ir.cpp:2311:28:2311:29 | ChiTotal | total:m2311_24 | +| ir.cpp:2311:28:2311:29 | SideEffect | m2311_22 | +| ir.cpp:2311:28:2311:29 | SideEffect | ~m2311_24 | +| ir.cpp:2311:31:2311:37 | Address | &:r2311_16 | +| ir.cpp:2311:31:2311:37 | Arg(0) | 0:r2311_16 | +| ir.cpp:2311:31:2311:37 | SideEffect | ~m2301_3 | +| ir.cpp:2311:31:2311:37 | Unary | r2311_15 | +| ir.cpp:2311:31:2311:38 | CallTarget | func:r2311_14 | +| ir.cpp:2311:31:2311:38 | ChiPartial | partial:m2311_18 | +| ir.cpp:2311:31:2311:38 | ChiPartial | partial:m2311_21 | +| ir.cpp:2311:31:2311:38 | ChiTotal | total:m2311_8 | +| ir.cpp:2311:31:2311:38 | ChiTotal | total:m2311_13 | +| ir.cpp:2311:31:2311:38 | SideEffect | ~m2311_8 | +| ir.cpp:2311:41:2311:41 | Address | &:r2311_26 | +| ir.cpp:2311:41:2311:41 | Left | r2311_28 | +| ir.cpp:2311:41:2311:41 | Load | m2311_25 | +| ir.cpp:2311:41:2311:41 | Phi | from 6:m2303_14 | +| ir.cpp:2311:41:2311:41 | Phi | from 6:m2311_11 | +| ir.cpp:2311:41:2311:41 | Phi | from 6:~m2311_19 | +| ir.cpp:2311:41:2311:41 | Phi | from 8:m2311_39 | +| ir.cpp:2311:41:2311:41 | Phi | from 8:m2311_41 | +| ir.cpp:2311:41:2311:41 | Phi | from 8:~m2311_36 | +| ir.cpp:2311:41:2311:41 | Unary | r2311_27 | +| ir.cpp:2311:41:2311:46 | Condition | r2311_30 | +| ir.cpp:2311:46:2311:46 | Right | r2311_29 | +| ir.cpp:2311:49:2311:49 | Address | &:r2311_40 | +| ir.cpp:2311:53:2311:53 | Address | &:r2311_32 | +| ir.cpp:2311:53:2311:53 | Address | &:r2311_32 | +| ir.cpp:2311:53:2311:53 | Arg(this) | this:r2311_32 | +| ir.cpp:2311:53:2311:53 | ChiPartial | partial:m2311_38 | +| ir.cpp:2311:53:2311:53 | ChiTotal | total:m2311_23 | +| ir.cpp:2311:53:2311:53 | SideEffect | m2311_23 | +| ir.cpp:2311:55:2311:62 | CallTarget | func:r2311_33 | +| ir.cpp:2311:55:2311:62 | ChiPartial | partial:m2311_35 | +| ir.cpp:2311:55:2311:62 | ChiTotal | total:m2311_24 | +| ir.cpp:2311:55:2311:62 | SideEffect | ~m2311_24 | +| ir.cpp:2311:55:2311:62 | StoreValue | r2311_34 | +| ir.cpp:2312:9:2312:9 | Address | &:r2312_2 | +| ir.cpp:2312:13:2312:13 | StoreValue | r2312_1 | +| ir.cpp:2316:6:2316:19 | ChiPartial | partial:m2316_3 | +| ir.cpp:2316:6:2316:19 | ChiTotal | total:m2316_2 | +| ir.cpp:2316:6:2316:19 | SideEffect | ~m2321_5 | +| ir.cpp:2316:26:2316:26 | Address | &:r2316_5 | +| ir.cpp:2317:15:2317:15 | Address | &:r2317_1 | +| ir.cpp:2317:15:2317:15 | Address | &:r2317_1 | +| ir.cpp:2317:15:2317:15 | Arg(this) | this:r2317_1 | +| ir.cpp:2317:18:2317:33 | CallTarget | func:r2317_3 | +| ir.cpp:2317:18:2317:33 | ChiPartial | partial:m2317_7 | +| ir.cpp:2317:18:2317:33 | ChiPartial | partial:m2317_10 | +| ir.cpp:2317:18:2317:33 | ChiTotal | total:m2316_4 | +| ir.cpp:2317:18:2317:33 | ChiTotal | total:m2317_2 | +| ir.cpp:2317:18:2317:33 | SideEffect | ~m2316_4 | +| ir.cpp:2317:26:2317:32 | Address | &:r2317_5 | +| ir.cpp:2317:26:2317:32 | Arg(0) | 0:r2317_5 | +| ir.cpp:2317:26:2317:32 | SideEffect | ~m2316_3 | +| ir.cpp:2317:26:2317:32 | Unary | r2317_4 | +| ir.cpp:2317:36:2317:36 | Address | &:r2317_12 | +| ir.cpp:2317:36:2317:36 | Condition | r2317_13 | +| ir.cpp:2317:36:2317:36 | Load | m2316_6 | +| ir.cpp:2318:13:2318:13 | Address | &:r2318_1 | +| ir.cpp:2318:16:2318:17 | StoreValue | r2318_2 | +| ir.cpp:2320:13:2320:13 | Address | &:r2320_1 | +| ir.cpp:2320:16:2320:17 | StoreValue | r2320_2 | +| ir.cpp:2321:5:2321:5 | Address | &:r2321_1 | +| ir.cpp:2321:5:2321:5 | Address | &:r2321_1 | +| ir.cpp:2321:5:2321:5 | Arg(this) | this:r2321_1 | +| ir.cpp:2321:5:2321:5 | CallTarget | func:r2321_2 | +| ir.cpp:2321:5:2321:5 | ChiPartial | partial:m2321_4 | +| ir.cpp:2321:5:2321:5 | ChiPartial | partial:m2321_7 | +| ir.cpp:2321:5:2321:5 | ChiTotal | total:m2317_8 | +| ir.cpp:2321:5:2321:5 | ChiTotal | total:m2317_11 | +| ir.cpp:2321:5:2321:5 | SideEffect | m2317_11 | +| ir.cpp:2321:5:2321:5 | SideEffect | ~m2317_8 | +| ir.cpp:2331:6:2331:19 | ChiPartial | partial:m2331_3 | +| ir.cpp:2331:6:2331:19 | ChiTotal | total:m2331_2 | +| ir.cpp:2331:6:2331:19 | SideEffect | ~m2336_14 | +| ir.cpp:2331:26:2331:26 | Address | &:r2331_5 | +| ir.cpp:2332:8:2332:23 | Address | &:r2332_1 | +| ir.cpp:2332:8:2332:23 | Address | &:r2332_1 | +| ir.cpp:2332:8:2332:23 | Arg(this) | this:r2332_1 | +| ir.cpp:2332:8:2332:23 | Condition | r2332_19 | +| ir.cpp:2332:13:2332:13 | Address | &:r2332_11 | +| ir.cpp:2332:13:2332:13 | Address | &:r2332_11 | +| ir.cpp:2332:13:2332:13 | Arg(this) | this:r2332_11 | +| ir.cpp:2332:13:2332:13 | CallTarget | func:r2332_12 | +| ir.cpp:2332:13:2332:13 | ChiPartial | partial:m2332_14 | +| ir.cpp:2332:13:2332:13 | ChiPartial | partial:m2332_17 | +| ir.cpp:2332:13:2332:13 | ChiTotal | total:m2332_8 | +| ir.cpp:2332:13:2332:13 | ChiTotal | total:m2332_10 | +| ir.cpp:2332:13:2332:13 | SideEffect | m2332_10 | +| ir.cpp:2332:13:2332:13 | SideEffect | ~m2332_8 | +| ir.cpp:2332:13:2332:13 | Unary | r2332_13 | +| ir.cpp:2332:16:2332:23 | CallTarget | func:r2332_3 | +| ir.cpp:2332:16:2332:23 | ChiPartial | partial:m2332_7 | +| ir.cpp:2332:16:2332:23 | ChiPartial | partial:m2332_9 | +| ir.cpp:2332:16:2332:23 | ChiTotal | total:m2331_4 | +| ir.cpp:2332:16:2332:23 | ChiTotal | total:m2332_2 | +| ir.cpp:2332:16:2332:23 | SideEffect | ~m2331_4 | +| ir.cpp:2332:22:2332:22 | Address | &:r2332_4 | +| ir.cpp:2332:22:2332:22 | Arg(0) | 0:r2332_5 | +| ir.cpp:2332:22:2332:22 | Load | m2331_6 | +| ir.cpp:2333:16:2333:17 | Address | &:r2333_1 | +| ir.cpp:2333:16:2333:17 | Address | &:r2333_1 | +| ir.cpp:2333:16:2333:17 | Arg(this) | this:r2333_1 | +| ir.cpp:2333:16:2333:17 | CallTarget | func:r2333_3 | +| ir.cpp:2333:16:2333:17 | ChiPartial | partial:m2333_5 | +| ir.cpp:2333:16:2333:17 | ChiPartial | partial:m2333_7 | +| ir.cpp:2333:16:2333:17 | ChiTotal | total:m2332_15 | +| ir.cpp:2333:16:2333:17 | ChiTotal | total:m2333_2 | +| ir.cpp:2333:16:2333:17 | SideEffect | ~m2332_15 | +| ir.cpp:2334:5:2334:5 | Address | &:r2334_1 | +| ir.cpp:2334:5:2334:5 | Address | &:r2334_1 | +| ir.cpp:2334:5:2334:5 | Arg(this) | this:r2334_1 | +| ir.cpp:2334:5:2334:5 | CallTarget | func:r2334_2 | +| ir.cpp:2334:5:2334:5 | ChiPartial | partial:m2334_4 | +| ir.cpp:2334:5:2334:5 | ChiPartial | partial:m2334_7 | +| ir.cpp:2334:5:2334:5 | ChiTotal | total:m2333_6 | +| ir.cpp:2334:5:2334:5 | ChiTotal | total:m2333_8 | +| ir.cpp:2334:5:2334:5 | SideEffect | m2333_8 | +| ir.cpp:2334:5:2334:5 | SideEffect | ~m2333_6 | +| ir.cpp:2335:16:2335:17 | Address | &:r2335_1 | +| ir.cpp:2335:16:2335:17 | Address | &:r2335_1 | +| ir.cpp:2335:16:2335:17 | Arg(this) | this:r2335_1 | +| ir.cpp:2335:16:2335:17 | CallTarget | func:r2335_3 | +| ir.cpp:2335:16:2335:17 | ChiPartial | partial:m2335_5 | +| ir.cpp:2335:16:2335:17 | ChiPartial | partial:m2335_7 | +| ir.cpp:2335:16:2335:17 | ChiTotal | total:m2332_15 | +| ir.cpp:2335:16:2335:17 | ChiTotal | total:m2335_2 | +| ir.cpp:2335:16:2335:17 | SideEffect | ~m2332_15 | +| ir.cpp:2336:5:2336:5 | Address | &:r2336_1 | +| ir.cpp:2336:5:2336:5 | Address | &:r2336_1 | +| ir.cpp:2336:5:2336:5 | Address | &:r2336_10 | +| ir.cpp:2336:5:2336:5 | Address | &:r2336_10 | +| ir.cpp:2336:5:2336:5 | Arg(this) | this:r2336_1 | +| ir.cpp:2336:5:2336:5 | Arg(this) | this:r2336_10 | +| ir.cpp:2336:5:2336:5 | CallTarget | func:r2336_2 | +| ir.cpp:2336:5:2336:5 | CallTarget | func:r2336_11 | +| ir.cpp:2336:5:2336:5 | ChiPartial | partial:m2336_4 | +| ir.cpp:2336:5:2336:5 | ChiPartial | partial:m2336_7 | +| ir.cpp:2336:5:2336:5 | ChiPartial | partial:m2336_13 | +| ir.cpp:2336:5:2336:5 | ChiPartial | partial:m2336_16 | +| ir.cpp:2336:5:2336:5 | ChiTotal | total:m2332_18 | +| ir.cpp:2336:5:2336:5 | ChiTotal | total:m2335_6 | +| ir.cpp:2336:5:2336:5 | ChiTotal | total:m2335_8 | +| ir.cpp:2336:5:2336:5 | ChiTotal | total:m2336_9 | +| ir.cpp:2336:5:2336:5 | Phi | from 1:~m2334_5 | +| ir.cpp:2336:5:2336:5 | Phi | from 2:~m2336_5 | +| ir.cpp:2336:5:2336:5 | SideEffect | m2332_18 | +| ir.cpp:2336:5:2336:5 | SideEffect | m2335_8 | +| ir.cpp:2336:5:2336:5 | SideEffect | ~m2335_6 | +| ir.cpp:2336:5:2336:5 | SideEffect | ~m2336_9 | +| ir.cpp:2339:6:2339:25 | ChiPartial | partial:m2339_3 | +| ir.cpp:2339:6:2339:25 | ChiTotal | total:m2339_2 | +| ir.cpp:2339:6:2339:25 | SideEffect | ~m2350_13 | +| ir.cpp:2339:32:2339:32 | Address | &:r2339_5 | +| ir.cpp:2341:16:2341:16 | Address | &:r2341_1 | +| ir.cpp:2341:16:2341:16 | Address | &:r2341_1 | +| ir.cpp:2341:16:2341:16 | Arg(this) | this:r2341_1 | +| ir.cpp:2341:16:2341:16 | CallTarget | func:r2341_3 | +| ir.cpp:2341:16:2341:16 | ChiPartial | partial:m2341_5 | +| ir.cpp:2341:16:2341:16 | ChiPartial | partial:m2341_7 | +| ir.cpp:2341:16:2341:16 | ChiTotal | total:m2339_4 | +| ir.cpp:2341:16:2341:16 | ChiTotal | total:m2341_2 | +| ir.cpp:2341:16:2341:16 | SideEffect | ~m2339_4 | +| ir.cpp:2342:15:2342:15 | Address | &:r2342_2 | +| ir.cpp:2342:15:2342:15 | Condition | r2342_3 | +| ir.cpp:2342:15:2342:15 | Load | m2342_1 | +| ir.cpp:2342:15:2342:15 | Phi | from 0:m2339_6 | +| ir.cpp:2342:15:2342:15 | Phi | from 2:m2343_3 | +| ir.cpp:2343:13:2343:13 | Address | &:r2343_2 | +| ir.cpp:2343:17:2343:21 | StoreValue | r2343_1 | +| ir.cpp:2345:5:2345:5 | Address | &:r2345_1 | +| ir.cpp:2345:5:2345:5 | Address | &:r2345_1 | +| ir.cpp:2345:5:2345:5 | Arg(this) | this:r2345_1 | +| ir.cpp:2345:5:2345:5 | CallTarget | func:r2345_2 | +| ir.cpp:2345:5:2345:5 | ChiPartial | partial:m2345_4 | +| ir.cpp:2345:5:2345:5 | ChiPartial | partial:m2345_7 | +| ir.cpp:2345:5:2345:5 | ChiTotal | total:m2341_6 | +| ir.cpp:2345:5:2345:5 | ChiTotal | total:m2341_8 | +| ir.cpp:2345:5:2345:5 | SideEffect | m2341_8 | +| ir.cpp:2345:5:2345:5 | SideEffect | ~m2341_6 | +| ir.cpp:2348:16:2348:31 | Address | &:r2348_3 | +| ir.cpp:2348:16:2348:31 | Address | &:r2348_3 | +| ir.cpp:2348:16:2348:31 | Arg(this) | this:r2348_3 | +| ir.cpp:2348:16:2348:31 | Condition | r2348_21 | +| ir.cpp:2348:16:2348:31 | Phi | from 3:m2342_1 | +| ir.cpp:2348:16:2348:31 | Phi | from 3:~m2345_5 | +| ir.cpp:2348:16:2348:31 | Phi | from 5:m2349_3 | +| ir.cpp:2348:16:2348:31 | Phi | from 5:~m2350_5 | +| ir.cpp:2348:21:2348:21 | Address | &:r2348_13 | +| ir.cpp:2348:21:2348:21 | Address | &:r2348_13 | +| ir.cpp:2348:21:2348:21 | Arg(this) | this:r2348_13 | +| ir.cpp:2348:21:2348:21 | CallTarget | func:r2348_14 | +| ir.cpp:2348:21:2348:21 | ChiPartial | partial:m2348_16 | +| ir.cpp:2348:21:2348:21 | ChiPartial | partial:m2348_19 | +| ir.cpp:2348:21:2348:21 | ChiTotal | total:m2348_10 | +| ir.cpp:2348:21:2348:21 | ChiTotal | total:m2348_12 | +| ir.cpp:2348:21:2348:21 | SideEffect | m2348_12 | +| ir.cpp:2348:21:2348:21 | SideEffect | ~m2348_10 | +| ir.cpp:2348:21:2348:21 | Unary | r2348_15 | +| ir.cpp:2348:24:2348:31 | CallTarget | func:r2348_5 | +| ir.cpp:2348:24:2348:31 | ChiPartial | partial:m2348_9 | +| ir.cpp:2348:24:2348:31 | ChiPartial | partial:m2348_11 | +| ir.cpp:2348:24:2348:31 | ChiTotal | total:m2348_1 | +| ir.cpp:2348:24:2348:31 | ChiTotal | total:m2348_4 | +| ir.cpp:2348:24:2348:31 | SideEffect | ~m2348_1 | +| ir.cpp:2348:30:2348:30 | Address | &:r2348_6 | +| ir.cpp:2348:30:2348:30 | Arg(0) | 0:r2348_7 | +| ir.cpp:2348:30:2348:30 | Load | m2348_2 | +| ir.cpp:2349:13:2349:13 | Address | &:r2349_2 | +| ir.cpp:2349:17:2349:21 | StoreValue | r2349_1 | +| ir.cpp:2350:9:2350:9 | Address | &:r2350_1 | +| ir.cpp:2350:9:2350:9 | Address | &:r2350_1 | +| ir.cpp:2350:9:2350:9 | Address | &:r2350_9 | +| ir.cpp:2350:9:2350:9 | Address | &:r2350_9 | +| ir.cpp:2350:9:2350:9 | Arg(this) | this:r2350_1 | +| ir.cpp:2350:9:2350:9 | Arg(this) | this:r2350_9 | +| ir.cpp:2350:9:2350:9 | CallTarget | func:r2350_2 | +| ir.cpp:2350:9:2350:9 | CallTarget | func:r2350_10 | +| ir.cpp:2350:9:2350:9 | ChiPartial | partial:m2350_4 | +| ir.cpp:2350:9:2350:9 | ChiPartial | partial:m2350_7 | +| ir.cpp:2350:9:2350:9 | ChiPartial | partial:m2350_12 | +| ir.cpp:2350:9:2350:9 | ChiPartial | partial:m2350_15 | +| ir.cpp:2350:9:2350:9 | ChiTotal | total:m2348_17 | +| ir.cpp:2350:9:2350:9 | ChiTotal | total:m2348_17 | +| ir.cpp:2350:9:2350:9 | ChiTotal | total:m2348_20 | +| ir.cpp:2350:9:2350:9 | ChiTotal | total:m2348_20 | +| ir.cpp:2350:9:2350:9 | SideEffect | m2348_20 | +| ir.cpp:2350:9:2350:9 | SideEffect | m2348_20 | +| ir.cpp:2350:9:2350:9 | SideEffect | ~m2348_17 | +| ir.cpp:2350:9:2350:9 | SideEffect | ~m2348_17 | +| ir.cpp:2354:6:2354:13 | ChiPartial | partial:m2354_3 | +| ir.cpp:2354:6:2354:13 | ChiTotal | total:m2354_2 | +| ir.cpp:2354:6:2354:13 | SideEffect | m2354_3 | +| ir.cpp:2356:6:2356:24 | ChiPartial | partial:m2356_3 | +| ir.cpp:2356:6:2356:24 | ChiTotal | total:m2356_2 | +| ir.cpp:2356:6:2356:24 | Phi | from 2:~m2365_5 | +| ir.cpp:2356:6:2356:24 | Phi | from 4:~m2365_13 | +| ir.cpp:2356:6:2356:24 | Phi | from 5:~m2365_22 | +| ir.cpp:2356:6:2356:24 | SideEffect | ~m2356_7 | +| ir.cpp:2356:31:2356:31 | Address | &:r2356_5 | +| ir.cpp:2357:12:2357:12 | Address | &:r2357_1 | +| ir.cpp:2357:12:2357:12 | Address | &:r2357_1 | +| ir.cpp:2357:12:2357:12 | Arg(this) | this:r2357_1 | +| ir.cpp:2357:12:2357:12 | CallTarget | func:r2357_3 | +| ir.cpp:2357:12:2357:12 | ChiPartial | partial:m2357_5 | +| ir.cpp:2357:12:2357:12 | ChiPartial | partial:m2357_7 | +| ir.cpp:2357:12:2357:12 | ChiTotal | total:m2356_4 | +| ir.cpp:2357:12:2357:12 | ChiTotal | total:m2357_2 | +| ir.cpp:2357:12:2357:12 | SideEffect | ~m2356_4 | +| ir.cpp:2358:8:2358:8 | Address | &:r2358_1 | +| ir.cpp:2358:8:2358:8 | Condition | r2358_2 | +| ir.cpp:2358:8:2358:8 | Load | m2356_6 | +| ir.cpp:2361:8:2361:8 | Address | &:r2361_1 | +| ir.cpp:2361:8:2361:8 | Condition | r2361_2 | +| ir.cpp:2361:8:2361:8 | Load | m2356_6 | +| ir.cpp:2362:16:2362:23 | CallTarget | func:r2362_1 | +| ir.cpp:2362:16:2362:23 | ChiPartial | partial:m2362_3 | +| ir.cpp:2362:16:2362:23 | ChiTotal | total:m2357_6 | +| ir.cpp:2362:16:2362:23 | SideEffect | ~m2357_6 | +| ir.cpp:2365:1:2365:1 | Address | &:r2365_1 | +| ir.cpp:2365:1:2365:1 | Address | &:r2365_1 | +| ir.cpp:2365:1:2365:1 | Address | &:r2365_9 | +| ir.cpp:2365:1:2365:1 | Address | &:r2365_9 | +| ir.cpp:2365:1:2365:1 | Address | &:r2365_18 | +| ir.cpp:2365:1:2365:1 | Address | &:r2365_18 | +| ir.cpp:2365:1:2365:1 | Arg(this) | this:r2365_1 | +| ir.cpp:2365:1:2365:1 | Arg(this) | this:r2365_9 | +| ir.cpp:2365:1:2365:1 | Arg(this) | this:r2365_18 | +| ir.cpp:2365:1:2365:1 | CallTarget | func:r2365_2 | +| ir.cpp:2365:1:2365:1 | CallTarget | func:r2365_10 | +| ir.cpp:2365:1:2365:1 | CallTarget | func:r2365_19 | +| ir.cpp:2365:1:2365:1 | ChiPartial | partial:m2365_4 | +| ir.cpp:2365:1:2365:1 | ChiPartial | partial:m2365_7 | +| ir.cpp:2365:1:2365:1 | ChiPartial | partial:m2365_12 | +| ir.cpp:2365:1:2365:1 | ChiPartial | partial:m2365_15 | +| ir.cpp:2365:1:2365:1 | ChiPartial | partial:m2365_21 | +| ir.cpp:2365:1:2365:1 | ChiPartial | partial:m2365_24 | +| ir.cpp:2365:1:2365:1 | ChiTotal | total:m2357_6 | +| ir.cpp:2365:1:2365:1 | ChiTotal | total:m2357_6 | +| ir.cpp:2365:1:2365:1 | ChiTotal | total:m2357_8 | +| ir.cpp:2365:1:2365:1 | ChiTotal | total:m2357_8 | +| ir.cpp:2365:1:2365:1 | ChiTotal | total:m2357_8 | +| ir.cpp:2365:1:2365:1 | ChiTotal | total:m2362_4 | +| ir.cpp:2365:1:2365:1 | SideEffect | m2357_8 | +| ir.cpp:2365:1:2365:1 | SideEffect | m2357_8 | +| ir.cpp:2365:1:2365:1 | SideEffect | m2357_8 | +| ir.cpp:2365:1:2365:1 | SideEffect | ~m2357_6 | +| ir.cpp:2365:1:2365:1 | SideEffect | ~m2357_6 | +| ir.cpp:2365:1:2365:1 | SideEffect | ~m2362_4 | +| ir.cpp:2367:5:2367:24 | Address | &:r2367_9 | +| ir.cpp:2367:5:2367:24 | ChiPartial | partial:m2367_3 | +| ir.cpp:2367:5:2367:24 | ChiTotal | total:m2367_2 | +| ir.cpp:2367:5:2367:24 | Load | m2367_8 | +| ir.cpp:2367:5:2367:24 | Phi | from 2:m2370_3 | +| ir.cpp:2367:5:2367:24 | Phi | from 2:~m2373_5 | +| ir.cpp:2367:5:2367:24 | Phi | from 3:m2372_3 | +| ir.cpp:2367:5:2367:24 | Phi | from 3:~m2373_13 | +| ir.cpp:2367:5:2367:24 | SideEffect | ~m2367_7 | +| ir.cpp:2367:31:2367:31 | Address | &:r2367_5 | +| ir.cpp:2368:12:2368:12 | Address | &:r2368_1 | +| ir.cpp:2368:12:2368:12 | Address | &:r2368_1 | +| ir.cpp:2368:12:2368:12 | Arg(this) | this:r2368_1 | +| ir.cpp:2368:12:2368:12 | CallTarget | func:r2368_3 | +| ir.cpp:2368:12:2368:12 | ChiPartial | partial:m2368_5 | +| ir.cpp:2368:12:2368:12 | ChiPartial | partial:m2368_7 | +| ir.cpp:2368:12:2368:12 | ChiTotal | total:m2367_4 | +| ir.cpp:2368:12:2368:12 | ChiTotal | total:m2368_2 | +| ir.cpp:2368:12:2368:12 | SideEffect | ~m2367_4 | +| ir.cpp:2369:8:2369:8 | Address | &:r2369_1 | +| ir.cpp:2369:8:2369:8 | Condition | r2369_2 | +| ir.cpp:2369:8:2369:8 | Load | m2367_6 | +| ir.cpp:2370:9:2370:17 | Address | &:r2370_1 | +| ir.cpp:2370:16:2370:16 | StoreValue | r2370_2 | +| ir.cpp:2372:5:2372:13 | Address | &:r2372_1 | +| ir.cpp:2372:12:2372:12 | StoreValue | r2372_2 | +| ir.cpp:2373:1:2373:1 | Address | &:r2373_1 | +| ir.cpp:2373:1:2373:1 | Address | &:r2373_1 | +| ir.cpp:2373:1:2373:1 | Address | &:r2373_9 | +| ir.cpp:2373:1:2373:1 | Address | &:r2373_9 | +| ir.cpp:2373:1:2373:1 | Arg(this) | this:r2373_1 | +| ir.cpp:2373:1:2373:1 | Arg(this) | this:r2373_9 | +| ir.cpp:2373:1:2373:1 | CallTarget | func:r2373_2 | +| ir.cpp:2373:1:2373:1 | CallTarget | func:r2373_10 | +| ir.cpp:2373:1:2373:1 | ChiPartial | partial:m2373_4 | +| ir.cpp:2373:1:2373:1 | ChiPartial | partial:m2373_7 | +| ir.cpp:2373:1:2373:1 | ChiPartial | partial:m2373_12 | +| ir.cpp:2373:1:2373:1 | ChiPartial | partial:m2373_15 | +| ir.cpp:2373:1:2373:1 | ChiTotal | total:m2368_6 | +| ir.cpp:2373:1:2373:1 | ChiTotal | total:m2368_6 | +| ir.cpp:2373:1:2373:1 | ChiTotal | total:m2368_8 | +| ir.cpp:2373:1:2373:1 | ChiTotal | total:m2368_8 | +| ir.cpp:2373:1:2373:1 | SideEffect | m2368_8 | +| ir.cpp:2373:1:2373:1 | SideEffect | m2368_8 | +| ir.cpp:2373:1:2373:1 | SideEffect | ~m2368_6 | +| ir.cpp:2373:1:2373:1 | SideEffect | ~m2368_6 | +| ir.cpp:2375:6:2375:26 | ChiPartial | partial:m2375_3 | +| ir.cpp:2375:6:2375:26 | ChiTotal | total:m2375_2 | +| ir.cpp:2375:6:2375:26 | SideEffect | ~m2378_5 | +| ir.cpp:2376:12:2376:12 | Address | &:r2376_1 | +| ir.cpp:2376:12:2376:12 | Address | &:r2376_1 | +| ir.cpp:2376:12:2376:12 | Arg(this) | this:r2376_1 | +| ir.cpp:2376:12:2376:12 | CallTarget | func:r2376_3 | +| ir.cpp:2376:12:2376:12 | ChiPartial | partial:m2376_5 | +| ir.cpp:2376:12:2376:12 | ChiPartial | partial:m2376_7 | +| ir.cpp:2376:12:2376:12 | ChiTotal | total:m2375_4 | +| ir.cpp:2376:12:2376:12 | ChiTotal | total:m2376_2 | +| ir.cpp:2376:12:2376:12 | SideEffect | ~m2375_4 | +| ir.cpp:2377:12:2377:19 | CallTarget | func:r2377_1 | +| ir.cpp:2377:12:2377:19 | ChiPartial | partial:m2377_3 | +| ir.cpp:2377:12:2377:19 | ChiTotal | total:m2376_6 | +| ir.cpp:2377:12:2377:19 | SideEffect | ~m2376_6 | +| ir.cpp:2378:1:2378:1 | Address | &:r2378_1 | +| ir.cpp:2378:1:2378:1 | Address | &:r2378_1 | +| ir.cpp:2378:1:2378:1 | Arg(this) | this:r2378_1 | +| ir.cpp:2378:1:2378:1 | CallTarget | func:r2378_2 | +| ir.cpp:2378:1:2378:1 | ChiPartial | partial:m2378_4 | +| ir.cpp:2378:1:2378:1 | ChiPartial | partial:m2378_7 | +| ir.cpp:2378:1:2378:1 | ChiTotal | total:m2376_8 | +| ir.cpp:2378:1:2378:1 | ChiTotal | total:m2377_4 | +| ir.cpp:2378:1:2378:1 | SideEffect | m2376_8 | +| ir.cpp:2378:1:2378:1 | SideEffect | ~m2377_4 | +| ir.cpp:2388:32:2388:47 | Address | &:r2388_5 | +| ir.cpp:2388:32:2388:47 | ChiPartial | partial:m2388_3 | +| ir.cpp:2388:32:2388:47 | ChiTotal | total:m2388_2 | +| ir.cpp:2388:32:2388:47 | Load | m2390_3 | +| ir.cpp:2388:32:2388:47 | SideEffect | m2388_3 | +| ir.cpp:2390:9:2390:44 | Address | &:r2390_1 | +| ir.cpp:2390:16:2390:43 | StoreValue | r2390_2 | +| ir.cpp:2395:5:2395:49 | Address | &:r2395_5 | +| ir.cpp:2395:5:2395:49 | ChiPartial | partial:m2395_3 | +| ir.cpp:2395:5:2395:49 | ChiTotal | total:m2395_2 | +| ir.cpp:2395:5:2395:49 | Load | m2396_5 | +| ir.cpp:2395:5:2395:49 | SideEffect | m2395_3 | +| ir.cpp:2396:5:2396:17 | Address | &:r2396_1 | +| ir.cpp:2396:12:2396:12 | Left | r2396_2 | +| ir.cpp:2396:12:2396:16 | StoreValue | r2396_4 | +| ir.cpp:2396:16:2396:16 | Right | r2396_3 | +| ir.cpp:2406:5:2406:45 | Address | &:r2406_5 | +| ir.cpp:2406:5:2406:45 | ChiPartial | partial:m2406_3 | +| ir.cpp:2406:5:2406:45 | ChiTotal | total:m2406_2 | +| ir.cpp:2406:5:2406:45 | Load | m2407_3 | +| ir.cpp:2406:5:2406:45 | SideEffect | m2406_3 | +| ir.cpp:2407:5:2407:22 | Address | &:r2407_1 | +| ir.cpp:2407:12:2407:21 | StoreValue | r2407_2 | +| ir.cpp:2410:6:2410:40 | ChiPartial | partial:m2410_3 | +| ir.cpp:2410:6:2410:40 | ChiTotal | total:m2410_2 | +| ir.cpp:2410:6:2410:40 | SideEffect | ~m2430_56 | +| ir.cpp:2411:9:2411:46 | Address | &:r2411_1 | +| ir.cpp:2411:9:2411:46 | Condition | r2411_22 | +| ir.cpp:2411:14:2411:14 | Address | &:r2411_18 | +| ir.cpp:2411:14:2411:14 | Left | r2411_19 | +| ir.cpp:2411:14:2411:14 | Load | m2411_17 | +| ir.cpp:2411:14:2411:14 | Right | r2411_20 | +| ir.cpp:2411:14:2411:14 | Unary | r2411_21 | +| ir.cpp:2411:18:2411:38 | Address | &:r2411_2 | +| ir.cpp:2411:18:2411:38 | Address | &:r2411_2 | +| ir.cpp:2411:18:2411:38 | Address | &:r2411_2 | +| ir.cpp:2411:18:2411:38 | Address | &:r2411_2 | +| ir.cpp:2411:18:2411:38 | Arg(this) | this:r2411_2 | +| ir.cpp:2411:18:2411:38 | Arg(this) | this:r2411_2 | +| ir.cpp:2411:18:2411:38 | CallTarget | func:r2411_4 | +| ir.cpp:2411:18:2411:38 | ChiPartial | partial:m2411_6 | +| ir.cpp:2411:18:2411:38 | ChiPartial | partial:m2411_8 | +| ir.cpp:2411:18:2411:38 | ChiPartial | partial:m2411_15 | +| ir.cpp:2411:18:2411:38 | ChiTotal | total:m2410_4 | +| ir.cpp:2411:18:2411:38 | ChiTotal | total:m2411_3 | +| ir.cpp:2411:18:2411:38 | ChiTotal | total:m2411_9 | +| ir.cpp:2411:18:2411:38 | SideEffect | m2411_9 | +| ir.cpp:2411:18:2411:38 | SideEffect | ~m2410_4 | +| ir.cpp:2411:40:2411:44 | CallTarget | func:r2411_10 | +| ir.cpp:2411:40:2411:44 | ChiPartial | partial:m2411_12 | +| ir.cpp:2411:40:2411:44 | ChiTotal | total:m2411_7 | +| ir.cpp:2411:40:2411:44 | SideEffect | ~m2411_7 | +| ir.cpp:2411:40:2411:44 | StoreValue | r2411_11 | +| ir.cpp:2412:9:2412:9 | Address | &:r2412_1 | +| ir.cpp:2412:9:2412:9 | Address | &:r2412_1 | +| ir.cpp:2412:9:2412:9 | Left | r2412_2 | +| ir.cpp:2412:9:2412:9 | Load | m2411_17 | +| ir.cpp:2412:9:2412:11 | Right | r2412_3 | +| ir.cpp:2412:9:2412:11 | StoreValue | r2412_4 | +| ir.cpp:2414:14:2414:14 | Address | &:r2414_1 | +| ir.cpp:2414:18:2414:38 | Address | &:r2414_2 | +| ir.cpp:2414:18:2414:38 | Address | &:r2414_2 | +| ir.cpp:2414:18:2414:38 | Address | &:r2414_2 | +| ir.cpp:2414:18:2414:38 | Address | &:r2414_2 | +| ir.cpp:2414:18:2414:38 | Arg(this) | this:r2414_2 | +| ir.cpp:2414:18:2414:38 | Arg(this) | this:r2414_2 | +| ir.cpp:2414:18:2414:38 | CallTarget | func:r2414_4 | +| ir.cpp:2414:18:2414:38 | ChiPartial | partial:m2414_6 | +| ir.cpp:2414:18:2414:38 | ChiPartial | partial:m2414_8 | +| ir.cpp:2414:18:2414:38 | ChiPartial | partial:m2414_15 | +| ir.cpp:2414:18:2414:38 | ChiTotal | total:m2411_13 | +| ir.cpp:2414:18:2414:38 | ChiTotal | total:m2414_3 | +| ir.cpp:2414:18:2414:38 | ChiTotal | total:m2414_9 | +| ir.cpp:2414:18:2414:38 | SideEffect | m2414_9 | +| ir.cpp:2414:18:2414:38 | SideEffect | ~m2411_13 | +| ir.cpp:2414:40:2414:44 | CallTarget | func:r2414_10 | +| ir.cpp:2414:40:2414:44 | ChiPartial | partial:m2414_12 | +| ir.cpp:2414:40:2414:44 | ChiTotal | total:m2414_7 | +| ir.cpp:2414:40:2414:44 | SideEffect | ~m2414_7 | +| ir.cpp:2414:40:2414:44 | StoreValue | r2414_11 | +| ir.cpp:2414:49:2414:49 | Address | &:r2414_18 | +| ir.cpp:2414:49:2414:49 | Condition | r2414_21 | +| ir.cpp:2414:49:2414:49 | Left | r2414_19 | +| ir.cpp:2414:49:2414:49 | Load | m2414_17 | +| ir.cpp:2414:49:2414:49 | Right | r2414_20 | +| ir.cpp:2415:9:2415:9 | Address | &:r2415_1 | +| ir.cpp:2415:9:2415:9 | Address | &:r2415_1 | +| ir.cpp:2415:9:2415:9 | Left | r2415_2 | +| ir.cpp:2415:9:2415:9 | Load | m2414_17 | +| ir.cpp:2415:9:2415:11 | Right | r2415_3 | +| ir.cpp:2415:9:2415:11 | StoreValue | r2415_4 | +| ir.cpp:2417:24:2417:24 | Address | &:r2417_1 | +| ir.cpp:2417:28:2417:48 | Address | &:r2417_2 | +| ir.cpp:2417:28:2417:48 | Address | &:r2417_2 | +| ir.cpp:2417:28:2417:48 | Address | &:r2417_2 | +| ir.cpp:2417:28:2417:48 | Address | &:r2417_2 | +| ir.cpp:2417:28:2417:48 | Arg(this) | this:r2417_2 | +| ir.cpp:2417:28:2417:48 | Arg(this) | this:r2417_2 | +| ir.cpp:2417:28:2417:48 | CallTarget | func:r2417_4 | +| ir.cpp:2417:28:2417:48 | ChiPartial | partial:m2417_6 | +| ir.cpp:2417:28:2417:48 | ChiPartial | partial:m2417_8 | +| ir.cpp:2417:28:2417:48 | ChiPartial | partial:m2417_15 | +| ir.cpp:2417:28:2417:48 | ChiTotal | total:m2414_13 | +| ir.cpp:2417:28:2417:48 | ChiTotal | total:m2417_3 | +| ir.cpp:2417:28:2417:48 | ChiTotal | total:m2417_9 | +| ir.cpp:2417:28:2417:48 | SideEffect | m2417_9 | +| ir.cpp:2417:28:2417:48 | SideEffect | ~m2414_13 | +| ir.cpp:2417:50:2417:54 | CallTarget | func:r2417_10 | +| ir.cpp:2417:50:2417:54 | ChiPartial | partial:m2417_12 | +| ir.cpp:2417:50:2417:54 | ChiTotal | total:m2417_7 | +| ir.cpp:2417:50:2417:54 | SideEffect | ~m2417_7 | +| ir.cpp:2417:50:2417:54 | StoreValue | r2417_11 | +| ir.cpp:2417:59:2417:93 | Condition | r2417_18 | +| ir.cpp:2418:9:2418:9 | Address | &:r2418_1 | +| ir.cpp:2418:9:2418:9 | Address | &:r2418_1 | +| ir.cpp:2418:9:2418:9 | Left | r2418_2 | +| ir.cpp:2418:9:2418:9 | Load | m2417_17 | +| ir.cpp:2418:9:2418:11 | Right | r2418_3 | +| ir.cpp:2418:9:2418:11 | StoreValue | r2418_4 | +| ir.cpp:2420:12:2420:49 | Address | &:r2420_1 | +| ir.cpp:2420:12:2420:49 | Condition | r2420_21 | +| ir.cpp:2420:17:2420:17 | Address | &:r2420_18 | +| ir.cpp:2420:17:2420:17 | Load | m2420_17 | +| ir.cpp:2420:17:2420:17 | Unary | r2420_19 | +| ir.cpp:2420:17:2420:17 | Unary | r2420_20 | +| ir.cpp:2420:21:2420:41 | Address | &:r2420_2 | +| ir.cpp:2420:21:2420:41 | Address | &:r2420_2 | +| ir.cpp:2420:21:2420:41 | Address | &:r2420_2 | +| ir.cpp:2420:21:2420:41 | Address | &:r2420_2 | +| ir.cpp:2420:21:2420:41 | Arg(this) | this:r2420_2 | +| ir.cpp:2420:21:2420:41 | Arg(this) | this:r2420_2 | +| ir.cpp:2420:21:2420:41 | CallTarget | func:r2420_4 | +| ir.cpp:2420:21:2420:41 | ChiPartial | partial:m2420_6 | +| ir.cpp:2420:21:2420:41 | ChiPartial | partial:m2420_8 | +| ir.cpp:2420:21:2420:41 | ChiPartial | partial:m2420_15 | +| ir.cpp:2420:21:2420:41 | ChiTotal | total:m2417_13 | +| ir.cpp:2420:21:2420:41 | ChiTotal | total:m2420_3 | +| ir.cpp:2420:21:2420:41 | ChiTotal | total:m2420_9 | +| ir.cpp:2420:21:2420:41 | SideEffect | m2420_9 | +| ir.cpp:2420:21:2420:41 | SideEffect | ~m2417_13 | +| ir.cpp:2420:43:2420:47 | CallTarget | func:r2420_10 | +| ir.cpp:2420:43:2420:47 | ChiPartial | partial:m2420_12 | +| ir.cpp:2420:43:2420:47 | ChiTotal | total:m2420_7 | +| ir.cpp:2420:43:2420:47 | SideEffect | ~m2420_7 | +| ir.cpp:2420:43:2420:47 | StoreValue | r2420_11 | +| ir.cpp:2422:11:2422:11 | Address | &:r2422_1 | +| ir.cpp:2422:11:2422:11 | Address | &:r2422_1 | +| ir.cpp:2422:11:2422:11 | Left | r2422_2 | +| ir.cpp:2422:11:2422:11 | Load | m2420_17 | +| ir.cpp:2422:11:2422:13 | Right | r2422_3 | +| ir.cpp:2422:11:2422:13 | StoreValue | r2422_4 | +| ir.cpp:2425:17:2425:17 | Address | &:r2425_1 | +| ir.cpp:2425:21:2425:41 | Address | &:r2425_2 | +| ir.cpp:2425:21:2425:41 | Address | &:r2425_2 | +| ir.cpp:2425:21:2425:41 | Address | &:r2425_2 | +| ir.cpp:2425:21:2425:41 | Address | &:r2425_2 | +| ir.cpp:2425:21:2425:41 | Arg(this) | this:r2425_2 | +| ir.cpp:2425:21:2425:41 | Arg(this) | this:r2425_2 | +| ir.cpp:2425:21:2425:41 | CallTarget | func:r2425_4 | +| ir.cpp:2425:21:2425:41 | ChiPartial | partial:m2425_6 | +| ir.cpp:2425:21:2425:41 | ChiPartial | partial:m2425_8 | +| ir.cpp:2425:21:2425:41 | ChiPartial | partial:m2425_15 | +| ir.cpp:2425:21:2425:41 | ChiTotal | total:m2420_13 | +| ir.cpp:2425:21:2425:41 | ChiTotal | total:m2425_3 | +| ir.cpp:2425:21:2425:41 | ChiTotal | total:m2425_9 | +| ir.cpp:2425:21:2425:41 | SideEffect | m2425_9 | +| ir.cpp:2425:21:2425:41 | SideEffect | ~m2420_13 | +| ir.cpp:2425:43:2425:47 | CallTarget | func:r2425_10 | +| ir.cpp:2425:43:2425:47 | ChiPartial | partial:m2425_12 | +| ir.cpp:2425:43:2425:47 | ChiTotal | total:m2425_7 | +| ir.cpp:2425:43:2425:47 | SideEffect | ~m2425_7 | +| ir.cpp:2425:43:2425:47 | StoreValue | r2425_11 | +| ir.cpp:2425:52:2425:52 | Address | &:r2425_18 | +| ir.cpp:2425:52:2425:52 | Condition | r2425_20 | +| ir.cpp:2425:52:2425:52 | Load | m2425_17 | +| ir.cpp:2425:52:2425:52 | Unary | r2425_19 | +| ir.cpp:2427:11:2427:11 | Address | &:r2427_1 | +| ir.cpp:2427:11:2427:11 | Address | &:r2427_1 | +| ir.cpp:2427:11:2427:11 | Left | r2427_2 | +| ir.cpp:2427:11:2427:11 | Load | m2425_17 | +| ir.cpp:2427:11:2427:13 | Right | r2427_3 | +| ir.cpp:2427:11:2427:13 | StoreValue | r2427_4 | +| ir.cpp:2430:5:2430:5 | Address | &:r2430_18 | +| ir.cpp:2430:5:2430:5 | Address | &:r2430_31 | +| ir.cpp:2430:5:2430:5 | Address | &:r2430_37 | +| ir.cpp:2430:14:2430:14 | Address | &:r2430_1 | +| ir.cpp:2430:18:2430:38 | Address | &:r2430_2 | +| ir.cpp:2430:18:2430:38 | Address | &:r2430_2 | +| ir.cpp:2430:18:2430:38 | Address | &:r2430_2 | +| ir.cpp:2430:18:2430:38 | Address | &:r2430_2 | +| ir.cpp:2430:18:2430:38 | Arg(this) | this:r2430_2 | +| ir.cpp:2430:18:2430:38 | Arg(this) | this:r2430_2 | +| ir.cpp:2430:18:2430:38 | CallTarget | func:r2430_4 | +| ir.cpp:2430:18:2430:38 | ChiPartial | partial:m2430_6 | +| ir.cpp:2430:18:2430:38 | ChiPartial | partial:m2430_8 | +| ir.cpp:2430:18:2430:38 | ChiPartial | partial:m2430_15 | +| ir.cpp:2430:18:2430:38 | ChiTotal | total:m2425_13 | +| ir.cpp:2430:18:2430:38 | ChiTotal | total:m2430_3 | +| ir.cpp:2430:18:2430:38 | ChiTotal | total:m2430_9 | +| ir.cpp:2430:18:2430:38 | SideEffect | m2430_9 | +| ir.cpp:2430:18:2430:38 | SideEffect | ~m2425_13 | +| ir.cpp:2430:40:2430:44 | CallTarget | func:r2430_10 | +| ir.cpp:2430:40:2430:44 | ChiPartial | partial:m2430_12 | +| ir.cpp:2430:40:2430:44 | ChiTotal | total:m2430_7 | +| ir.cpp:2430:40:2430:44 | SideEffect | ~m2430_7 | +| ir.cpp:2430:40:2430:44 | StoreValue | r2430_11 | +| ir.cpp:2430:54:2430:54 | Address | &:r2430_58 | +| ir.cpp:2430:58:2430:58 | Address | &:r2430_32 | +| ir.cpp:2430:58:2430:58 | Address | &:r2430_38 | +| ir.cpp:2430:58:2430:58 | Address | &:r2430_61 | +| ir.cpp:2430:58:2430:58 | Address | &:r2430_66 | +| ir.cpp:2430:58:2430:58 | Address | &:r2430_66 | +| ir.cpp:2430:58:2430:58 | Arg(this) | this:r0_2 | +| ir.cpp:2430:58:2430:58 | Arg(this) | this:r0_5 | +| ir.cpp:2430:58:2430:58 | Arg(this) | this:r0_7 | +| ir.cpp:2430:58:2430:58 | Arg(this) | this:r0_8 | +| ir.cpp:2430:58:2430:58 | Arg(this) | this:r0_15 | +| ir.cpp:2430:58:2430:58 | Arg(this) | this:r2430_66 | +| ir.cpp:2430:58:2430:58 | CallTarget | func:r2430_34 | +| ir.cpp:2430:58:2430:58 | CallTarget | func:r2430_40 | +| ir.cpp:2430:58:2430:58 | CallTarget | func:r2430_46 | +| ir.cpp:2430:58:2430:58 | CallTarget | func:r2430_47 | +| ir.cpp:2430:58:2430:58 | CallTarget | func:r2430_60 | +| ir.cpp:2430:58:2430:58 | CallTarget | func:r2430_67 | +| ir.cpp:2430:58:2430:58 | ChiPartial | partial:m2430_50 | +| ir.cpp:2430:58:2430:58 | ChiPartial | partial:m2430_52 | +| ir.cpp:2430:58:2430:58 | ChiPartial | partial:m2430_55 | +| ir.cpp:2430:58:2430:58 | ChiPartial | partial:m2430_62 | +| ir.cpp:2430:58:2430:58 | ChiPartial | partial:m2430_69 | +| ir.cpp:2430:58:2430:58 | ChiPartial | partial:m2430_72 | +| ir.cpp:2430:58:2430:58 | ChiTotal | total:m0_9 | +| ir.cpp:2430:58:2430:58 | ChiTotal | total:m2430_43 | +| ir.cpp:2430:58:2430:58 | ChiTotal | total:m2430_44 | +| ir.cpp:2430:58:2430:58 | ChiTotal | total:m2430_51 | +| ir.cpp:2430:58:2430:58 | ChiTotal | total:m2430_56 | +| ir.cpp:2430:58:2430:58 | ChiTotal | total:m2430_63 | +| ir.cpp:2430:58:2430:58 | Condition | r2430_54 | +| ir.cpp:2430:58:2430:58 | Load | m2430_30 | +| ir.cpp:2430:58:2430:58 | Load | m2430_30 | +| ir.cpp:2430:58:2430:58 | Phi | from 9:m2430_36 | +| ir.cpp:2430:58:2430:58 | Phi | from 9:~m2430_26 | +| ir.cpp:2430:58:2430:58 | Phi | from 11:m2430_73 | +| ir.cpp:2430:58:2430:58 | Phi | from 11:~m2430_70 | +| ir.cpp:2430:58:2430:58 | SideEffect | m2430_43 | +| ir.cpp:2430:58:2430:58 | SideEffect | ~m2430_44 | +| ir.cpp:2430:58:2430:58 | SideEffect | ~m2430_51 | +| ir.cpp:2430:58:2430:58 | SideEffect | ~m2430_56 | +| ir.cpp:2430:58:2430:58 | SideEffect | ~m2430_63 | +| ir.cpp:2430:58:2430:58 | StoreValue | r2430_35 | +| ir.cpp:2430:58:2430:58 | StoreValue | r2430_41 | +| ir.cpp:2430:58:2430:58 | Unary | r2430_33 | +| ir.cpp:2430:58:2430:58 | Unary | r2430_39 | +| ir.cpp:2430:58:2430:58 | Unary | r2430_45 | +| ir.cpp:2430:58:2430:58 | Unary | r2430_48 | +| ir.cpp:2430:58:2430:58 | Unary | r2430_59 | +| ir.cpp:2430:58:2430:58 | Unary | r2430_68 | +| ir.cpp:2430:58:2430:77 | Address | &:r2430_19 | +| ir.cpp:2430:58:2430:77 | Address | &:r2430_19 | +| ir.cpp:2430:58:2430:77 | Arg(this) | this:r2430_19 | +| ir.cpp:2430:58:2430:77 | CallTarget | func:r2430_21 | +| ir.cpp:2430:58:2430:77 | ChiPartial | partial:m2430_25 | +| ir.cpp:2430:58:2430:77 | ChiPartial | partial:m2430_27 | +| ir.cpp:2430:58:2430:77 | ChiTotal | total:m2430_13 | +| ir.cpp:2430:58:2430:77 | ChiTotal | total:m2430_20 | +| ir.cpp:2430:58:2430:77 | SideEffect | ~m2430_13 | +| ir.cpp:2430:58:2430:77 | StoreValue | r2430_29 | +| ir.cpp:2430:58:2430:77 | Unary | r2430_19 | +| ir.cpp:2430:58:2430:78 | Load | ~m2430_63 | +| ir.cpp:2430:58:2430:78 | StoreValue | r2430_64 | +| ir.cpp:2430:76:2430:76 | Address | &:r2430_22 | +| ir.cpp:2430:76:2430:76 | Arg(0) | 0:r2430_23 | +| ir.cpp:2430:76:2430:76 | Load | m2430_17 | +| ir.cpp:2431:9:2431:9 | Address | &:r2431_4 | +| ir.cpp:2431:9:2431:9 | Address | &:r2431_4 | +| ir.cpp:2431:9:2431:9 | Load | m2430_65 | +| ir.cpp:2431:9:2431:9 | Unary | r2431_5 | +| ir.cpp:2431:9:2431:14 | Left | r2431_6 | +| ir.cpp:2431:9:2431:14 | StoreValue | r2431_8 | +| ir.cpp:2431:9:2431:14 | Unary | r2431_7 | +| ir.cpp:2431:14:2431:14 | Address | &:r2431_1 | +| ir.cpp:2431:14:2431:14 | Load | m2430_17 | +| ir.cpp:2431:14:2431:14 | Right | r2431_3 | +| ir.cpp:2431:14:2431:14 | Unary | r2431_2 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_7 | diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index 25d6225d77eb..cf8448c9f5d7 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -10826,687 +10826,724 @@ ir.cpp: # 1932| v1932_5(void) = AliasedUse : ~m? # 1932| v1932_6(void) = ExitFunction : -# 1938| char global_template -# 1938| Block 0 -# 1938| v1938_1(void) = EnterFunction : -# 1938| mu1938_2(unknown) = AliasedDefinition : -# 1938| r1938_3(glval) = VariableAddress[global_template] : -# 1938| r1938_4(char) = Constant[42] : -# 1938| mu1938_5(char) = Store[global_template] : &:r1938_3, r1938_4 -# 1938| v1938_6(void) = ReturnVoid : -# 1938| v1938_7(void) = AliasedUse : ~m? -# 1938| v1938_8(void) = ExitFunction : - -# 1938| int global_template -# 1938| Block 0 -# 1938| v1938_1(void) = EnterFunction : -# 1938| mu1938_2(unknown) = AliasedDefinition : -# 1938| r1938_3(glval) = VariableAddress[global_template] : -# 1938| r1938_4(int) = Constant[42] : -# 1938| mu1938_5(int) = Store[global_template] : &:r1938_3, r1938_4 -# 1938| v1938_6(void) = ReturnVoid : -# 1938| v1938_7(void) = AliasedUse : ~m? -# 1938| v1938_8(void) = ExitFunction : - -# 1940| int test_global_template_int() -# 1940| Block 0 -# 1940| v1940_1(void) = EnterFunction : -# 1940| mu1940_2(unknown) = AliasedDefinition : -# 1940| mu1940_3(unknown) = InitializeNonLocal : -# 1941| r1941_1(glval) = VariableAddress[local_int] : -# 1941| r1941_2(glval) = VariableAddress[global_template] : -# 1941| r1941_3(int) = Load[global_template] : &:r1941_2, ~m? -# 1941| mu1941_4(int) = Store[local_int] : &:r1941_1, r1941_3 -# 1942| r1942_1(glval) = VariableAddress[local_char] : -# 1942| r1942_2(glval) = VariableAddress[global_template] : -# 1942| r1942_3(char) = Load[global_template] : &:r1942_2, ~m? -# 1942| mu1942_4(char) = Store[local_char] : &:r1942_1, r1942_3 -# 1943| r1943_1(glval) = VariableAddress[#return] : -# 1943| r1943_2(glval) = VariableAddress[local_int] : -# 1943| r1943_3(int) = Load[local_int] : &:r1943_2, ~m? -# 1943| r1943_4(glval) = VariableAddress[local_char] : -# 1943| r1943_5(char) = Load[local_char] : &:r1943_4, ~m? -# 1943| r1943_6(int) = Convert : r1943_5 -# 1943| r1943_7(int) = Add : r1943_3, r1943_6 -# 1943| mu1943_8(int) = Store[#return] : &:r1943_1, r1943_7 -# 1940| r1940_4(glval) = VariableAddress[#return] : -# 1940| v1940_5(void) = ReturnValue : &:r1940_4, ~m? -# 1940| v1940_6(void) = AliasedUse : ~m? -# 1940| v1940_7(void) = ExitFunction : - -# 1948| int noreturnTest(int) -# 1948| Block 0 -# 1948| v1948_1(void) = EnterFunction : -# 1948| mu1948_2(unknown) = AliasedDefinition : -# 1948| mu1948_3(unknown) = InitializeNonLocal : -# 1948| r1948_4(glval) = VariableAddress[x] : -# 1948| mu1948_5(int) = InitializeParameter[x] : &:r1948_4 -# 1949| r1949_1(glval) = VariableAddress[x] : -# 1949| r1949_2(int) = Load[x] : &:r1949_1, ~m? -# 1949| r1949_3(int) = Constant[10] : -# 1949| r1949_4(bool) = CompareLT : r1949_2, r1949_3 -# 1949| v1949_5(void) = ConditionalBranch : r1949_4 +# 1939| int missing_declaration_entries::Bar3::two_more_missing_variable_declaration_entries() +# 1939| Block 0 +# 1939| v1939_1(void) = EnterFunction : +# 1939| mu1939_2(unknown) = AliasedDefinition : +# 1939| mu1939_3(unknown) = InitializeNonLocal : +# 1939| r1939_4(glval) = VariableAddress[#this] : +# 1939| mu1939_5(glval>) = InitializeParameter[#this] : &:r1939_4 +# 1939| r1939_6(glval>) = Load[#this] : &:r1939_4, ~m? +# 1939| mu1939_7(Bar3) = InitializeIndirection[#this] : &:r1939_6 +# 1942| r1942_1(glval) = VariableAddress[#return] : +# 1942| r1942_2(glval) = VariableAddress[g] : +# 1942| r1942_3(int) = Load[g] : &:r1942_2, ~m? +# 1942| mu1942_4(int) = Store[#return] : &:r1942_1, r1942_3 +# 1939| v1939_8(void) = ReturnIndirection[#this] : &:r1939_6, ~m? +# 1939| r1939_9(glval) = VariableAddress[#return] : +# 1939| v1939_10(void) = ReturnValue : &:r1939_9, ~m? +# 1939| v1939_11(void) = AliasedUse : ~m? +# 1939| v1939_12(void) = ExitFunction : + +# 1946| void missing_declaration_entries::test3() +# 1946| Block 0 +# 1946| v1946_1(void) = EnterFunction : +# 1946| mu1946_2(unknown) = AliasedDefinition : +# 1946| mu1946_3(unknown) = InitializeNonLocal : +# 1947| r1947_1(glval>) = VariableAddress[b] : +# 1947| mu1947_2(Bar3) = Uninitialized[b] : &:r1947_1 +# 1948| r1948_1(glval>) = VariableAddress[b] : +# 1948| r1948_2(glval) = FunctionAddress[two_more_missing_variable_declaration_entries] : +# 1948| r1948_3(int) = Call[two_more_missing_variable_declaration_entries] : func:r1948_2, this:r1948_1 +# 1948| mu1948_4(unknown) = ^CallSideEffect : ~m? +# 1948| v1948_5(void) = ^IndirectReadSideEffect[-1] : &:r1948_1, ~m? +# 1948| mu1948_6(Bar3) = ^IndirectMayWriteSideEffect[-1] : &:r1948_1 +# 1949| v1949_1(void) = NoOp : +# 1946| v1946_4(void) = ReturnVoid : +# 1946| v1946_5(void) = AliasedUse : ~m? +# 1946| v1946_6(void) = ExitFunction : + +# 1952| char global_template +# 1952| Block 0 +# 1952| v1952_1(void) = EnterFunction : +# 1952| mu1952_2(unknown) = AliasedDefinition : +# 1952| r1952_3(glval) = VariableAddress[global_template] : +# 1952| r1952_4(char) = Constant[42] : +# 1952| mu1952_5(char) = Store[global_template] : &:r1952_3, r1952_4 +# 1952| v1952_6(void) = ReturnVoid : +# 1952| v1952_7(void) = AliasedUse : ~m? +# 1952| v1952_8(void) = ExitFunction : + +# 1952| int global_template +# 1952| Block 0 +# 1952| v1952_1(void) = EnterFunction : +# 1952| mu1952_2(unknown) = AliasedDefinition : +# 1952| r1952_3(glval) = VariableAddress[global_template] : +# 1952| r1952_4(int) = Constant[42] : +# 1952| mu1952_5(int) = Store[global_template] : &:r1952_3, r1952_4 +# 1952| v1952_6(void) = ReturnVoid : +# 1952| v1952_7(void) = AliasedUse : ~m? +# 1952| v1952_8(void) = ExitFunction : + +# 1954| int test_global_template_int() +# 1954| Block 0 +# 1954| v1954_1(void) = EnterFunction : +# 1954| mu1954_2(unknown) = AliasedDefinition : +# 1954| mu1954_3(unknown) = InitializeNonLocal : +# 1955| r1955_1(glval) = VariableAddress[local_int] : +# 1955| r1955_2(glval) = VariableAddress[global_template] : +# 1955| r1955_3(int) = Load[global_template] : &:r1955_2, ~m? +# 1955| mu1955_4(int) = Store[local_int] : &:r1955_1, r1955_3 +# 1956| r1956_1(glval) = VariableAddress[local_char] : +# 1956| r1956_2(glval) = VariableAddress[global_template] : +# 1956| r1956_3(char) = Load[global_template] : &:r1956_2, ~m? +# 1956| mu1956_4(char) = Store[local_char] : &:r1956_1, r1956_3 +# 1957| r1957_1(glval) = VariableAddress[#return] : +# 1957| r1957_2(glval) = VariableAddress[local_int] : +# 1957| r1957_3(int) = Load[local_int] : &:r1957_2, ~m? +# 1957| r1957_4(glval) = VariableAddress[local_char] : +# 1957| r1957_5(char) = Load[local_char] : &:r1957_4, ~m? +# 1957| r1957_6(int) = Convert : r1957_5 +# 1957| r1957_7(int) = Add : r1957_3, r1957_6 +# 1957| mu1957_8(int) = Store[#return] : &:r1957_1, r1957_7 +# 1954| r1954_4(glval) = VariableAddress[#return] : +# 1954| v1954_5(void) = ReturnValue : &:r1954_4, ~m? +# 1954| v1954_6(void) = AliasedUse : ~m? +# 1954| v1954_7(void) = ExitFunction : + +# 1962| int noreturnTest(int) +# 1962| Block 0 +# 1962| v1962_1(void) = EnterFunction : +# 1962| mu1962_2(unknown) = AliasedDefinition : +# 1962| mu1962_3(unknown) = InitializeNonLocal : +# 1962| r1962_4(glval) = VariableAddress[x] : +# 1962| mu1962_5(int) = InitializeParameter[x] : &:r1962_4 +# 1963| r1963_1(glval) = VariableAddress[x] : +# 1963| r1963_2(int) = Load[x] : &:r1963_1, ~m? +# 1963| r1963_3(int) = Constant[10] : +# 1963| r1963_4(bool) = CompareLT : r1963_2, r1963_3 +# 1963| v1963_5(void) = ConditionalBranch : r1963_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 1948| Block 1 -# 1948| r1948_6(glval) = VariableAddress[#return] : -# 1948| v1948_7(void) = ReturnValue : &:r1948_6, ~m? -# 1948| v1948_8(void) = AliasedUse : ~m? -# 1948| v1948_9(void) = ExitFunction : - -# 1950| Block 2 -# 1950| r1950_1(glval) = VariableAddress[#return] : -# 1950| r1950_2(glval) = VariableAddress[x] : -# 1950| r1950_3(int) = Load[x] : &:r1950_2, ~m? -# 1950| mu1950_4(int) = Store[#return] : &:r1950_1, r1950_3 +# 1962| Block 1 +# 1962| r1962_6(glval) = VariableAddress[#return] : +# 1962| v1962_7(void) = ReturnValue : &:r1962_6, ~m? +# 1962| v1962_8(void) = AliasedUse : ~m? +# 1962| v1962_9(void) = ExitFunction : + +# 1964| Block 2 +# 1964| r1964_1(glval) = VariableAddress[#return] : +# 1964| r1964_2(glval) = VariableAddress[x] : +# 1964| r1964_3(int) = Load[x] : &:r1964_2, ~m? +# 1964| mu1964_4(int) = Store[#return] : &:r1964_1, r1964_3 #-----| Goto -> Block 1 -# 1952| Block 3 -# 1952| r1952_1(glval) = FunctionAddress[noreturnFunc] : -# 1952| v1952_2(void) = Call[noreturnFunc] : func:r1952_1 -# 1952| mu1952_3(unknown) = ^CallSideEffect : ~m? -# 1948| v1948_10(void) = Unreached : +# 1966| Block 3 +# 1966| r1966_1(glval) = FunctionAddress[noreturnFunc] : +# 1966| v1966_2(void) = Call[noreturnFunc] : func:r1966_1 +# 1966| mu1966_3(unknown) = ^CallSideEffect : ~m? +# 1962| v1962_10(void) = Unreached : -# 1954| Block 4 -# 1954| r1954_1(glval) = VariableAddress[#return] : -# 1954| mu1954_2(int) = Uninitialized[#return] : &:r1954_1 +# 1968| Block 4 +# 1968| r1968_1(glval) = VariableAddress[#return] : +# 1968| mu1968_2(int) = Uninitialized[#return] : &:r1968_1 #-----| Goto -> Block 1 -# 1956| int noreturnTest2(int) -# 1956| Block 0 -# 1956| v1956_1(void) = EnterFunction : -# 1956| mu1956_2(unknown) = AliasedDefinition : -# 1956| mu1956_3(unknown) = InitializeNonLocal : -# 1956| r1956_4(glval) = VariableAddress[x] : -# 1956| mu1956_5(int) = InitializeParameter[x] : &:r1956_4 -# 1957| r1957_1(glval) = VariableAddress[x] : -# 1957| r1957_2(int) = Load[x] : &:r1957_1, ~m? -# 1957| r1957_3(int) = Constant[10] : -# 1957| r1957_4(bool) = CompareLT : r1957_2, r1957_3 -# 1957| v1957_5(void) = ConditionalBranch : r1957_4 +# 1970| int noreturnTest2(int) +# 1970| Block 0 +# 1970| v1970_1(void) = EnterFunction : +# 1970| mu1970_2(unknown) = AliasedDefinition : +# 1970| mu1970_3(unknown) = InitializeNonLocal : +# 1970| r1970_4(glval) = VariableAddress[x] : +# 1970| mu1970_5(int) = InitializeParameter[x] : &:r1970_4 +# 1971| r1971_1(glval) = VariableAddress[x] : +# 1971| r1971_2(int) = Load[x] : &:r1971_1, ~m? +# 1971| r1971_3(int) = Constant[10] : +# 1971| r1971_4(bool) = CompareLT : r1971_2, r1971_3 +# 1971| v1971_5(void) = ConditionalBranch : r1971_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 1958| Block 1 -# 1958| r1958_1(glval) = FunctionAddress[noreturnFunc] : -# 1958| v1958_2(void) = Call[noreturnFunc] : func:r1958_1 -# 1958| mu1958_3(unknown) = ^CallSideEffect : ~m? -# 1956| v1956_6(void) = Unreached : - -# 1960| Block 2 -# 1960| r1960_1(glval) = VariableAddress[#return] : -# 1960| r1960_2(glval) = VariableAddress[x] : -# 1960| r1960_3(int) = Load[x] : &:r1960_2, ~m? -# 1960| mu1960_4(int) = Store[#return] : &:r1960_1, r1960_3 -# 1956| r1956_7(glval) = VariableAddress[#return] : -# 1956| v1956_8(void) = ReturnValue : &:r1956_7, ~m? -# 1956| v1956_9(void) = AliasedUse : ~m? -# 1956| v1956_10(void) = ExitFunction : - -# 1963| int static_function(int) -# 1963| Block 0 -# 1963| v1963_1(void) = EnterFunction : -# 1963| mu1963_2(unknown) = AliasedDefinition : -# 1963| mu1963_3(unknown) = InitializeNonLocal : -# 1963| r1963_4(glval) = VariableAddress[x] : -# 1963| mu1963_5(int) = InitializeParameter[x] : &:r1963_4 -# 1964| r1964_1(glval) = VariableAddress[#return] : -# 1964| r1964_2(glval) = VariableAddress[x] : -# 1964| r1964_3(int) = Load[x] : &:r1964_2, ~m? -# 1964| mu1964_4(int) = Store[#return] : &:r1964_1, r1964_3 -# 1963| r1963_6(glval) = VariableAddress[#return] : -# 1963| v1963_7(void) = ReturnValue : &:r1963_6, ~m? -# 1963| v1963_8(void) = AliasedUse : ~m? -# 1963| v1963_9(void) = ExitFunction : - -# 1967| void test_static_functions_with_assignments() -# 1967| Block 0 -# 1967| v1967_1(void) = EnterFunction : -# 1967| mu1967_2(unknown) = AliasedDefinition : -# 1967| mu1967_3(unknown) = InitializeNonLocal : -# 1968| r1968_1(glval) = VariableAddress[c] : -# 1968| mu1968_2(C) = Uninitialized[c] : &:r1968_1 -# 1968| r1968_3(glval) = FunctionAddress[C] : -# 1968| v1968_4(void) = Call[C] : func:r1968_3, this:r1968_1 -# 1968| mu1968_5(unknown) = ^CallSideEffect : ~m? -# 1968| mu1968_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1968_1 -# 1969| r1969_1(glval) = VariableAddress[x] : -# 1969| mu1969_2(int) = Uninitialized[x] : &:r1969_1 -# 1970| r1970_1(glval) = VariableAddress[c] : -# 1970| r1970_2(glval) = FunctionAddress[StaticMemberFunction] : -# 1970| r1970_3(int) = Constant[10] : -# 1970| r1970_4(int) = Call[StaticMemberFunction] : func:r1970_2, 0:r1970_3 -# 1970| mu1970_5(unknown) = ^CallSideEffect : ~m? -# 1970| r1970_6(glval) = VariableAddress[x] : -# 1970| mu1970_7(int) = Store[x] : &:r1970_6, r1970_4 -# 1971| r1971_1(glval) = VariableAddress[y] : -# 1971| mu1971_2(int) = Uninitialized[y] : &:r1971_1 -# 1972| r1972_1(glval) = FunctionAddress[StaticMemberFunction] : -# 1972| r1972_2(int) = Constant[10] : -# 1972| r1972_3(int) = Call[StaticMemberFunction] : func:r1972_1, 0:r1972_2 -# 1972| mu1972_4(unknown) = ^CallSideEffect : ~m? -# 1972| r1972_5(glval) = VariableAddress[y] : -# 1972| mu1972_6(int) = Store[y] : &:r1972_5, r1972_3 -# 1973| r1973_1(glval) = VariableAddress[z] : -# 1973| mu1973_2(int) = Uninitialized[z] : &:r1973_1 -# 1974| r1974_1(glval) = FunctionAddress[static_function] : -# 1974| r1974_2(int) = Constant[10] : -# 1974| r1974_3(int) = Call[static_function] : func:r1974_1, 0:r1974_2 -# 1974| mu1974_4(unknown) = ^CallSideEffect : ~m? -# 1974| r1974_5(glval) = VariableAddress[z] : -# 1974| mu1974_6(int) = Store[z] : &:r1974_5, r1974_3 -# 1975| v1975_1(void) = NoOp : -# 1975| r1975_2(glval) = VariableAddress[c] : -# 1975| r1975_3(glval) = FunctionAddress[~C] : -# 1975| v1975_4(void) = Call[~C] : func:r1975_3, this:r1975_2 -# 1975| mu1975_5(unknown) = ^CallSideEffect : ~m? -# 1975| v1975_6(void) = ^IndirectReadSideEffect[-1] : &:r1975_2, ~m? -# 1975| mu1975_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1975_2 -# 1967| v1967_4(void) = ReturnVoid : -# 1967| v1967_5(void) = AliasedUse : ~m? -# 1967| v1967_6(void) = ExitFunction : - -# 1977| void test_double_assign() +# 1972| Block 1 +# 1972| r1972_1(glval) = FunctionAddress[noreturnFunc] : +# 1972| v1972_2(void) = Call[noreturnFunc] : func:r1972_1 +# 1972| mu1972_3(unknown) = ^CallSideEffect : ~m? +# 1970| v1970_6(void) = Unreached : + +# 1974| Block 2 +# 1974| r1974_1(glval) = VariableAddress[#return] : +# 1974| r1974_2(glval) = VariableAddress[x] : +# 1974| r1974_3(int) = Load[x] : &:r1974_2, ~m? +# 1974| mu1974_4(int) = Store[#return] : &:r1974_1, r1974_3 +# 1970| r1970_7(glval) = VariableAddress[#return] : +# 1970| v1970_8(void) = ReturnValue : &:r1970_7, ~m? +# 1970| v1970_9(void) = AliasedUse : ~m? +# 1970| v1970_10(void) = ExitFunction : + +# 1977| int static_function(int) # 1977| Block 0 -# 1977| v1977_1(void) = EnterFunction : -# 1977| mu1977_2(unknown) = AliasedDefinition : -# 1977| mu1977_3(unknown) = InitializeNonLocal : -# 1978| r1978_1(glval) = VariableAddress[i] : -# 1978| mu1978_2(int) = Uninitialized[i] : &:r1978_1 -# 1978| r1978_3(glval) = VariableAddress[j] : -# 1978| mu1978_4(int) = Uninitialized[j] : &:r1978_3 -# 1979| r1979_1(int) = Constant[40] : -# 1979| r1979_2(glval) = VariableAddress[j] : -# 1979| mu1979_3(int) = Store[j] : &:r1979_2, r1979_1 -# 1979| r1979_4(int) = Load[j] : &:r1979_2, ~m? -# 1979| r1979_5(glval) = VariableAddress[i] : -# 1979| mu1979_6(int) = Store[i] : &:r1979_5, r1979_4 -# 1980| v1980_1(void) = NoOp : -# 1977| v1977_4(void) = ReturnVoid : -# 1977| v1977_5(void) = AliasedUse : ~m? -# 1977| v1977_6(void) = ExitFunction : - -# 1982| void test_assign_with_assign_operation() -# 1982| Block 0 -# 1982| v1982_1(void) = EnterFunction : -# 1982| mu1982_2(unknown) = AliasedDefinition : -# 1982| mu1982_3(unknown) = InitializeNonLocal : -# 1983| r1983_1(glval) = VariableAddress[i] : -# 1983| mu1983_2(int) = Uninitialized[i] : &:r1983_1 -# 1983| r1983_3(glval) = VariableAddress[j] : -# 1983| r1983_4(int) = Constant[0] : -# 1983| mu1983_5(int) = Store[j] : &:r1983_3, r1983_4 -# 1984| r1984_1(int) = Constant[40] : -# 1984| r1984_2(glval) = VariableAddress[j] : -# 1984| r1984_3(int) = Load[j] : &:r1984_2, ~m? -# 1984| r1984_4(int) = Add : r1984_3, r1984_1 -# 1984| mu1984_5(int) = Store[j] : &:r1984_2, r1984_4 -# 1984| r1984_6(int) = Load[j] : &:r1984_2, ~m? -# 1984| r1984_7(glval) = VariableAddress[i] : -# 1984| mu1984_8(int) = Store[i] : &:r1984_7, r1984_6 -# 1985| v1985_1(void) = NoOp : -# 1982| v1982_4(void) = ReturnVoid : -# 1982| v1982_5(void) = AliasedUse : ~m? -# 1982| v1982_6(void) = ExitFunction : - -# 1991| D& D::ReferenceStaticMemberFunction() +# 1977| v1977_1(void) = EnterFunction : +# 1977| mu1977_2(unknown) = AliasedDefinition : +# 1977| mu1977_3(unknown) = InitializeNonLocal : +# 1977| r1977_4(glval) = VariableAddress[x] : +# 1977| mu1977_5(int) = InitializeParameter[x] : &:r1977_4 +# 1978| r1978_1(glval) = VariableAddress[#return] : +# 1978| r1978_2(glval) = VariableAddress[x] : +# 1978| r1978_3(int) = Load[x] : &:r1978_2, ~m? +# 1978| mu1978_4(int) = Store[#return] : &:r1978_1, r1978_3 +# 1977| r1977_6(glval) = VariableAddress[#return] : +# 1977| v1977_7(void) = ReturnValue : &:r1977_6, ~m? +# 1977| v1977_8(void) = AliasedUse : ~m? +# 1977| v1977_9(void) = ExitFunction : + +# 1981| void test_static_functions_with_assignments() +# 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(C) = Uninitialized[c] : &:r1982_1 +# 1982| r1982_3(glval) = FunctionAddress[C] : +# 1982| v1982_4(void) = Call[C] : func:r1982_3, this:r1982_1 +# 1982| mu1982_5(unknown) = ^CallSideEffect : ~m? +# 1982| mu1982_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r1982_1 +# 1983| r1983_1(glval) = VariableAddress[x] : +# 1983| mu1983_2(int) = Uninitialized[x] : &:r1983_1 +# 1984| r1984_1(glval) = VariableAddress[c] : +# 1984| r1984_2(glval) = FunctionAddress[StaticMemberFunction] : +# 1984| r1984_3(int) = Constant[10] : +# 1984| r1984_4(int) = Call[StaticMemberFunction] : func:r1984_2, 0:r1984_3 +# 1984| mu1984_5(unknown) = ^CallSideEffect : ~m? +# 1984| r1984_6(glval) = VariableAddress[x] : +# 1984| mu1984_7(int) = Store[x] : &:r1984_6, r1984_4 +# 1985| r1985_1(glval) = VariableAddress[y] : +# 1985| mu1985_2(int) = Uninitialized[y] : &:r1985_1 +# 1986| r1986_1(glval) = FunctionAddress[StaticMemberFunction] : +# 1986| r1986_2(int) = Constant[10] : +# 1986| r1986_3(int) = Call[StaticMemberFunction] : func:r1986_1, 0:r1986_2 +# 1986| mu1986_4(unknown) = ^CallSideEffect : ~m? +# 1986| r1986_5(glval) = VariableAddress[y] : +# 1986| mu1986_6(int) = Store[y] : &:r1986_5, r1986_3 +# 1987| r1987_1(glval) = VariableAddress[z] : +# 1987| mu1987_2(int) = Uninitialized[z] : &:r1987_1 +# 1988| r1988_1(glval) = FunctionAddress[static_function] : +# 1988| r1988_2(int) = Constant[10] : +# 1988| r1988_3(int) = Call[static_function] : func:r1988_1, 0:r1988_2 +# 1988| mu1988_4(unknown) = ^CallSideEffect : ~m? +# 1988| r1988_5(glval) = VariableAddress[z] : +# 1988| mu1988_6(int) = Store[z] : &:r1988_5, r1988_3 +# 1989| v1989_1(void) = NoOp : +# 1989| r1989_2(glval) = VariableAddress[c] : +# 1989| r1989_3(glval) = FunctionAddress[~C] : +# 1989| v1989_4(void) = Call[~C] : func:r1989_3, this:r1989_2 +# 1989| mu1989_5(unknown) = ^CallSideEffect : ~m? +# 1989| v1989_6(void) = ^IndirectReadSideEffect[-1] : &:r1989_2, ~m? +# 1989| mu1989_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1989_2 +# 1981| v1981_4(void) = ReturnVoid : +# 1981| v1981_5(void) = AliasedUse : ~m? +# 1981| v1981_6(void) = ExitFunction : + +# 1991| void test_double_assign() # 1991| Block 0 -# 1991| v1991_1(void) = EnterFunction : -# 1991| mu1991_2(unknown) = AliasedDefinition : -# 1991| mu1991_3(unknown) = InitializeNonLocal : -# 1992| r1992_1(glval) = VariableAddress[#return] : -# 1992| r1992_2(glval) = VariableAddress[x] : -# 1992| r1992_3(D &) = CopyValue : r1992_2 -# 1992| mu1992_4(D &) = Store[#return] : &:r1992_1, r1992_3 -# 1991| r1991_4(glval) = VariableAddress[#return] : -# 1991| v1991_5(void) = ReturnValue : &:r1991_4, ~m? -# 1991| v1991_6(void) = AliasedUse : ~m? -# 1991| v1991_7(void) = ExitFunction : - -# 1994| D D::ObjectStaticMemberFunction() -# 1994| Block 0 -# 1994| v1994_1(void) = EnterFunction : -# 1994| mu1994_2(unknown) = AliasedDefinition : -# 1994| mu1994_3(unknown) = InitializeNonLocal : -# 1995| r1995_1(glval) = VariableAddress[#return] : -# 1995| r1995_2(glval) = VariableAddress[x] : -# 1995| r1995_3(D) = Load[x] : &:r1995_2, ~m? -# 1995| mu1995_4(D) = Store[#return] : &:r1995_1, r1995_3 -# 1994| r1994_4(glval) = VariableAddress[#return] : -# 1994| v1994_5(void) = ReturnValue : &:r1994_4, ~m? -# 1994| v1994_6(void) = AliasedUse : ~m? -# 1994| v1994_7(void) = ExitFunction : - -# 1999| void test_static_member_functions_with_reference_return() -# 1999| Block 0 -# 1999| v1999_1(void) = EnterFunction : -# 1999| mu1999_2(unknown) = AliasedDefinition : -# 1999| mu1999_3(unknown) = InitializeNonLocal : -# 2000| r2000_1(glval) = VariableAddress[d] : -# 2000| mu2000_2(D) = Uninitialized[d] : &:r2000_1 -# 2002| r2002_1(glval) = VariableAddress[d] : -# 2002| r2002_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2002| r2002_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2002_2 -# 2002| mu2002_4(unknown) = ^CallSideEffect : ~m? -# 2002| r2002_5(glval) = CopyValue : r2002_3 -# 2003| r2003_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2003| r2003_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2003_1 -# 2003| mu2003_3(unknown) = ^CallSideEffect : ~m? -# 2003| r2003_4(glval) = CopyValue : r2003_2 -# 2004| r2004_1(glval) = VariableAddress[d] : -# 2004| r2004_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2004| r2004_3(D) = Call[ObjectStaticMemberFunction] : func:r2004_2 -# 2004| mu2004_4(unknown) = ^CallSideEffect : ~m? -# 2005| r2005_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2005| r2005_2(D) = Call[ObjectStaticMemberFunction] : func:r2005_1 -# 2005| mu2005_3(unknown) = ^CallSideEffect : ~m? -# 2007| r2007_1(glval) = VariableAddress[x] : -# 2007| mu2007_2(D) = Uninitialized[x] : &:r2007_1 -# 2008| r2008_1(glval) = VariableAddress[d] : -# 2008| r2008_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2008| r2008_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2008_2 -# 2008| mu2008_4(unknown) = ^CallSideEffect : ~m? -# 2008| r2008_5(D) = Load[?] : &:r2008_3, ~m? -# 2008| r2008_6(glval) = VariableAddress[x] : -# 2008| mu2008_7(D) = Store[x] : &:r2008_6, r2008_5 -# 2009| r2009_1(glval) = VariableAddress[y] : -# 2009| mu2009_2(D) = Uninitialized[y] : &:r2009_1 -# 2010| r2010_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : -# 2010| r2010_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2010_1 -# 2010| mu2010_3(unknown) = ^CallSideEffect : ~m? -# 2010| r2010_4(D) = Load[?] : &:r2010_2, ~m? -# 2010| r2010_5(glval) = VariableAddress[y] : -# 2010| mu2010_6(D) = Store[y] : &:r2010_5, r2010_4 -# 2011| r2011_1(glval) = VariableAddress[j] : -# 2011| mu2011_2(D) = Uninitialized[j] : &:r2011_1 -# 2012| r2012_1(glval) = VariableAddress[d] : -# 2012| r2012_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2012| r2012_3(D) = Call[ObjectStaticMemberFunction] : func:r2012_2 -# 2012| mu2012_4(unknown) = ^CallSideEffect : ~m? -# 2012| r2012_5(glval) = VariableAddress[j] : -# 2012| mu2012_6(D) = Store[j] : &:r2012_5, r2012_3 -# 2013| r2013_1(glval) = VariableAddress[k] : -# 2013| mu2013_2(D) = Uninitialized[k] : &:r2013_1 -# 2014| r2014_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : -# 2014| r2014_2(D) = Call[ObjectStaticMemberFunction] : func:r2014_1 -# 2014| mu2014_3(unknown) = ^CallSideEffect : ~m? -# 2014| r2014_4(glval) = VariableAddress[k] : -# 2014| mu2014_5(D) = Store[k] : &:r2014_4, r2014_2 -# 2015| v2015_1(void) = NoOp : -# 1999| v1999_4(void) = ReturnVoid : -# 1999| v1999_5(void) = AliasedUse : ~m? -# 1999| v1999_6(void) = ExitFunction : - -# 2017| void test_volatile() -# 2017| Block 0 -# 2017| v2017_1(void) = EnterFunction : -# 2017| mu2017_2(unknown) = AliasedDefinition : -# 2017| mu2017_3(unknown) = InitializeNonLocal : -# 2018| r2018_1(glval) = VariableAddress[x] : -# 2018| mu2018_2(int) = Uninitialized[x] : &:r2018_1 -# 2019| r2019_1(glval) = VariableAddress[x] : -# 2019| r2019_2(int) = Load[x] : &:r2019_1, ~m? -# 2020| v2020_1(void) = NoOp : -# 2017| v2017_4(void) = ReturnVoid : -# 2017| v2017_5(void) = AliasedUse : ~m? -# 2017| v2017_6(void) = ExitFunction : - -# 2028| void value_category_test() -# 2028| Block 0 -# 2028| v2028_1(void) = EnterFunction : -# 2028| mu2028_2(unknown) = AliasedDefinition : -# 2028| mu2028_3(unknown) = InitializeNonLocal : -# 2029| r2029_1(glval) = VariableAddress[c] : -# 2029| mu2029_2(ValCat) = Uninitialized[c] : &:r2029_1 +# 1991| v1991_1(void) = EnterFunction : +# 1991| mu1991_2(unknown) = AliasedDefinition : +# 1991| mu1991_3(unknown) = InitializeNonLocal : +# 1992| r1992_1(glval) = VariableAddress[i] : +# 1992| mu1992_2(int) = Uninitialized[i] : &:r1992_1 +# 1992| r1992_3(glval) = VariableAddress[j] : +# 1992| mu1992_4(int) = Uninitialized[j] : &:r1992_3 +# 1993| r1993_1(int) = Constant[40] : +# 1993| r1993_2(glval) = VariableAddress[j] : +# 1993| mu1993_3(int) = Store[j] : &:r1993_2, r1993_1 +# 1993| r1993_4(int) = Load[j] : &:r1993_2, ~m? +# 1993| r1993_5(glval) = VariableAddress[i] : +# 1993| mu1993_6(int) = Store[i] : &:r1993_5, r1993_4 +# 1994| v1994_1(void) = NoOp : +# 1991| v1991_4(void) = ReturnVoid : +# 1991| v1991_5(void) = AliasedUse : ~m? +# 1991| v1991_6(void) = ExitFunction : + +# 1996| void test_assign_with_assign_operation() +# 1996| Block 0 +# 1996| v1996_1(void) = EnterFunction : +# 1996| mu1996_2(unknown) = AliasedDefinition : +# 1996| mu1996_3(unknown) = InitializeNonLocal : +# 1997| r1997_1(glval) = VariableAddress[i] : +# 1997| mu1997_2(int) = Uninitialized[i] : &:r1997_1 +# 1997| r1997_3(glval) = VariableAddress[j] : +# 1997| r1997_4(int) = Constant[0] : +# 1997| mu1997_5(int) = Store[j] : &:r1997_3, r1997_4 +# 1998| r1998_1(int) = Constant[40] : +# 1998| r1998_2(glval) = VariableAddress[j] : +# 1998| r1998_3(int) = Load[j] : &:r1998_2, ~m? +# 1998| r1998_4(int) = Add : r1998_3, r1998_1 +# 1998| mu1998_5(int) = Store[j] : &:r1998_2, r1998_4 +# 1998| r1998_6(int) = Load[j] : &:r1998_2, ~m? +# 1998| r1998_7(glval) = VariableAddress[i] : +# 1998| mu1998_8(int) = Store[i] : &:r1998_7, r1998_6 +# 1999| v1999_1(void) = NoOp : +# 1996| v1996_4(void) = ReturnVoid : +# 1996| v1996_5(void) = AliasedUse : ~m? +# 1996| v1996_6(void) = ExitFunction : + +# 2005| D& D::ReferenceStaticMemberFunction() +# 2005| Block 0 +# 2005| v2005_1(void) = EnterFunction : +# 2005| mu2005_2(unknown) = AliasedDefinition : +# 2005| mu2005_3(unknown) = InitializeNonLocal : +# 2006| r2006_1(glval) = VariableAddress[#return] : +# 2006| r2006_2(glval) = VariableAddress[x] : +# 2006| r2006_3(D &) = CopyValue : r2006_2 +# 2006| mu2006_4(D &) = Store[#return] : &:r2006_1, r2006_3 +# 2005| r2005_4(glval) = VariableAddress[#return] : +# 2005| v2005_5(void) = ReturnValue : &:r2005_4, ~m? +# 2005| v2005_6(void) = AliasedUse : ~m? +# 2005| v2005_7(void) = ExitFunction : + +# 2008| D D::ObjectStaticMemberFunction() +# 2008| Block 0 +# 2008| v2008_1(void) = EnterFunction : +# 2008| mu2008_2(unknown) = AliasedDefinition : +# 2008| mu2008_3(unknown) = InitializeNonLocal : +# 2009| r2009_1(glval) = VariableAddress[#return] : +# 2009| r2009_2(glval) = VariableAddress[x] : +# 2009| r2009_3(D) = Load[x] : &:r2009_2, ~m? +# 2009| mu2009_4(D) = Store[#return] : &:r2009_1, r2009_3 +# 2008| r2008_4(glval) = VariableAddress[#return] : +# 2008| v2008_5(void) = ReturnValue : &:r2008_4, ~m? +# 2008| v2008_6(void) = AliasedUse : ~m? +# 2008| v2008_7(void) = ExitFunction : + +# 2013| void test_static_member_functions_with_reference_return() +# 2013| Block 0 +# 2013| v2013_1(void) = EnterFunction : +# 2013| mu2013_2(unknown) = AliasedDefinition : +# 2013| mu2013_3(unknown) = InitializeNonLocal : +# 2014| r2014_1(glval) = VariableAddress[d] : +# 2014| mu2014_2(D) = Uninitialized[d] : &:r2014_1 +# 2016| r2016_1(glval) = VariableAddress[d] : +# 2016| r2016_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2016| r2016_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2016_2 +# 2016| mu2016_4(unknown) = ^CallSideEffect : ~m? +# 2016| r2016_5(glval) = CopyValue : r2016_3 +# 2017| r2017_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2017| r2017_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2017_1 +# 2017| mu2017_3(unknown) = ^CallSideEffect : ~m? +# 2017| r2017_4(glval) = CopyValue : r2017_2 +# 2018| r2018_1(glval) = VariableAddress[d] : +# 2018| r2018_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2018| r2018_3(D) = Call[ObjectStaticMemberFunction] : func:r2018_2 +# 2018| mu2018_4(unknown) = ^CallSideEffect : ~m? +# 2019| r2019_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2019| r2019_2(D) = Call[ObjectStaticMemberFunction] : func:r2019_1 +# 2019| mu2019_3(unknown) = ^CallSideEffect : ~m? +# 2021| r2021_1(glval) = VariableAddress[x] : +# 2021| mu2021_2(D) = Uninitialized[x] : &:r2021_1 +# 2022| r2022_1(glval) = VariableAddress[d] : +# 2022| r2022_2(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2022| r2022_3(D &) = Call[ReferenceStaticMemberFunction] : func:r2022_2 +# 2022| mu2022_4(unknown) = ^CallSideEffect : ~m? +# 2022| r2022_5(D) = Load[?] : &:r2022_3, ~m? +# 2022| r2022_6(glval) = VariableAddress[x] : +# 2022| mu2022_7(D) = Store[x] : &:r2022_6, r2022_5 +# 2023| r2023_1(glval) = VariableAddress[y] : +# 2023| mu2023_2(D) = Uninitialized[y] : &:r2023_1 +# 2024| r2024_1(glval) = FunctionAddress[ReferenceStaticMemberFunction] : +# 2024| r2024_2(D &) = Call[ReferenceStaticMemberFunction] : func:r2024_1 +# 2024| mu2024_3(unknown) = ^CallSideEffect : ~m? +# 2024| r2024_4(D) = Load[?] : &:r2024_2, ~m? +# 2024| r2024_5(glval) = VariableAddress[y] : +# 2024| mu2024_6(D) = Store[y] : &:r2024_5, r2024_4 +# 2025| r2025_1(glval) = VariableAddress[j] : +# 2025| mu2025_2(D) = Uninitialized[j] : &:r2025_1 +# 2026| r2026_1(glval) = VariableAddress[d] : +# 2026| r2026_2(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2026| r2026_3(D) = Call[ObjectStaticMemberFunction] : func:r2026_2 +# 2026| mu2026_4(unknown) = ^CallSideEffect : ~m? +# 2026| r2026_5(glval) = VariableAddress[j] : +# 2026| mu2026_6(D) = Store[j] : &:r2026_5, r2026_3 +# 2027| r2027_1(glval) = VariableAddress[k] : +# 2027| mu2027_2(D) = Uninitialized[k] : &:r2027_1 +# 2028| r2028_1(glval) = FunctionAddress[ObjectStaticMemberFunction] : +# 2028| r2028_2(D) = Call[ObjectStaticMemberFunction] : func:r2028_1 +# 2028| mu2028_3(unknown) = ^CallSideEffect : ~m? +# 2028| r2028_4(glval) = VariableAddress[k] : +# 2028| mu2028_5(D) = Store[k] : &:r2028_4, r2028_2 +# 2029| v2029_1(void) = NoOp : +# 2013| v2013_4(void) = ReturnVoid : +# 2013| v2013_5(void) = AliasedUse : ~m? +# 2013| v2013_6(void) = ExitFunction : + +# 2031| void test_volatile() +# 2031| Block 0 +# 2031| v2031_1(void) = EnterFunction : +# 2031| mu2031_2(unknown) = AliasedDefinition : +# 2031| mu2031_3(unknown) = InitializeNonLocal : +# 2032| r2032_1(glval) = VariableAddress[x] : +# 2032| mu2032_2(int) = Uninitialized[x] : &:r2032_1 +# 2033| r2033_1(glval) = VariableAddress[x] : +# 2033| r2033_2(int) = Load[x] : &:r2033_1, ~m? +# 2034| v2034_1(void) = NoOp : +# 2031| v2031_4(void) = ReturnVoid : +# 2031| v2031_5(void) = AliasedUse : ~m? +# 2031| v2031_6(void) = ExitFunction : + +# 2042| void value_category_test() +# 2042| Block 0 +# 2042| v2042_1(void) = EnterFunction : +# 2042| mu2042_2(unknown) = AliasedDefinition : +# 2042| mu2042_3(unknown) = InitializeNonLocal : +# 2043| r2043_1(glval) = VariableAddress[c] : +# 2043| mu2043_2(ValCat) = Uninitialized[c] : &:r2043_1 #-----| r0_1(glval) = VariableAddress[#temp0:0] : #-----| mu0_2(ValCat) = Uninitialized[#temp0:0] : &:r0_1 #-----| r0_3(ValCat) = Load[#temp0:0] : &:r0_1, ~m? -# 2031| r2031_1(glval) = VariableAddress[c] : -# 2031| r2031_2(glval) = FunctionAddress[lvalue] : -# 2031| r2031_3(ValCat &) = Call[lvalue] : func:r2031_2 -# 2031| mu2031_4(unknown) = ^CallSideEffect : ~m? -# 2031| r2031_5(glval) = CopyValue : r2031_3 -# 2031| mu2031_6(ValCat) = Store[?] : &:r2031_5, r0_3 +# 2045| r2045_1(glval) = VariableAddress[c] : +# 2045| r2045_2(glval) = FunctionAddress[lvalue] : +# 2045| r2045_3(ValCat &) = Call[lvalue] : func:r2045_2 +# 2045| mu2045_4(unknown) = ^CallSideEffect : ~m? +# 2045| r2045_5(glval) = CopyValue : r2045_3 +# 2045| mu2045_6(ValCat) = Store[?] : &:r2045_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? -# 2032| r2032_1(glval) = VariableAddress[c] : -# 2032| r2032_2(glval) = FunctionAddress[xvalue] : -# 2032| r2032_3(ValCat &&) = Call[xvalue] : func:r2032_2 -# 2032| mu2032_4(unknown) = ^CallSideEffect : ~m? -# 2032| r2032_5(glval) = CopyValue : r2032_3 -# 2032| mu2032_6(ValCat) = Store[?] : &:r2032_5, r0_6 +# 2046| r2046_1(glval) = VariableAddress[c] : +# 2046| r2046_2(glval) = FunctionAddress[xvalue] : +# 2046| r2046_3(ValCat &&) = Call[xvalue] : func:r2046_2 +# 2046| mu2046_4(unknown) = ^CallSideEffect : ~m? +# 2046| r2046_5(glval) = CopyValue : r2046_3 +# 2046| mu2046_6(ValCat) = Store[?] : &:r2046_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? -# 2033| r2033_1(glval) = VariableAddress[#temp2033:5] : -# 2033| r2033_2(glval) = VariableAddress[c] : -# 2033| r2033_3(glval) = FunctionAddress[prvalue] : -# 2033| r2033_4(ValCat) = Call[prvalue] : func:r2033_3 -# 2033| mu2033_5(unknown) = ^CallSideEffect : ~m? -# 2033| mu2033_6(ValCat) = Store[#temp2033:5] : &:r2033_1, r2033_4 -# 2033| mu2033_7(ValCat) = Store[#temp2033:5] : &:r2033_1, r0_9 +# 2047| r2047_1(glval) = VariableAddress[#temp2047:5] : +# 2047| r2047_2(glval) = VariableAddress[c] : +# 2047| r2047_3(glval) = FunctionAddress[prvalue] : +# 2047| r2047_4(ValCat) = Call[prvalue] : func:r2047_3 +# 2047| mu2047_5(unknown) = ^CallSideEffect : ~m? +# 2047| mu2047_6(ValCat) = Store[#temp2047:5] : &:r2047_1, r2047_4 +# 2047| mu2047_7(ValCat) = Store[#temp2047:5] : &:r2047_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? -# 2034| r2034_1(glval) = FunctionAddress[lvalue] : -# 2034| r2034_2(ValCat &) = Call[lvalue] : func:r2034_1 -# 2034| mu2034_3(unknown) = ^CallSideEffect : ~m? -# 2034| r2034_4(glval) = CopyValue : r2034_2 -# 2034| mu2034_5(ValCat) = Store[?] : &:r2034_4, r0_12 +# 2048| r2048_1(glval) = FunctionAddress[lvalue] : +# 2048| r2048_2(ValCat &) = Call[lvalue] : func:r2048_1 +# 2048| mu2048_3(unknown) = ^CallSideEffect : ~m? +# 2048| r2048_4(glval) = CopyValue : r2048_2 +# 2048| mu2048_5(ValCat) = Store[?] : &:r2048_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? -# 2035| r2035_1(glval) = FunctionAddress[xvalue] : -# 2035| r2035_2(ValCat &&) = Call[xvalue] : func:r2035_1 -# 2035| mu2035_3(unknown) = ^CallSideEffect : ~m? -# 2035| r2035_4(glval) = CopyValue : r2035_2 -# 2035| mu2035_5(ValCat) = Store[?] : &:r2035_4, r0_15 +# 2049| r2049_1(glval) = FunctionAddress[xvalue] : +# 2049| r2049_2(ValCat &&) = Call[xvalue] : func:r2049_1 +# 2049| mu2049_3(unknown) = ^CallSideEffect : ~m? +# 2049| r2049_4(glval) = CopyValue : r2049_2 +# 2049| mu2049_5(ValCat) = Store[?] : &:r2049_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? -# 2036| r2036_1(glval) = VariableAddress[#temp2036:5] : -# 2036| r2036_2(glval) = FunctionAddress[prvalue] : -# 2036| r2036_3(ValCat) = Call[prvalue] : func:r2036_2 -# 2036| mu2036_4(unknown) = ^CallSideEffect : ~m? -# 2036| mu2036_5(ValCat) = Store[#temp2036:5] : &:r2036_1, r2036_3 -# 2036| mu2036_6(ValCat) = Store[#temp2036:5] : &:r2036_1, r0_18 -# 2037| v2037_1(void) = NoOp : -# 2028| v2028_4(void) = ReturnVoid : -# 2028| v2028_5(void) = AliasedUse : ~m? -# 2028| v2028_6(void) = ExitFunction : - -# 2039| void SetStaticFuncPtr() -# 2039| Block 0 -# 2039| v2039_1(void) = EnterFunction : -# 2039| mu2039_2(unknown) = AliasedDefinition : -# 2039| mu2039_3(unknown) = InitializeNonLocal : -# 2040| r2040_1(glval) = VariableAddress[c] : -# 2040| mu2040_2(C) = Uninitialized[c] : &:r2040_1 -# 2040| r2040_3(glval) = FunctionAddress[C] : -# 2040| v2040_4(void) = Call[C] : func:r2040_3, this:r2040_1 -# 2040| mu2040_5(unknown) = ^CallSideEffect : ~m? -# 2040| mu2040_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r2040_1 -# 2041| r2041_1(glval<..(*)(..)>) = VariableAddress[pfn] : -# 2041| r2041_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 2041| mu2041_3(..(*)(..)) = Store[pfn] : &:r2041_1, r2041_2 -# 2042| r2042_1(glval) = VariableAddress[c] : -# 2042| r2042_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : -# 2042| r2042_3(glval<..(*)(..)>) = VariableAddress[pfn] : -# 2042| mu2042_4(..(*)(..)) = Store[pfn] : &:r2042_3, r2042_2 -# 2043| v2043_1(void) = NoOp : -# 2043| r2043_2(glval) = VariableAddress[c] : -# 2043| r2043_3(glval) = FunctionAddress[~C] : -# 2043| v2043_4(void) = Call[~C] : func:r2043_3, this:r2043_2 -# 2043| mu2043_5(unknown) = ^CallSideEffect : ~m? -# 2043| v2043_6(void) = ^IndirectReadSideEffect[-1] : &:r2043_2, ~m? -# 2043| mu2043_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2043_2 -# 2039| v2039_4(void) = ReturnVoid : -# 2039| v2039_5(void) = AliasedUse : ~m? -# 2039| v2039_6(void) = ExitFunction : - -# 2045| void TernaryTestInt(bool, int, int, int) -# 2045| Block 0 -# 2045| v2045_1(void) = EnterFunction : -# 2045| mu2045_2(unknown) = AliasedDefinition : -# 2045| mu2045_3(unknown) = InitializeNonLocal : -# 2045| r2045_4(glval) = VariableAddress[a] : -# 2045| mu2045_5(bool) = InitializeParameter[a] : &:r2045_4 -# 2045| r2045_6(glval) = VariableAddress[x] : -# 2045| mu2045_7(int) = InitializeParameter[x] : &:r2045_6 -# 2045| r2045_8(glval) = VariableAddress[y] : -# 2045| mu2045_9(int) = InitializeParameter[y] : &:r2045_8 -# 2045| r2045_10(glval) = VariableAddress[z] : -# 2045| mu2045_11(int) = InitializeParameter[z] : &:r2045_10 -# 2046| r2046_1(glval) = VariableAddress[a] : -# 2046| r2046_2(bool) = Load[a] : &:r2046_1, ~m? -# 2046| v2046_3(void) = ConditionalBranch : r2046_2 +# 2050| r2050_1(glval) = VariableAddress[#temp2050:5] : +# 2050| r2050_2(glval) = FunctionAddress[prvalue] : +# 2050| r2050_3(ValCat) = Call[prvalue] : func:r2050_2 +# 2050| mu2050_4(unknown) = ^CallSideEffect : ~m? +# 2050| mu2050_5(ValCat) = Store[#temp2050:5] : &:r2050_1, r2050_3 +# 2050| mu2050_6(ValCat) = Store[#temp2050:5] : &:r2050_1, r0_18 +# 2051| v2051_1(void) = NoOp : +# 2042| v2042_4(void) = ReturnVoid : +# 2042| v2042_5(void) = AliasedUse : ~m? +# 2042| v2042_6(void) = ExitFunction : + +# 2053| void SetStaticFuncPtr() +# 2053| Block 0 +# 2053| v2053_1(void) = EnterFunction : +# 2053| mu2053_2(unknown) = AliasedDefinition : +# 2053| mu2053_3(unknown) = InitializeNonLocal : +# 2054| r2054_1(glval) = VariableAddress[c] : +# 2054| mu2054_2(C) = Uninitialized[c] : &:r2054_1 +# 2054| r2054_3(glval) = FunctionAddress[C] : +# 2054| v2054_4(void) = Call[C] : func:r2054_3, this:r2054_1 +# 2054| mu2054_5(unknown) = ^CallSideEffect : ~m? +# 2054| mu2054_6(C) = ^IndirectMayWriteSideEffect[-1] : &:r2054_1 +# 2055| r2055_1(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2055| r2055_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2055| mu2055_3(..(*)(..)) = Store[pfn] : &:r2055_1, r2055_2 +# 2056| r2056_1(glval) = VariableAddress[c] : +# 2056| r2056_2(..(*)(..)) = FunctionAddress[StaticMemberFunction] : +# 2056| r2056_3(glval<..(*)(..)>) = VariableAddress[pfn] : +# 2056| mu2056_4(..(*)(..)) = Store[pfn] : &:r2056_3, r2056_2 +# 2057| v2057_1(void) = NoOp : +# 2057| r2057_2(glval) = VariableAddress[c] : +# 2057| r2057_3(glval) = FunctionAddress[~C] : +# 2057| v2057_4(void) = Call[~C] : func:r2057_3, this:r2057_2 +# 2057| mu2057_5(unknown) = ^CallSideEffect : ~m? +# 2057| v2057_6(void) = ^IndirectReadSideEffect[-1] : &:r2057_2, ~m? +# 2057| mu2057_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r2057_2 +# 2053| v2053_4(void) = ReturnVoid : +# 2053| v2053_5(void) = AliasedUse : ~m? +# 2053| v2053_6(void) = ExitFunction : + +# 2059| void TernaryTestInt(bool, int, int, int) +# 2059| Block 0 +# 2059| v2059_1(void) = EnterFunction : +# 2059| mu2059_2(unknown) = AliasedDefinition : +# 2059| mu2059_3(unknown) = InitializeNonLocal : +# 2059| r2059_4(glval) = VariableAddress[a] : +# 2059| mu2059_5(bool) = InitializeParameter[a] : &:r2059_4 +# 2059| r2059_6(glval) = VariableAddress[x] : +# 2059| mu2059_7(int) = InitializeParameter[x] : &:r2059_6 +# 2059| r2059_8(glval) = VariableAddress[y] : +# 2059| mu2059_9(int) = InitializeParameter[y] : &:r2059_8 +# 2059| r2059_10(glval) = VariableAddress[z] : +# 2059| mu2059_11(int) = InitializeParameter[z] : &:r2059_10 +# 2060| r2060_1(glval) = VariableAddress[a] : +# 2060| r2060_2(bool) = Load[a] : &:r2060_1, ~m? +# 2060| v2060_3(void) = ConditionalBranch : r2060_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2046| Block 1 -# 2046| r2046_4(glval) = VariableAddress[#temp2046:9] : -# 2046| r2046_5(int) = Load[#temp2046:9] : &:r2046_4, ~m? -# 2046| r2046_6(glval) = VariableAddress[z] : -# 2046| mu2046_7(int) = Store[z] : &:r2046_6, r2046_5 -# 2047| r2047_1(glval) = VariableAddress[a] : -# 2047| r2047_2(bool) = Load[a] : &:r2047_1, ~m? -# 2047| v2047_3(void) = ConditionalBranch : r2047_2 +# 2060| Block 1 +# 2060| r2060_4(glval) = VariableAddress[#temp2060:9] : +# 2060| r2060_5(int) = Load[#temp2060:9] : &:r2060_4, ~m? +# 2060| r2060_6(glval) = VariableAddress[z] : +# 2060| mu2060_7(int) = Store[z] : &:r2060_6, r2060_5 +# 2061| r2061_1(glval) = VariableAddress[a] : +# 2061| r2061_2(bool) = Load[a] : &:r2061_1, ~m? +# 2061| v2061_3(void) = ConditionalBranch : r2061_2 #-----| False -> Block 6 #-----| True -> Block 5 -# 2046| Block 2 -# 2046| r2046_8(glval) = VariableAddress[x] : -# 2046| r2046_9(int) = Load[x] : &:r2046_8, ~m? -# 2046| r2046_10(glval) = VariableAddress[#temp2046:9] : -# 2046| mu2046_11(int) = Store[#temp2046:9] : &:r2046_10, r2046_9 +# 2060| Block 2 +# 2060| r2060_8(glval) = VariableAddress[x] : +# 2060| r2060_9(int) = Load[x] : &:r2060_8, ~m? +# 2060| r2060_10(glval) = VariableAddress[#temp2060:9] : +# 2060| mu2060_11(int) = Store[#temp2060:9] : &:r2060_10, r2060_9 #-----| Goto -> Block 1 -# 2046| Block 3 -# 2046| r2046_12(glval) = VariableAddress[y] : -# 2046| r2046_13(int) = Load[y] : &:r2046_12, ~m? -# 2046| r2046_14(glval) = VariableAddress[#temp2046:9] : -# 2046| mu2046_15(int) = Store[#temp2046:9] : &:r2046_14, r2046_13 +# 2060| Block 3 +# 2060| r2060_12(glval) = VariableAddress[y] : +# 2060| r2060_13(int) = Load[y] : &:r2060_12, ~m? +# 2060| r2060_14(glval) = VariableAddress[#temp2060:9] : +# 2060| mu2060_15(int) = Store[#temp2060:9] : &:r2060_14, r2060_13 #-----| Goto -> Block 1 -# 2047| Block 4 -# 2047| r2047_4(glval) = VariableAddress[#temp2047:9] : -# 2047| r2047_5(int) = Load[#temp2047:9] : &:r2047_4, ~m? -# 2047| r2047_6(glval) = VariableAddress[z] : -# 2047| mu2047_7(int) = Store[z] : &:r2047_6, r2047_5 -# 2048| r2048_1(glval) = VariableAddress[a] : -# 2048| r2048_2(bool) = Load[a] : &:r2048_1, ~m? -# 2048| v2048_3(void) = ConditionalBranch : r2048_2 +# 2061| Block 4 +# 2061| r2061_4(glval) = VariableAddress[#temp2061:9] : +# 2061| r2061_5(int) = Load[#temp2061:9] : &:r2061_4, ~m? +# 2061| r2061_6(glval) = VariableAddress[z] : +# 2061| mu2061_7(int) = Store[z] : &:r2061_6, r2061_5 +# 2062| r2062_1(glval) = VariableAddress[a] : +# 2062| r2062_2(bool) = Load[a] : &:r2062_1, ~m? +# 2062| v2062_3(void) = ConditionalBranch : r2062_2 #-----| False -> Block 9 #-----| True -> Block 8 -# 2047| Block 5 -# 2047| r2047_8(glval) = VariableAddress[x] : -# 2047| r2047_9(int) = Load[x] : &:r2047_8, ~m? -# 2047| r2047_10(glval) = VariableAddress[#temp2047:9] : -# 2047| mu2047_11(int) = Store[#temp2047:9] : &:r2047_10, r2047_9 +# 2061| Block 5 +# 2061| r2061_8(glval) = VariableAddress[x] : +# 2061| r2061_9(int) = Load[x] : &:r2061_8, ~m? +# 2061| r2061_10(glval) = VariableAddress[#temp2061:9] : +# 2061| mu2061_11(int) = Store[#temp2061:9] : &:r2061_10, r2061_9 #-----| Goto -> Block 4 -# 2047| Block 6 -# 2047| r2047_12(int) = Constant[5] : -# 2047| r2047_13(glval) = VariableAddress[#temp2047:9] : -# 2047| mu2047_14(int) = Store[#temp2047:9] : &:r2047_13, r2047_12 +# 2061| Block 6 +# 2061| r2061_12(int) = Constant[5] : +# 2061| r2061_13(glval) = VariableAddress[#temp2061:9] : +# 2061| mu2061_14(int) = Store[#temp2061:9] : &:r2061_13, r2061_12 #-----| Goto -> Block 4 -# 2048| Block 7 -# 2048| r2048_4(glval) = VariableAddress[#temp2048:9] : -# 2048| r2048_5(int) = Load[#temp2048:9] : &:r2048_4, ~m? -# 2048| r2048_6(glval) = VariableAddress[z] : -# 2048| mu2048_7(int) = Store[z] : &:r2048_6, r2048_5 -# 2049| r2049_1(int) = Constant[7] : -# 2049| r2049_2(glval) = VariableAddress[a] : -# 2049| r2049_3(bool) = Load[a] : &:r2049_2, ~m? -# 2049| v2049_4(void) = ConditionalBranch : r2049_3 +# 2062| Block 7 +# 2062| r2062_4(glval) = VariableAddress[#temp2062:9] : +# 2062| r2062_5(int) = Load[#temp2062:9] : &:r2062_4, ~m? +# 2062| r2062_6(glval) = VariableAddress[z] : +# 2062| mu2062_7(int) = Store[z] : &:r2062_6, r2062_5 +# 2063| r2063_1(int) = Constant[7] : +# 2063| r2063_2(glval) = VariableAddress[a] : +# 2063| r2063_3(bool) = Load[a] : &:r2063_2, ~m? +# 2063| v2063_4(void) = ConditionalBranch : r2063_3 #-----| False -> Block 12 #-----| True -> Block 11 -# 2048| Block 8 -# 2048| r2048_8(int) = Constant[3] : -# 2048| r2048_9(glval) = VariableAddress[#temp2048:9] : -# 2048| mu2048_10(int) = Store[#temp2048:9] : &:r2048_9, r2048_8 +# 2062| Block 8 +# 2062| r2062_8(int) = Constant[3] : +# 2062| r2062_9(glval) = VariableAddress[#temp2062:9] : +# 2062| mu2062_10(int) = Store[#temp2062:9] : &:r2062_9, r2062_8 #-----| Goto -> Block 7 -# 2048| Block 9 -# 2048| r2048_11(int) = Constant[5] : -# 2048| r2048_12(glval) = VariableAddress[#temp2048:9] : -# 2048| mu2048_13(int) = Store[#temp2048:9] : &:r2048_12, r2048_11 +# 2062| Block 9 +# 2062| r2062_11(int) = Constant[5] : +# 2062| r2062_12(glval) = VariableAddress[#temp2062:9] : +# 2062| mu2062_13(int) = Store[#temp2062:9] : &:r2062_12, r2062_11 #-----| Goto -> Block 7 -# 2049| Block 10 -# 2049| r2049_5(glval) = VariableAddress[#temp2049:6] : -# 2049| r2049_6(glval) = Load[#temp2049:6] : &:r2049_5, ~m? -# 2049| mu2049_7(int) = Store[?] : &:r2049_6, r2049_1 -# 2050| v2050_1(void) = NoOp : -# 2045| v2045_12(void) = ReturnVoid : -# 2045| v2045_13(void) = AliasedUse : ~m? -# 2045| v2045_14(void) = ExitFunction : - -# 2049| Block 11 -# 2049| r2049_8(glval) = VariableAddress[x] : -# 2049| r2049_9(glval) = VariableAddress[#temp2049:6] : -# 2049| mu2049_10(glval) = Store[#temp2049:6] : &:r2049_9, r2049_8 +# 2063| Block 10 +# 2063| r2063_5(glval) = VariableAddress[#temp2063:6] : +# 2063| r2063_6(glval) = Load[#temp2063:6] : &:r2063_5, ~m? +# 2063| mu2063_7(int) = Store[?] : &:r2063_6, r2063_1 +# 2064| v2064_1(void) = NoOp : +# 2059| v2059_12(void) = ReturnVoid : +# 2059| v2059_13(void) = AliasedUse : ~m? +# 2059| v2059_14(void) = ExitFunction : + +# 2063| Block 11 +# 2063| r2063_8(glval) = VariableAddress[x] : +# 2063| r2063_9(glval) = VariableAddress[#temp2063:6] : +# 2063| mu2063_10(glval) = Store[#temp2063:6] : &:r2063_9, r2063_8 #-----| Goto -> Block 10 -# 2049| Block 12 -# 2049| r2049_11(glval) = VariableAddress[y] : -# 2049| r2049_12(glval) = VariableAddress[#temp2049:6] : -# 2049| mu2049_13(glval) = Store[#temp2049:6] : &:r2049_12, r2049_11 +# 2063| Block 12 +# 2063| r2063_11(glval) = VariableAddress[y] : +# 2063| r2063_12(glval) = VariableAddress[#temp2063:6] : +# 2063| mu2063_13(glval) = Store[#temp2063:6] : &:r2063_12, r2063_11 #-----| Goto -> Block 10 -# 2055| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) -# 2055| Block 0 -# 2055| v2055_1(void) = EnterFunction : -# 2055| mu2055_2(unknown) = AliasedDefinition : -# 2055| mu2055_3(unknown) = InitializeNonLocal : -# 2055| r2055_4(glval) = VariableAddress[a] : -# 2055| mu2055_5(bool) = InitializeParameter[a] : &:r2055_4 -# 2055| r2055_6(glval) = VariableAddress[x] : -# 2055| mu2055_7(TernaryPodObj) = InitializeParameter[x] : &:r2055_6 -# 2055| r2055_8(glval) = VariableAddress[y] : -# 2055| mu2055_9(TernaryPodObj) = InitializeParameter[y] : &:r2055_8 -# 2055| r2055_10(glval) = VariableAddress[z] : -# 2055| mu2055_11(TernaryPodObj) = InitializeParameter[z] : &:r2055_10 -# 2056| r2056_1(glval) = VariableAddress[a] : -# 2056| r2056_2(bool) = Load[a] : &:r2056_1, ~m? -# 2056| v2056_3(void) = ConditionalBranch : r2056_2 +# 2069| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj) +# 2069| Block 0 +# 2069| v2069_1(void) = EnterFunction : +# 2069| mu2069_2(unknown) = AliasedDefinition : +# 2069| mu2069_3(unknown) = InitializeNonLocal : +# 2069| r2069_4(glval) = VariableAddress[a] : +# 2069| mu2069_5(bool) = InitializeParameter[a] : &:r2069_4 +# 2069| r2069_6(glval) = VariableAddress[x] : +# 2069| mu2069_7(TernaryPodObj) = InitializeParameter[x] : &:r2069_6 +# 2069| r2069_8(glval) = VariableAddress[y] : +# 2069| mu2069_9(TernaryPodObj) = InitializeParameter[y] : &:r2069_8 +# 2069| r2069_10(glval) = VariableAddress[z] : +# 2069| mu2069_11(TernaryPodObj) = InitializeParameter[z] : &:r2069_10 +# 2070| r2070_1(glval) = VariableAddress[a] : +# 2070| r2070_2(bool) = Load[a] : &:r2070_1, ~m? +# 2070| v2070_3(void) = ConditionalBranch : r2070_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2056| Block 1 -# 2056| r2056_4(glval) = VariableAddress[#temp2056:9] : -# 2056| r2056_5(TernaryPodObj) = Load[#temp2056:9] : &:r2056_4, ~m? -# 2056| r2056_6(glval) = VariableAddress[z] : -# 2056| mu2056_7(TernaryPodObj) = Store[z] : &:r2056_6, r2056_5 -# 2057| r2057_1(glval) = VariableAddress[#temp2057:9] : -# 2057| r2057_2(glval) = VariableAddress[a] : -# 2057| r2057_3(bool) = Load[a] : &:r2057_2, ~m? -# 2057| v2057_4(void) = ConditionalBranch : r2057_3 +# 2070| Block 1 +# 2070| r2070_4(glval) = VariableAddress[#temp2070:9] : +# 2070| r2070_5(TernaryPodObj) = Load[#temp2070:9] : &:r2070_4, ~m? +# 2070| r2070_6(glval) = VariableAddress[z] : +# 2070| mu2070_7(TernaryPodObj) = Store[z] : &:r2070_6, r2070_5 +# 2071| r2071_1(glval) = VariableAddress[#temp2071:9] : +# 2071| r2071_2(glval) = VariableAddress[a] : +# 2071| r2071_3(bool) = Load[a] : &:r2071_2, ~m? +# 2071| v2071_4(void) = ConditionalBranch : r2071_3 #-----| False -> Block 6 #-----| True -> Block 5 -# 2056| Block 2 -# 2056| r2056_8(glval) = VariableAddress[x] : -# 2056| r2056_9(TernaryPodObj) = Load[x] : &:r2056_8, ~m? -# 2056| r2056_10(glval) = VariableAddress[#temp2056:9] : -# 2056| mu2056_11(TernaryPodObj) = Store[#temp2056:9] : &:r2056_10, r2056_9 +# 2070| Block 2 +# 2070| r2070_8(glval) = VariableAddress[x] : +# 2070| r2070_9(TernaryPodObj) = Load[x] : &:r2070_8, ~m? +# 2070| r2070_10(glval) = VariableAddress[#temp2070:9] : +# 2070| mu2070_11(TernaryPodObj) = Store[#temp2070:9] : &:r2070_10, r2070_9 #-----| Goto -> Block 1 -# 2056| Block 3 -# 2056| r2056_12(glval) = VariableAddress[y] : -# 2056| r2056_13(TernaryPodObj) = Load[y] : &:r2056_12, ~m? -# 2056| r2056_14(glval) = VariableAddress[#temp2056:9] : -# 2056| mu2056_15(TernaryPodObj) = Store[#temp2056:9] : &:r2056_14, r2056_13 +# 2070| Block 3 +# 2070| r2070_12(glval) = VariableAddress[y] : +# 2070| r2070_13(TernaryPodObj) = Load[y] : &:r2070_12, ~m? +# 2070| r2070_14(glval) = VariableAddress[#temp2070:9] : +# 2070| mu2070_15(TernaryPodObj) = Store[#temp2070:9] : &:r2070_14, r2070_13 #-----| Goto -> Block 1 -# 2057| Block 4 -# 2057| r2057_5(glval) = VariableAddress[#temp2057:9] : -# 2057| r2057_6(TernaryPodObj) = Load[#temp2057:9] : &:r2057_5, ~m? -# 2057| mu2057_7(TernaryPodObj) = Store[#temp2057:9] : &:r2057_1, r2057_6 -# 2057| r2057_8(TernaryPodObj) = Load[#temp2057:9] : &:r2057_1, ~m? -# 2057| r2057_9(glval) = VariableAddress[z] : -# 2057| mu2057_10(TernaryPodObj) = Store[z] : &:r2057_9, r2057_8 -# 2058| r2058_1(glval) = VariableAddress[#temp2058:9] : -# 2058| r2058_2(glval) = VariableAddress[a] : -# 2058| r2058_3(bool) = Load[a] : &:r2058_2, ~m? -# 2058| v2058_4(void) = ConditionalBranch : r2058_3 +# 2071| Block 4 +# 2071| r2071_5(glval) = VariableAddress[#temp2071:9] : +# 2071| r2071_6(TernaryPodObj) = Load[#temp2071:9] : &:r2071_5, ~m? +# 2071| mu2071_7(TernaryPodObj) = Store[#temp2071:9] : &:r2071_1, r2071_6 +# 2071| r2071_8(TernaryPodObj) = Load[#temp2071:9] : &:r2071_1, ~m? +# 2071| r2071_9(glval) = VariableAddress[z] : +# 2071| mu2071_10(TernaryPodObj) = Store[z] : &:r2071_9, r2071_8 +# 2072| r2072_1(glval) = VariableAddress[#temp2072:9] : +# 2072| r2072_2(glval) = VariableAddress[a] : +# 2072| r2072_3(bool) = Load[a] : &:r2072_2, ~m? +# 2072| v2072_4(void) = ConditionalBranch : r2072_3 #-----| False -> Block 9 #-----| True -> Block 8 -# 2057| Block 5 -# 2057| r2057_11(glval) = VariableAddress[#temp2057:13] : -# 2057| r2057_12(glval) = VariableAddress[x] : -# 2057| r2057_13(TernaryPodObj) = Load[x] : &:r2057_12, ~m? -# 2057| mu2057_14(TernaryPodObj) = Store[#temp2057:13] : &:r2057_11, r2057_13 -# 2057| r2057_15(TernaryPodObj) = Load[#temp2057:13] : &:r2057_11, ~m? -# 2057| r2057_16(glval) = VariableAddress[#temp2057:9] : -# 2057| mu2057_17(TernaryPodObj) = Store[#temp2057:9] : &:r2057_16, r2057_15 +# 2071| Block 5 +# 2071| r2071_11(glval) = VariableAddress[#temp2071:13] : +# 2071| r2071_12(glval) = VariableAddress[x] : +# 2071| r2071_13(TernaryPodObj) = Load[x] : &:r2071_12, ~m? +# 2071| mu2071_14(TernaryPodObj) = Store[#temp2071:13] : &:r2071_11, r2071_13 +# 2071| r2071_15(TernaryPodObj) = Load[#temp2071:13] : &:r2071_11, ~m? +# 2071| r2071_16(glval) = VariableAddress[#temp2071:9] : +# 2071| mu2071_17(TernaryPodObj) = Store[#temp2071:9] : &:r2071_16, r2071_15 #-----| Goto -> Block 4 -# 2057| Block 6 -# 2057| r2057_18(glval) = VariableAddress[#temp2057:17] : -# 2057| r2057_19(TernaryPodObj) = Constant[0] : -# 2057| mu2057_20(TernaryPodObj) = Store[#temp2057:17] : &:r2057_18, r2057_19 -# 2057| r2057_21(TernaryPodObj) = Load[#temp2057:17] : &:r2057_18, ~m? -# 2057| r2057_22(glval) = VariableAddress[#temp2057:9] : -# 2057| mu2057_23(TernaryPodObj) = Store[#temp2057:9] : &:r2057_22, r2057_21 +# 2071| Block 6 +# 2071| r2071_18(glval) = VariableAddress[#temp2071:17] : +# 2071| r2071_19(TernaryPodObj) = Constant[0] : +# 2071| mu2071_20(TernaryPodObj) = Store[#temp2071:17] : &:r2071_18, r2071_19 +# 2071| r2071_21(TernaryPodObj) = Load[#temp2071:17] : &:r2071_18, ~m? +# 2071| r2071_22(glval) = VariableAddress[#temp2071:9] : +# 2071| mu2071_23(TernaryPodObj) = Store[#temp2071:9] : &:r2071_22, r2071_21 #-----| Goto -> Block 4 -# 2058| Block 7 -# 2058| r2058_5(glval) = VariableAddress[#temp2058:9] : -# 2058| r2058_6(TernaryPodObj) = Load[#temp2058:9] : &:r2058_5, ~m? -# 2058| mu2058_7(TernaryPodObj) = Store[#temp2058:9] : &:r2058_1, r2058_6 -# 2058| r2058_8(TernaryPodObj) = Load[#temp2058:9] : &:r2058_1, ~m? -# 2058| r2058_9(glval) = VariableAddress[z] : -# 2058| mu2058_10(TernaryPodObj) = Store[z] : &:r2058_9, r2058_8 -# 2059| r2059_1(glval) = VariableAddress[#temp2059:23] : -# 2059| r2059_2(TernaryPodObj) = Constant[0] : -# 2059| mu2059_3(TernaryPodObj) = Store[#temp2059:23] : &:r2059_1, r2059_2 -# 2059| r2059_4(TernaryPodObj) = Load[#temp2059:23] : &:r2059_1, ~m? -# 2059| r2059_5(glval) = VariableAddress[a] : -# 2059| r2059_6(bool) = Load[a] : &:r2059_5, ~m? -# 2059| v2059_7(void) = ConditionalBranch : r2059_6 +# 2072| Block 7 +# 2072| r2072_5(glval) = VariableAddress[#temp2072:9] : +# 2072| r2072_6(TernaryPodObj) = Load[#temp2072:9] : &:r2072_5, ~m? +# 2072| mu2072_7(TernaryPodObj) = Store[#temp2072:9] : &:r2072_1, r2072_6 +# 2072| r2072_8(TernaryPodObj) = Load[#temp2072:9] : &:r2072_1, ~m? +# 2072| r2072_9(glval) = VariableAddress[z] : +# 2072| mu2072_10(TernaryPodObj) = Store[z] : &:r2072_9, r2072_8 +# 2073| r2073_1(glval) = VariableAddress[#temp2073:23] : +# 2073| r2073_2(TernaryPodObj) = Constant[0] : +# 2073| mu2073_3(TernaryPodObj) = Store[#temp2073:23] : &:r2073_1, r2073_2 +# 2073| r2073_4(TernaryPodObj) = Load[#temp2073:23] : &:r2073_1, ~m? +# 2073| r2073_5(glval) = VariableAddress[a] : +# 2073| r2073_6(bool) = Load[a] : &:r2073_5, ~m? +# 2073| v2073_7(void) = ConditionalBranch : r2073_6 #-----| False -> Block 12 #-----| True -> Block 11 -# 2058| Block 8 -# 2058| r2058_11(glval) = VariableAddress[#temp2058:13] : -# 2058| r2058_12(TernaryPodObj) = Constant[0] : -# 2058| mu2058_13(TernaryPodObj) = Store[#temp2058:13] : &:r2058_11, r2058_12 -# 2058| r2058_14(TernaryPodObj) = Load[#temp2058:13] : &:r2058_11, ~m? -# 2058| r2058_15(glval) = VariableAddress[#temp2058:9] : -# 2058| mu2058_16(TernaryPodObj) = Store[#temp2058:9] : &:r2058_15, r2058_14 +# 2072| Block 8 +# 2072| r2072_11(glval) = VariableAddress[#temp2072:13] : +# 2072| r2072_12(TernaryPodObj) = Constant[0] : +# 2072| mu2072_13(TernaryPodObj) = Store[#temp2072:13] : &:r2072_11, r2072_12 +# 2072| r2072_14(TernaryPodObj) = Load[#temp2072:13] : &:r2072_11, ~m? +# 2072| r2072_15(glval) = VariableAddress[#temp2072:9] : +# 2072| mu2072_16(TernaryPodObj) = Store[#temp2072:9] : &:r2072_15, r2072_14 #-----| Goto -> Block 7 -# 2058| Block 9 -# 2058| r2058_17(glval) = VariableAddress[#temp2058:31] : -# 2058| r2058_18(TernaryPodObj) = Constant[0] : -# 2058| mu2058_19(TernaryPodObj) = Store[#temp2058:31] : &:r2058_17, r2058_18 -# 2058| r2058_20(TernaryPodObj) = Load[#temp2058:31] : &:r2058_17, ~m? -# 2058| r2058_21(glval) = VariableAddress[#temp2058:9] : -# 2058| mu2058_22(TernaryPodObj) = Store[#temp2058:9] : &:r2058_21, r2058_20 +# 2072| Block 9 +# 2072| r2072_17(glval) = VariableAddress[#temp2072:31] : +# 2072| r2072_18(TernaryPodObj) = Constant[0] : +# 2072| mu2072_19(TernaryPodObj) = Store[#temp2072:31] : &:r2072_17, r2072_18 +# 2072| r2072_20(TernaryPodObj) = Load[#temp2072:31] : &:r2072_17, ~m? +# 2072| r2072_21(glval) = VariableAddress[#temp2072:9] : +# 2072| mu2072_22(TernaryPodObj) = Store[#temp2072:9] : &:r2072_21, r2072_20 #-----| Goto -> Block 7 -# 2059| Block 10 -# 2059| r2059_8(glval) = VariableAddress[#temp2059:10] : -# 2059| r2059_9(TernaryPodObj) = Load[#temp2059:10] : &:r2059_8, ~m? -# 2059| r2059_10(glval) = VariableAddress[z] : -# 2059| mu2059_11(TernaryPodObj) = Store[z] : &:r2059_10, r2059_9 -# 2059| r2059_12(glval) = CopyValue : r2059_10 -# 2059| mu2059_13(TernaryPodObj) = Store[?] : &:r2059_12, r2059_4 -# 2060| v2060_1(void) = NoOp : -# 2055| v2055_12(void) = ReturnVoid : -# 2055| v2055_13(void) = AliasedUse : ~m? -# 2055| v2055_14(void) = ExitFunction : - -# 2059| Block 11 -# 2059| r2059_14(glval) = VariableAddress[x] : -# 2059| r2059_15(TernaryPodObj) = Load[x] : &:r2059_14, ~m? -# 2059| r2059_16(glval) = VariableAddress[#temp2059:10] : -# 2059| mu2059_17(TernaryPodObj) = Store[#temp2059:10] : &:r2059_16, r2059_15 +# 2073| Block 10 +# 2073| r2073_8(glval) = VariableAddress[#temp2073:10] : +# 2073| r2073_9(TernaryPodObj) = Load[#temp2073:10] : &:r2073_8, ~m? +# 2073| r2073_10(glval) = VariableAddress[z] : +# 2073| mu2073_11(TernaryPodObj) = Store[z] : &:r2073_10, r2073_9 +# 2073| r2073_12(glval) = CopyValue : r2073_10 +# 2073| mu2073_13(TernaryPodObj) = Store[?] : &:r2073_12, r2073_4 +# 2074| v2074_1(void) = NoOp : +# 2069| v2069_12(void) = ReturnVoid : +# 2069| v2069_13(void) = AliasedUse : ~m? +# 2069| v2069_14(void) = ExitFunction : + +# 2073| Block 11 +# 2073| r2073_14(glval) = VariableAddress[x] : +# 2073| r2073_15(TernaryPodObj) = Load[x] : &:r2073_14, ~m? +# 2073| r2073_16(glval) = VariableAddress[#temp2073:10] : +# 2073| mu2073_17(TernaryPodObj) = Store[#temp2073:10] : &:r2073_16, r2073_15 #-----| Goto -> Block 10 -# 2059| Block 12 -# 2059| r2059_18(glval) = VariableAddress[y] : -# 2059| r2059_19(TernaryPodObj) = Load[y] : &:r2059_18, ~m? -# 2059| r2059_20(glval) = VariableAddress[#temp2059:10] : -# 2059| mu2059_21(TernaryPodObj) = Store[#temp2059:10] : &:r2059_20, r2059_19 +# 2073| Block 12 +# 2073| r2073_18(glval) = VariableAddress[y] : +# 2073| r2073_19(TernaryPodObj) = Load[y] : &:r2073_18, ~m? +# 2073| r2073_20(glval) = VariableAddress[#temp2073:10] : +# 2073| mu2073_21(TernaryPodObj) = Store[#temp2073:10] : &:r2073_20, r2073_19 #-----| Goto -> Block 10 -# 2062| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) -# 2062| Block 0 -# 2062| v2062_1(void) = EnterFunction : -# 2062| mu2062_2(unknown) = AliasedDefinition : -# 2062| mu2062_3(unknown) = InitializeNonLocal : -# 2062| r2062_4(glval) = VariableAddress[#this] : -# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 -# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? -# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 +# 2076| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&) +# 2076| Block 0 +# 2076| v2076_1(void) = EnterFunction : +# 2076| mu2076_2(unknown) = AliasedDefinition : +# 2076| mu2076_3(unknown) = InitializeNonLocal : +# 2076| r2076_4(glval) = VariableAddress[#this] : +# 2076| mu2076_5(glval) = InitializeParameter[#this] : &:r2076_4 +# 2076| r2076_6(glval) = Load[#this] : &:r2076_4, ~m? +# 2076| mu2076_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_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? @@ -11517,2813 +11554,2813 @@ ir.cpp: #-----| r0_8(glval) = CopyValue : r0_7 #-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8 #-----| mu0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9 -# 2062| v2062_8(void) = ReturnIndirection[#this] : &:r2062_6, ~m? +# 2076| v2076_8(void) = ReturnIndirection[#this] : &:r2076_6, ~m? #-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2062| r2062_9(glval) = VariableAddress[#return] : -# 2062| v2062_10(void) = ReturnValue : &:r2062_9, ~m? -# 2062| v2062_11(void) = AliasedUse : ~m? -# 2062| v2062_12(void) = ExitFunction : - -# 2062| void TernaryNonPodObj::TernaryNonPodObj() -# 2062| Block 0 -# 2062| v2062_1(void) = EnterFunction : -# 2062| mu2062_2(unknown) = AliasedDefinition : -# 2062| mu2062_3(unknown) = InitializeNonLocal : -# 2062| r2062_4(glval) = VariableAddress[#this] : -# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 -# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? -# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 -# 2062| v2062_8(void) = NoOp : -# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_6, ~m? -# 2062| v2062_10(void) = ReturnVoid : -# 2062| v2062_11(void) = AliasedUse : ~m? -# 2062| v2062_12(void) = ExitFunction : - -# 2062| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) -# 2062| Block 0 -# 2062| v2062_1(void) = EnterFunction : -# 2062| mu2062_2(unknown) = AliasedDefinition : -# 2062| mu2062_3(unknown) = InitializeNonLocal : -# 2062| r2062_4(glval) = VariableAddress[#this] : -# 2062| mu2062_5(glval) = InitializeParameter[#this] : &:r2062_4 -# 2062| r2062_6(glval) = Load[#this] : &:r2062_4, ~m? -# 2062| mu2062_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2062_6 +# 2076| r2076_9(glval) = VariableAddress[#return] : +# 2076| v2076_10(void) = ReturnValue : &:r2076_9, ~m? +# 2076| v2076_11(void) = AliasedUse : ~m? +# 2076| v2076_12(void) = ExitFunction : + +# 2076| void TernaryNonPodObj::TernaryNonPodObj() +# 2076| Block 0 +# 2076| v2076_1(void) = EnterFunction : +# 2076| mu2076_2(unknown) = AliasedDefinition : +# 2076| mu2076_3(unknown) = InitializeNonLocal : +# 2076| r2076_4(glval) = VariableAddress[#this] : +# 2076| mu2076_5(glval) = InitializeParameter[#this] : &:r2076_4 +# 2076| r2076_6(glval) = Load[#this] : &:r2076_4, ~m? +# 2076| mu2076_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_6 +# 2076| v2076_8(void) = NoOp : +# 2076| v2076_9(void) = ReturnIndirection[#this] : &:r2076_6, ~m? +# 2076| v2076_10(void) = ReturnVoid : +# 2076| v2076_11(void) = AliasedUse : ~m? +# 2076| v2076_12(void) = ExitFunction : + +# 2076| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&) +# 2076| Block 0 +# 2076| v2076_1(void) = EnterFunction : +# 2076| mu2076_2(unknown) = AliasedDefinition : +# 2076| mu2076_3(unknown) = InitializeNonLocal : +# 2076| r2076_4(glval) = VariableAddress[#this] : +# 2076| mu2076_5(glval) = InitializeParameter[#this] : &:r2076_4 +# 2076| r2076_6(glval) = Load[#this] : &:r2076_4, ~m? +# 2076| mu2076_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2076_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 -# 2062| v2062_8(void) = NoOp : -# 2062| v2062_9(void) = ReturnIndirection[#this] : &:r2062_6, ~m? +# 2076| v2076_8(void) = NoOp : +# 2076| v2076_9(void) = ReturnIndirection[#this] : &:r2076_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2062| v2062_10(void) = ReturnVoid : -# 2062| v2062_11(void) = AliasedUse : ~m? -# 2062| v2062_12(void) = ExitFunction : - -# 2063| void TernaryNonPodObj::~TernaryNonPodObj() -# 2063| Block 0 -# 2063| v2063_1(void) = EnterFunction : -# 2063| mu2063_2(unknown) = AliasedDefinition : -# 2063| mu2063_3(unknown) = InitializeNonLocal : -# 2063| r2063_4(glval) = VariableAddress[#this] : -# 2063| mu2063_5(glval) = InitializeParameter[#this] : &:r2063_4 -# 2063| r2063_6(glval) = Load[#this] : &:r2063_4, ~m? -# 2063| mu2063_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2063_6 -# 2063| v2063_8(void) = NoOp : -# 2063| v2063_9(void) = ReturnIndirection[#this] : &:r2063_6, ~m? -# 2063| v2063_10(void) = ReturnVoid : -# 2063| v2063_11(void) = AliasedUse : ~m? -# 2063| v2063_12(void) = ExitFunction : - -# 2066| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) -# 2066| Block 0 -# 2066| v2066_1(void) = EnterFunction : -# 2066| mu2066_2(unknown) = AliasedDefinition : -# 2066| mu2066_3(unknown) = InitializeNonLocal : -# 2066| r2066_4(glval) = VariableAddress[a] : -# 2066| mu2066_5(bool) = InitializeParameter[a] : &:r2066_4 -# 2066| r2066_6(glval) = VariableAddress[x] : -# 2066| mu2066_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2066_6 -# 2066| r2066_8(glval) = VariableAddress[y] : -# 2066| mu2066_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2066_8 -# 2066| r2066_10(glval) = VariableAddress[z] : -# 2066| mu2066_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2066_10 -# 2067| r2067_1(glval) = VariableAddress[z] : -# 2067| r2067_2(glval) = FunctionAddress[operator=] : -# 2067| r2067_3(glval) = VariableAddress[a] : -# 2067| r2067_4(bool) = Load[a] : &:r2067_3, ~m? -# 2067| v2067_5(void) = ConditionalBranch : r2067_4 +# 2076| v2076_10(void) = ReturnVoid : +# 2076| v2076_11(void) = AliasedUse : ~m? +# 2076| v2076_12(void) = ExitFunction : + +# 2077| void TernaryNonPodObj::~TernaryNonPodObj() +# 2077| Block 0 +# 2077| v2077_1(void) = EnterFunction : +# 2077| mu2077_2(unknown) = AliasedDefinition : +# 2077| mu2077_3(unknown) = InitializeNonLocal : +# 2077| r2077_4(glval) = VariableAddress[#this] : +# 2077| mu2077_5(glval) = InitializeParameter[#this] : &:r2077_4 +# 2077| r2077_6(glval) = Load[#this] : &:r2077_4, ~m? +# 2077| mu2077_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2077_6 +# 2077| v2077_8(void) = NoOp : +# 2077| v2077_9(void) = ReturnIndirection[#this] : &:r2077_6, ~m? +# 2077| v2077_10(void) = ReturnVoid : +# 2077| v2077_11(void) = AliasedUse : ~m? +# 2077| v2077_12(void) = ExitFunction : + +# 2080| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj) +# 2080| Block 0 +# 2080| v2080_1(void) = EnterFunction : +# 2080| mu2080_2(unknown) = AliasedDefinition : +# 2080| mu2080_3(unknown) = InitializeNonLocal : +# 2080| r2080_4(glval) = VariableAddress[a] : +# 2080| mu2080_5(bool) = InitializeParameter[a] : &:r2080_4 +# 2080| r2080_6(glval) = VariableAddress[x] : +# 2080| mu2080_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2080_6 +# 2080| r2080_8(glval) = VariableAddress[y] : +# 2080| mu2080_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2080_8 +# 2080| r2080_10(glval) = VariableAddress[z] : +# 2080| mu2080_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2080_10 +# 2081| r2081_1(glval) = VariableAddress[z] : +# 2081| r2081_2(glval) = FunctionAddress[operator=] : +# 2081| r2081_3(glval) = VariableAddress[a] : +# 2081| r2081_4(bool) = Load[a] : &:r2081_3, ~m? +# 2081| v2081_5(void) = ConditionalBranch : r2081_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2067| Block 1 -# 2067| r2067_6(glval) = VariableAddress[#temp2067:9] : -# 2067| r2067_7(glval) = Load[#temp2067:9] : &:r2067_6, ~m? -# 2067| r2067_8(glval) = Convert : r2067_7 -# 2067| r2067_9(TernaryNonPodObj &) = CopyValue : r2067_8 -# 2067| r2067_10(TernaryNonPodObj &) = Call[operator=] : func:r2067_2, this:r2067_1, 0:r2067_9 -# 2067| mu2067_11(unknown) = ^CallSideEffect : ~m? -# 2067| v2067_12(void) = ^IndirectReadSideEffect[-1] : &:r2067_1, ~m? -# 2067| v2067_13(void) = ^BufferReadSideEffect[0] : &:r2067_9, ~m? -# 2067| mu2067_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2067_1 -# 2067| r2067_15(glval) = CopyValue : r2067_10 -# 2068| r2068_1(glval) = VariableAddress[z] : -# 2068| r2068_2(glval) = FunctionAddress[operator=] : -# 2068| r2068_3(glval) = VariableAddress[#temp2068:9] : -# 2068| r2068_4(glval) = VariableAddress[a] : -# 2068| r2068_5(bool) = Load[a] : &:r2068_4, ~m? -# 2068| v2068_6(void) = ConditionalBranch : r2068_5 +# 2081| Block 1 +# 2081| r2081_6(glval) = VariableAddress[#temp2081:9] : +# 2081| r2081_7(glval) = Load[#temp2081:9] : &:r2081_6, ~m? +# 2081| r2081_8(glval) = Convert : r2081_7 +# 2081| r2081_9(TernaryNonPodObj &) = CopyValue : r2081_8 +# 2081| r2081_10(TernaryNonPodObj &) = Call[operator=] : func:r2081_2, this:r2081_1, 0:r2081_9 +# 2081| mu2081_11(unknown) = ^CallSideEffect : ~m? +# 2081| v2081_12(void) = ^IndirectReadSideEffect[-1] : &:r2081_1, ~m? +# 2081| v2081_13(void) = ^BufferReadSideEffect[0] : &:r2081_9, ~m? +# 2081| mu2081_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2081_1 +# 2081| r2081_15(glval) = CopyValue : r2081_10 +# 2082| r2082_1(glval) = VariableAddress[z] : +# 2082| r2082_2(glval) = FunctionAddress[operator=] : +# 2082| r2082_3(glval) = VariableAddress[#temp2082:9] : +# 2082| r2082_4(glval) = VariableAddress[a] : +# 2082| r2082_5(bool) = Load[a] : &:r2082_4, ~m? +# 2082| v2082_6(void) = ConditionalBranch : r2082_5 #-----| False -> Block 6 #-----| True -> Block 5 -# 2067| Block 2 -# 2067| r2067_16(glval) = VariableAddress[x] : -# 2067| r2067_17(glval) = VariableAddress[#temp2067:9] : -# 2067| mu2067_18(glval) = Store[#temp2067:9] : &:r2067_17, r2067_16 +# 2081| Block 2 +# 2081| r2081_16(glval) = VariableAddress[x] : +# 2081| r2081_17(glval) = VariableAddress[#temp2081:9] : +# 2081| mu2081_18(glval) = Store[#temp2081:9] : &:r2081_17, r2081_16 #-----| Goto -> Block 1 -# 2067| Block 3 -# 2067| r2067_19(glval) = VariableAddress[y] : -# 2067| r2067_20(glval) = VariableAddress[#temp2067:9] : -# 2067| mu2067_21(glval) = Store[#temp2067:9] : &:r2067_20, r2067_19 +# 2081| Block 3 +# 2081| r2081_19(glval) = VariableAddress[y] : +# 2081| r2081_20(glval) = VariableAddress[#temp2081:9] : +# 2081| mu2081_21(glval) = Store[#temp2081:9] : &:r2081_20, r2081_19 #-----| Goto -> Block 1 -# 2068| Block 4 -# 2068| r2068_7(glval) = VariableAddress[#temp2068:9] : -# 2068| r2068_8(TernaryNonPodObj) = Load[#temp2068:9] : &:r2068_7, ~m? -# 2068| mu2068_9(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_3, r2068_8 -# 2068| r2068_10(glval) = Convert : r2068_3 -# 2068| r2068_11(TernaryNonPodObj &) = CopyValue : r2068_10 -# 2068| r2068_12(TernaryNonPodObj &) = Call[operator=] : func:r2068_2, this:r2068_1, 0:r2068_11 -# 2068| mu2068_13(unknown) = ^CallSideEffect : ~m? -# 2068| v2068_14(void) = ^IndirectReadSideEffect[-1] : &:r2068_1, ~m? -# 2068| v2068_15(void) = ^BufferReadSideEffect[0] : &:r2068_11, ~m? -# 2068| mu2068_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_1 -# 2068| r2068_17(glval) = CopyValue : r2068_12 -# 2069| r2069_1(glval) = VariableAddress[z] : -# 2069| r2069_2(glval) = FunctionAddress[operator=] : -# 2069| r2069_3(glval) = VariableAddress[#temp2069:9] : -# 2069| r2069_4(glval) = VariableAddress[a] : -# 2069| r2069_5(bool) = Load[a] : &:r2069_4, ~m? -# 2069| v2069_6(void) = ConditionalBranch : r2069_5 +# 2082| Block 4 +# 2082| r2082_7(glval) = VariableAddress[#temp2082:9] : +# 2082| r2082_8(TernaryNonPodObj) = Load[#temp2082:9] : &:r2082_7, ~m? +# 2082| mu2082_9(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_3, r2082_8 +# 2082| r2082_10(glval) = Convert : r2082_3 +# 2082| r2082_11(TernaryNonPodObj &) = CopyValue : r2082_10 +# 2082| r2082_12(TernaryNonPodObj &) = Call[operator=] : func:r2082_2, this:r2082_1, 0:r2082_11 +# 2082| mu2082_13(unknown) = ^CallSideEffect : ~m? +# 2082| v2082_14(void) = ^IndirectReadSideEffect[-1] : &:r2082_1, ~m? +# 2082| v2082_15(void) = ^BufferReadSideEffect[0] : &:r2082_11, ~m? +# 2082| mu2082_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_1 +# 2082| r2082_17(glval) = CopyValue : r2082_12 +# 2083| r2083_1(glval) = VariableAddress[z] : +# 2083| r2083_2(glval) = FunctionAddress[operator=] : +# 2083| r2083_3(glval) = VariableAddress[#temp2083:9] : +# 2083| r2083_4(glval) = VariableAddress[a] : +# 2083| r2083_5(bool) = Load[a] : &:r2083_4, ~m? +# 2083| v2083_6(void) = ConditionalBranch : r2083_5 #-----| False -> Block 9 #-----| True -> Block 8 -# 2068| Block 5 -# 2068| r2068_18(glval) = VariableAddress[#temp2068:13] : -# 2068| mu2068_19(TernaryNonPodObj) = Uninitialized[#temp2068:13] : &:r2068_18 -# 2068| r2068_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2068| r2068_21(glval) = VariableAddress[x] : -# 2068| r2068_22(glval) = Convert : r2068_21 -# 2068| r2068_23(TernaryNonPodObj &) = CopyValue : r2068_22 -# 2068| v2068_24(void) = Call[TernaryNonPodObj] : func:r2068_20, this:r2068_18, 0:r2068_23 -# 2068| mu2068_25(unknown) = ^CallSideEffect : ~m? -# 2068| v2068_26(void) = ^BufferReadSideEffect[0] : &:r2068_23, ~m? -# 2068| mu2068_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_18 -# 2068| r2068_28(TernaryNonPodObj) = Load[#temp2068:13] : &:r2068_18, ~m? -# 2068| r2068_29(glval) = VariableAddress[#temp2068:9] : -# 2068| mu2068_30(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_29, r2068_28 +# 2082| Block 5 +# 2082| r2082_18(glval) = VariableAddress[#temp2082:13] : +# 2082| mu2082_19(TernaryNonPodObj) = Uninitialized[#temp2082:13] : &:r2082_18 +# 2082| r2082_20(glval) = FunctionAddress[TernaryNonPodObj] : +# 2082| r2082_21(glval) = VariableAddress[x] : +# 2082| r2082_22(glval) = Convert : r2082_21 +# 2082| r2082_23(TernaryNonPodObj &) = CopyValue : r2082_22 +# 2082| v2082_24(void) = Call[TernaryNonPodObj] : func:r2082_20, this:r2082_18, 0:r2082_23 +# 2082| mu2082_25(unknown) = ^CallSideEffect : ~m? +# 2082| v2082_26(void) = ^BufferReadSideEffect[0] : &:r2082_23, ~m? +# 2082| mu2082_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_18 +# 2082| r2082_28(TernaryNonPodObj) = Load[#temp2082:13] : &:r2082_18, ~m? +# 2082| r2082_29(glval) = VariableAddress[#temp2082:9] : +# 2082| mu2082_30(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_29, r2082_28 #-----| Goto -> Block 4 -# 2068| Block 6 -# 2068| r2068_31(glval) = VariableAddress[#temp2068:17] : -# 2068| mu2068_32(TernaryNonPodObj) = Uninitialized[#temp2068:17] : &:r2068_31 -# 2068| r2068_33(glval) = FunctionAddress[TernaryNonPodObj] : -# 2068| v2068_34(void) = Call[TernaryNonPodObj] : func:r2068_33, this:r2068_31 -# 2068| mu2068_35(unknown) = ^CallSideEffect : ~m? -# 2068| mu2068_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2068_31 -# 2068| r2068_37(TernaryNonPodObj) = Load[#temp2068:17] : &:r2068_31, ~m? -# 2068| r2068_38(glval) = VariableAddress[#temp2068:9] : -# 2068| mu2068_39(TernaryNonPodObj) = Store[#temp2068:9] : &:r2068_38, r2068_37 +# 2082| Block 6 +# 2082| r2082_31(glval) = VariableAddress[#temp2082:17] : +# 2082| mu2082_32(TernaryNonPodObj) = Uninitialized[#temp2082:17] : &:r2082_31 +# 2082| r2082_33(glval) = FunctionAddress[TernaryNonPodObj] : +# 2082| v2082_34(void) = Call[TernaryNonPodObj] : func:r2082_33, this:r2082_31 +# 2082| mu2082_35(unknown) = ^CallSideEffect : ~m? +# 2082| mu2082_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2082_31 +# 2082| r2082_37(TernaryNonPodObj) = Load[#temp2082:17] : &:r2082_31, ~m? +# 2082| r2082_38(glval) = VariableAddress[#temp2082:9] : +# 2082| mu2082_39(TernaryNonPodObj) = Store[#temp2082:9] : &:r2082_38, r2082_37 #-----| Goto -> Block 4 -# 2069| Block 7 -# 2069| r2069_7(glval) = VariableAddress[#temp2069:9] : -# 2069| r2069_8(TernaryNonPodObj) = Load[#temp2069:9] : &:r2069_7, ~m? -# 2069| mu2069_9(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_3, r2069_8 -# 2069| r2069_10(glval) = Convert : r2069_3 -# 2069| r2069_11(TernaryNonPodObj &) = CopyValue : r2069_10 -# 2069| r2069_12(TernaryNonPodObj &) = Call[operator=] : func:r2069_2, this:r2069_1, 0:r2069_11 -# 2069| mu2069_13(unknown) = ^CallSideEffect : ~m? -# 2069| v2069_14(void) = ^IndirectReadSideEffect[-1] : &:r2069_1, ~m? -# 2069| v2069_15(void) = ^BufferReadSideEffect[0] : &:r2069_11, ~m? -# 2069| mu2069_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_1 -# 2069| r2069_17(glval) = CopyValue : r2069_12 -# 2070| r2070_1(glval) = VariableAddress[z] : -# 2070| r2070_2(glval) = FunctionAddress[operator=] : -# 2070| r2070_3(glval) = VariableAddress[a] : -# 2070| r2070_4(bool) = Load[a] : &:r2070_3, ~m? -# 2070| v2070_5(void) = ConditionalBranch : r2070_4 +# 2083| Block 7 +# 2083| r2083_7(glval) = VariableAddress[#temp2083:9] : +# 2083| r2083_8(TernaryNonPodObj) = Load[#temp2083:9] : &:r2083_7, ~m? +# 2083| mu2083_9(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_3, r2083_8 +# 2083| r2083_10(glval) = Convert : r2083_3 +# 2083| r2083_11(TernaryNonPodObj &) = CopyValue : r2083_10 +# 2083| r2083_12(TernaryNonPodObj &) = Call[operator=] : func:r2083_2, this:r2083_1, 0:r2083_11 +# 2083| mu2083_13(unknown) = ^CallSideEffect : ~m? +# 2083| v2083_14(void) = ^IndirectReadSideEffect[-1] : &:r2083_1, ~m? +# 2083| v2083_15(void) = ^BufferReadSideEffect[0] : &:r2083_11, ~m? +# 2083| mu2083_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_1 +# 2083| r2083_17(glval) = CopyValue : r2083_12 +# 2084| r2084_1(glval) = VariableAddress[z] : +# 2084| r2084_2(glval) = FunctionAddress[operator=] : +# 2084| r2084_3(glval) = VariableAddress[a] : +# 2084| r2084_4(bool) = Load[a] : &:r2084_3, ~m? +# 2084| v2084_5(void) = ConditionalBranch : r2084_4 #-----| False -> Block 12 #-----| True -> Block 11 -# 2069| Block 8 -# 2069| r2069_18(glval) = VariableAddress[#temp2069:13] : -# 2069| mu2069_19(TernaryNonPodObj) = Uninitialized[#temp2069:13] : &:r2069_18 -# 2069| r2069_20(glval) = FunctionAddress[TernaryNonPodObj] : -# 2069| v2069_21(void) = Call[TernaryNonPodObj] : func:r2069_20, this:r2069_18 -# 2069| mu2069_22(unknown) = ^CallSideEffect : ~m? -# 2069| mu2069_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_18 -# 2069| r2069_24(TernaryNonPodObj) = Load[#temp2069:13] : &:r2069_18, ~m? -# 2069| r2069_25(glval) = VariableAddress[#temp2069:9] : -# 2069| mu2069_26(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_25, r2069_24 +# 2083| Block 8 +# 2083| r2083_18(glval) = VariableAddress[#temp2083:13] : +# 2083| mu2083_19(TernaryNonPodObj) = Uninitialized[#temp2083:13] : &:r2083_18 +# 2083| r2083_20(glval) = FunctionAddress[TernaryNonPodObj] : +# 2083| v2083_21(void) = Call[TernaryNonPodObj] : func:r2083_20, this:r2083_18 +# 2083| mu2083_22(unknown) = ^CallSideEffect : ~m? +# 2083| mu2083_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_18 +# 2083| r2083_24(TernaryNonPodObj) = Load[#temp2083:13] : &:r2083_18, ~m? +# 2083| r2083_25(glval) = VariableAddress[#temp2083:9] : +# 2083| mu2083_26(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_25, r2083_24 #-----| Goto -> Block 7 -# 2069| Block 9 -# 2069| r2069_27(glval) = VariableAddress[#temp2069:34] : -# 2069| mu2069_28(TernaryNonPodObj) = Uninitialized[#temp2069:34] : &:r2069_27 -# 2069| r2069_29(glval) = FunctionAddress[TernaryNonPodObj] : -# 2069| v2069_30(void) = Call[TernaryNonPodObj] : func:r2069_29, this:r2069_27 -# 2069| mu2069_31(unknown) = ^CallSideEffect : ~m? -# 2069| mu2069_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2069_27 -# 2069| r2069_33(TernaryNonPodObj) = Load[#temp2069:34] : &:r2069_27, ~m? -# 2069| r2069_34(glval) = VariableAddress[#temp2069:9] : -# 2069| mu2069_35(TernaryNonPodObj) = Store[#temp2069:9] : &:r2069_34, r2069_33 +# 2083| Block 9 +# 2083| r2083_27(glval) = VariableAddress[#temp2083:34] : +# 2083| mu2083_28(TernaryNonPodObj) = Uninitialized[#temp2083:34] : &:r2083_27 +# 2083| r2083_29(glval) = FunctionAddress[TernaryNonPodObj] : +# 2083| v2083_30(void) = Call[TernaryNonPodObj] : func:r2083_29, this:r2083_27 +# 2083| mu2083_31(unknown) = ^CallSideEffect : ~m? +# 2083| mu2083_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2083_27 +# 2083| r2083_33(TernaryNonPodObj) = Load[#temp2083:34] : &:r2083_27, ~m? +# 2083| r2083_34(glval) = VariableAddress[#temp2083:9] : +# 2083| mu2083_35(TernaryNonPodObj) = Store[#temp2083:9] : &:r2083_34, r2083_33 #-----| Goto -> Block 7 -# 2070| Block 10 -# 2070| r2070_6(glval) = VariableAddress[#temp2070:10] : -# 2070| r2070_7(glval) = Load[#temp2070:10] : &:r2070_6, ~m? -# 2070| r2070_8(glval) = Convert : r2070_7 -# 2070| r2070_9(TernaryNonPodObj &) = CopyValue : r2070_8 -# 2070| r2070_10(TernaryNonPodObj &) = Call[operator=] : func:r2070_2, this:r2070_1, 0:r2070_9 -# 2070| mu2070_11(unknown) = ^CallSideEffect : ~m? -# 2070| v2070_12(void) = ^IndirectReadSideEffect[-1] : &:r2070_1, ~m? -# 2070| v2070_13(void) = ^BufferReadSideEffect[0] : &:r2070_9, ~m? -# 2070| mu2070_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_1 -# 2070| r2070_15(glval) = CopyValue : r2070_10 -# 2070| r2070_16(glval) = FunctionAddress[operator=] : -# 2070| r2070_17(glval) = VariableAddress[#temp2070:23] : -# 2070| mu2070_18(TernaryNonPodObj) = Uninitialized[#temp2070:23] : &:r2070_17 -# 2070| r2070_19(glval) = FunctionAddress[TernaryNonPodObj] : -# 2070| v2070_20(void) = Call[TernaryNonPodObj] : func:r2070_19, this:r2070_17 -# 2070| mu2070_21(unknown) = ^CallSideEffect : ~m? -# 2070| mu2070_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_17 -# 2070| r2070_23(glval) = Convert : r2070_17 -# 2070| r2070_24(TernaryNonPodObj &) = CopyValue : r2070_23 -# 2070| r2070_25(TernaryNonPodObj &) = Call[operator=] : func:r2070_16, this:r2070_15, 0:r2070_24 -# 2070| mu2070_26(unknown) = ^CallSideEffect : ~m? -# 2070| v2070_27(void) = ^IndirectReadSideEffect[-1] : &:r2070_15, ~m? -# 2070| v2070_28(void) = ^BufferReadSideEffect[0] : &:r2070_24, ~m? -# 2070| mu2070_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2070_15 -# 2070| r2070_30(glval) = CopyValue : r2070_25 -# 2071| v2071_1(void) = NoOp : -# 2066| v2066_12(void) = ReturnVoid : -# 2066| v2066_13(void) = AliasedUse : ~m? -# 2066| v2066_14(void) = ExitFunction : - -# 2070| Block 11 -# 2070| r2070_31(glval) = VariableAddress[x] : -# 2070| r2070_32(glval) = VariableAddress[#temp2070:10] : -# 2070| mu2070_33(glval) = Store[#temp2070:10] : &:r2070_32, r2070_31 +# 2084| Block 10 +# 2084| r2084_6(glval) = VariableAddress[#temp2084:10] : +# 2084| r2084_7(glval) = Load[#temp2084:10] : &:r2084_6, ~m? +# 2084| r2084_8(glval) = Convert : r2084_7 +# 2084| r2084_9(TernaryNonPodObj &) = CopyValue : r2084_8 +# 2084| r2084_10(TernaryNonPodObj &) = Call[operator=] : func:r2084_2, this:r2084_1, 0:r2084_9 +# 2084| mu2084_11(unknown) = ^CallSideEffect : ~m? +# 2084| v2084_12(void) = ^IndirectReadSideEffect[-1] : &:r2084_1, ~m? +# 2084| v2084_13(void) = ^BufferReadSideEffect[0] : &:r2084_9, ~m? +# 2084| mu2084_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_1 +# 2084| r2084_15(glval) = CopyValue : r2084_10 +# 2084| r2084_16(glval) = FunctionAddress[operator=] : +# 2084| r2084_17(glval) = VariableAddress[#temp2084:23] : +# 2084| mu2084_18(TernaryNonPodObj) = Uninitialized[#temp2084:23] : &:r2084_17 +# 2084| r2084_19(glval) = FunctionAddress[TernaryNonPodObj] : +# 2084| v2084_20(void) = Call[TernaryNonPodObj] : func:r2084_19, this:r2084_17 +# 2084| mu2084_21(unknown) = ^CallSideEffect : ~m? +# 2084| mu2084_22(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_17 +# 2084| r2084_23(glval) = Convert : r2084_17 +# 2084| r2084_24(TernaryNonPodObj &) = CopyValue : r2084_23 +# 2084| r2084_25(TernaryNonPodObj &) = Call[operator=] : func:r2084_16, this:r2084_15, 0:r2084_24 +# 2084| mu2084_26(unknown) = ^CallSideEffect : ~m? +# 2084| v2084_27(void) = ^IndirectReadSideEffect[-1] : &:r2084_15, ~m? +# 2084| v2084_28(void) = ^BufferReadSideEffect[0] : &:r2084_24, ~m? +# 2084| mu2084_29(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2084_15 +# 2084| r2084_30(glval) = CopyValue : r2084_25 +# 2085| v2085_1(void) = NoOp : +# 2080| v2080_12(void) = ReturnVoid : +# 2080| v2080_13(void) = AliasedUse : ~m? +# 2080| v2080_14(void) = ExitFunction : + +# 2084| Block 11 +# 2084| r2084_31(glval) = VariableAddress[x] : +# 2084| r2084_32(glval) = VariableAddress[#temp2084:10] : +# 2084| mu2084_33(glval) = Store[#temp2084:10] : &:r2084_32, r2084_31 #-----| Goto -> Block 10 -# 2070| Block 12 -# 2070| r2070_34(glval) = VariableAddress[y] : -# 2070| r2070_35(glval) = VariableAddress[#temp2070:10] : -# 2070| mu2070_36(glval) = Store[#temp2070:10] : &:r2070_35, r2070_34 +# 2084| Block 12 +# 2084| r2084_34(glval) = VariableAddress[y] : +# 2084| r2084_35(glval) = VariableAddress[#temp2084:10] : +# 2084| mu2084_36(glval) = Store[#temp2084:10] : &:r2084_35, r2084_34 #-----| Goto -> Block 10 -# 2075| unsigned int CommaTest(unsigned int) -# 2075| Block 0 -# 2075| v2075_1(void) = EnterFunction : -# 2075| mu2075_2(unknown) = AliasedDefinition : -# 2075| mu2075_3(unknown) = InitializeNonLocal : -# 2075| r2075_4(glval) = VariableAddress[x] : -# 2075| mu2075_5(unsigned int) = InitializeParameter[x] : &:r2075_4 -# 2076| r2076_1(glval) = VariableAddress[y] : -# 2076| mu2076_2(unsigned int) = Uninitialized[y] : &:r2076_1 -# 2077| r2077_1(glval) = VariableAddress[x] : -# 2077| r2077_2(unsigned int) = Load[x] : &:r2077_1, ~m? -# 2077| r2077_3(unsigned int) = Constant[100] : -# 2077| r2077_4(bool) = CompareLT : r2077_2, r2077_3 -# 2077| v2077_5(void) = ConditionalBranch : r2077_4 +# 2089| unsigned int CommaTest(unsigned int) +# 2089| Block 0 +# 2089| v2089_1(void) = EnterFunction : +# 2089| mu2089_2(unknown) = AliasedDefinition : +# 2089| mu2089_3(unknown) = InitializeNonLocal : +# 2089| r2089_4(glval) = VariableAddress[x] : +# 2089| mu2089_5(unsigned int) = InitializeParameter[x] : &:r2089_4 +# 2090| r2090_1(glval) = VariableAddress[y] : +# 2090| mu2090_2(unsigned int) = Uninitialized[y] : &:r2090_1 +# 2091| r2091_1(glval) = VariableAddress[x] : +# 2091| r2091_2(unsigned int) = Load[x] : &:r2091_1, ~m? +# 2091| r2091_3(unsigned int) = Constant[100] : +# 2091| r2091_4(bool) = CompareLT : r2091_2, r2091_3 +# 2091| v2091_5(void) = ConditionalBranch : r2091_4 #-----| False -> Block 3 #-----| True -> Block 2 -# 2077| Block 1 -# 2077| r2077_6(glval) = VariableAddress[#temp2077:7] : -# 2077| r2077_7(unsigned int) = Load[#temp2077:7] : &:r2077_6, ~m? -# 2077| r2077_8(glval) = VariableAddress[y] : -# 2077| mu2077_9(unsigned int) = Store[y] : &:r2077_8, r2077_7 -# 2080| r2080_1(glval) = VariableAddress[#return] : -# 2080| mu2080_2(unsigned int) = Uninitialized[#return] : &:r2080_1 -# 2075| r2075_6(glval) = VariableAddress[#return] : -# 2075| v2075_7(void) = ReturnValue : &:r2075_6, ~m? -# 2075| v2075_8(void) = AliasedUse : ~m? -# 2075| v2075_9(void) = ExitFunction : - -# 2078| Block 2 -# 2078| r2078_1(glval) = FunctionAddress[CommaTestHelper] : -# 2078| r2078_2(glval) = VariableAddress[x] : -# 2078| r2078_3(unsigned int) = Load[x] : &:r2078_2, ~m? -# 2078| v2078_4(void) = Call[CommaTestHelper] : func:r2078_1, 0:r2078_3 -# 2078| mu2078_5(unknown) = ^CallSideEffect : ~m? -# 2078| r2078_6(glval) = VariableAddress[x] : -# 2078| r2078_7(unsigned int) = Load[x] : &:r2078_6, ~m? -# 2078| r2078_8(unsigned int) = CopyValue : r2078_7 -# 2077| r2077_10(glval) = VariableAddress[#temp2077:7] : -# 2077| mu2077_11(unsigned int) = Store[#temp2077:7] : &:r2077_10, r2078_8 +# 2091| Block 1 +# 2091| r2091_6(glval) = VariableAddress[#temp2091:7] : +# 2091| r2091_7(unsigned int) = Load[#temp2091:7] : &:r2091_6, ~m? +# 2091| r2091_8(glval) = VariableAddress[y] : +# 2091| mu2091_9(unsigned int) = Store[y] : &:r2091_8, r2091_7 +# 2094| r2094_1(glval) = VariableAddress[#return] : +# 2094| mu2094_2(unsigned int) = Uninitialized[#return] : &:r2094_1 +# 2089| r2089_6(glval) = VariableAddress[#return] : +# 2089| v2089_7(void) = ReturnValue : &:r2089_6, ~m? +# 2089| v2089_8(void) = AliasedUse : ~m? +# 2089| v2089_9(void) = ExitFunction : + +# 2092| Block 2 +# 2092| r2092_1(glval) = FunctionAddress[CommaTestHelper] : +# 2092| r2092_2(glval) = VariableAddress[x] : +# 2092| r2092_3(unsigned int) = Load[x] : &:r2092_2, ~m? +# 2092| v2092_4(void) = Call[CommaTestHelper] : func:r2092_1, 0:r2092_3 +# 2092| mu2092_5(unknown) = ^CallSideEffect : ~m? +# 2092| r2092_6(glval) = VariableAddress[x] : +# 2092| r2092_7(unsigned int) = Load[x] : &:r2092_6, ~m? +# 2092| r2092_8(unsigned int) = CopyValue : r2092_7 +# 2091| r2091_10(glval) = VariableAddress[#temp2091:7] : +# 2091| mu2091_11(unsigned int) = Store[#temp2091:7] : &:r2091_10, r2092_8 #-----| Goto -> Block 1 -# 2079| Block 3 -# 2079| r2079_1(glval) = FunctionAddress[CommaTestHelper] : -# 2079| r2079_2(glval) = VariableAddress[x] : -# 2079| r2079_3(unsigned int) = Load[x] : &:r2079_2, ~m? -# 2079| v2079_4(void) = Call[CommaTestHelper] : func:r2079_1, 0:r2079_3 -# 2079| mu2079_5(unknown) = ^CallSideEffect : ~m? -# 2079| r2079_6(int) = Constant[10] : -# 2079| r2079_7(int) = CopyValue : r2079_6 -# 2079| r2079_8(unsigned int) = Convert : r2079_7 -# 2077| r2077_12(glval) = VariableAddress[#temp2077:7] : -# 2077| mu2077_13(unsigned int) = Store[#temp2077:7] : &:r2077_12, r2079_8 +# 2093| Block 3 +# 2093| r2093_1(glval) = FunctionAddress[CommaTestHelper] : +# 2093| r2093_2(glval) = VariableAddress[x] : +# 2093| r2093_3(unsigned int) = Load[x] : &:r2093_2, ~m? +# 2093| v2093_4(void) = Call[CommaTestHelper] : func:r2093_1, 0:r2093_3 +# 2093| mu2093_5(unknown) = ^CallSideEffect : ~m? +# 2093| r2093_6(int) = Constant[10] : +# 2093| r2093_7(int) = CopyValue : r2093_6 +# 2093| r2093_8(unsigned int) = Convert : r2093_7 +# 2091| r2091_12(glval) = VariableAddress[#temp2091:7] : +# 2091| mu2091_13(unsigned int) = Store[#temp2091:7] : &:r2091_12, r2093_8 #-----| Goto -> Block 1 -# 2082| void NewDeleteMem() -# 2082| Block 0 -# 2082| v2082_1(void) = EnterFunction : -# 2082| mu2082_2(unknown) = AliasedDefinition : -# 2082| mu2082_3(unknown) = InitializeNonLocal : -# 2083| r2083_1(glval) = VariableAddress[x] : -# 2083| r2083_2(glval) = FunctionAddress[operator new] : -# 2083| r2083_3(unsigned long) = Constant[4] : -# 2083| r2083_4(void *) = Call[operator new] : func:r2083_2, 0:r2083_3 -# 2083| mu2083_5(unknown) = ^CallSideEffect : ~m? -# 2083| mu2083_6(unknown) = ^InitializeDynamicAllocation : &:r2083_4 -# 2083| r2083_7(int *) = Convert : r2083_4 -# 2083| mu2083_8(int *) = Store[x] : &:r2083_1, r2083_7 -# 2084| r2084_1(int) = Constant[6] : -# 2084| r2084_2(glval) = VariableAddress[x] : -# 2084| r2084_3(int *) = Load[x] : &:r2084_2, ~m? -# 2084| r2084_4(glval) = CopyValue : r2084_3 -# 2084| mu2084_5(int) = Store[?] : &:r2084_4, r2084_1 -# 2085| r2085_1(glval) = FunctionAddress[operator delete] : -# 2085| r2085_2(glval) = VariableAddress[x] : -# 2085| r2085_3(int *) = Load[x] : &:r2085_2, ~m? -# 2085| v2085_4(void) = Call[operator delete] : func:r2085_1, 0:r2085_3 -# 2085| mu2085_5(unknown) = ^CallSideEffect : ~m? -# 2086| v2086_1(void) = NoOp : -# 2082| v2082_4(void) = ReturnVoid : -# 2082| v2082_5(void) = AliasedUse : ~m? -# 2082| v2082_6(void) = ExitFunction : - -# 2088| void Base2::Base2() -# 2088| Block 0 -# 2088| v2088_1(void) = EnterFunction : -# 2088| mu2088_2(unknown) = AliasedDefinition : -# 2088| mu2088_3(unknown) = InitializeNonLocal : -# 2088| r2088_4(glval) = VariableAddress[#this] : -# 2088| mu2088_5(glval) = InitializeParameter[#this] : &:r2088_4 -# 2088| r2088_6(glval) = Load[#this] : &:r2088_4, ~m? -# 2088| mu2088_7(Base2) = InitializeIndirection[#this] : &:r2088_6 -# 2088| v2088_8(void) = NoOp : -# 2088| v2088_9(void) = ReturnIndirection[#this] : &:r2088_6, ~m? -# 2088| v2088_10(void) = ReturnVoid : -# 2088| v2088_11(void) = AliasedUse : ~m? -# 2088| v2088_12(void) = ExitFunction : - -# 2090| void Base2::operator delete(void*) -# 2090| Block 0 -# 2090| v2090_1(void) = EnterFunction : -# 2090| mu2090_2(unknown) = AliasedDefinition : -# 2090| mu2090_3(unknown) = InitializeNonLocal : -# 2090| r2090_4(glval) = VariableAddress[p] : -# 2090| mu2090_5(void *) = InitializeParameter[p] : &:r2090_4 -# 2090| r2090_6(void *) = Load[p] : &:r2090_4, ~m? -# 2090| mu2090_7(unknown) = InitializeIndirection[p] : &:r2090_6 -# 2091| v2091_1(void) = NoOp : -# 2090| v2090_8(void) = ReturnIndirection[p] : &:r2090_6, ~m? -# 2090| v2090_9(void) = ReturnVoid : -# 2090| v2090_10(void) = AliasedUse : ~m? -# 2090| v2090_11(void) = ExitFunction : - -# 2092| void Base2::~Base2() -# 2092| Block 0 -# 2092| v2092_1(void) = EnterFunction : -# 2092| mu2092_2(unknown) = AliasedDefinition : -# 2092| mu2092_3(unknown) = InitializeNonLocal : -# 2092| r2092_4(glval) = VariableAddress[#this] : -# 2092| mu2092_5(glval) = InitializeParameter[#this] : &:r2092_4 -# 2092| r2092_6(glval) = Load[#this] : &:r2092_4, ~m? -# 2092| mu2092_7(Base2) = InitializeIndirection[#this] : &:r2092_6 -# 2092| v2092_8(void) = NoOp : -# 2092| v2092_9(void) = ReturnIndirection[#this] : &:r2092_6, ~m? -# 2092| v2092_10(void) = ReturnVoid : -# 2092| v2092_11(void) = AliasedUse : ~m? -# 2092| v2092_12(void) = ExitFunction : - -# 2095| void Derived2::Derived2() -# 2095| Block 0 -# 2095| v2095_1(void) = EnterFunction : -# 2095| mu2095_2(unknown) = AliasedDefinition : -# 2095| mu2095_3(unknown) = InitializeNonLocal : -# 2095| r2095_4(glval) = VariableAddress[#this] : -# 2095| mu2095_5(glval) = InitializeParameter[#this] : &:r2095_4 -# 2095| r2095_6(glval) = Load[#this] : &:r2095_4, ~m? -# 2095| mu2095_7(Derived2) = InitializeIndirection[#this] : &:r2095_6 -# 2095| r2095_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2095_5 -# 2095| r2095_9(glval) = FunctionAddress[Base2] : -# 2095| v2095_10(void) = Call[Base2] : func:r2095_9, this:r2095_8 -# 2095| mu2095_11(unknown) = ^CallSideEffect : ~m? -# 2095| mu2095_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2095_8 -# 2095| v2095_13(void) = NoOp : -# 2095| v2095_14(void) = ReturnIndirection[#this] : &:r2095_6, ~m? -# 2095| v2095_15(void) = ReturnVoid : -# 2095| v2095_16(void) = AliasedUse : ~m? -# 2095| v2095_17(void) = ExitFunction : - -# 2098| void Derived2::~Derived2() -# 2098| Block 0 -# 2098| v2098_1(void) = EnterFunction : -# 2098| mu2098_2(unknown) = AliasedDefinition : -# 2098| mu2098_3(unknown) = InitializeNonLocal : -# 2098| r2098_4(glval) = VariableAddress[#this] : -# 2098| mu2098_5(glval) = InitializeParameter[#this] : &:r2098_4 -# 2098| r2098_6(glval) = Load[#this] : &:r2098_4, ~m? -# 2098| mu2098_7(Derived2) = InitializeIndirection[#this] : &:r2098_6 -# 2098| v2098_8(void) = NoOp : -# 2098| r2098_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2098_5 -# 2098| r2098_10(glval) = FunctionAddress[~Base2] : -# 2098| v2098_11(void) = Call[~Base2] : func:r2098_10, this:r2098_9 -# 2098| mu2098_12(unknown) = ^CallSideEffect : ~m? -# 2098| v2098_13(void) = ReturnIndirection[#this] : &:r2098_6, ~m? -# 2098| v2098_14(void) = ReturnVoid : -# 2098| v2098_15(void) = AliasedUse : ~m? -# 2098| v2098_16(void) = ExitFunction : - -# 2100| void Derived2::operator delete(void*) -# 2100| Block 0 -# 2100| v2100_1(void) = EnterFunction : -# 2100| mu2100_2(unknown) = AliasedDefinition : -# 2100| mu2100_3(unknown) = InitializeNonLocal : -# 2100| r2100_4(glval) = VariableAddress[p] : -# 2100| mu2100_5(void *) = InitializeParameter[p] : &:r2100_4 -# 2100| r2100_6(void *) = Load[p] : &:r2100_4, ~m? -# 2100| mu2100_7(unknown) = InitializeIndirection[p] : &:r2100_6 -# 2101| v2101_1(void) = NoOp : -# 2100| v2100_8(void) = ReturnIndirection[p] : &:r2100_6, ~m? -# 2100| v2100_9(void) = ReturnVoid : -# 2100| v2100_10(void) = AliasedUse : ~m? -# 2100| v2100_11(void) = ExitFunction : - -# 2105| int virtual_delete() -# 2105| Block 0 -# 2105| v2105_1(void) = EnterFunction : -# 2105| mu2105_2(unknown) = AliasedDefinition : -# 2105| mu2105_3(unknown) = InitializeNonLocal : -# 2107| r2107_1(glval) = VariableAddress[b1] : -# 2107| r2107_2(glval) = FunctionAddress[operator new] : -# 2107| r2107_3(unsigned long) = Constant[8] : -# 2107| r2107_4(void *) = Call[operator new] : func:r2107_2, 0:r2107_3 -# 2107| mu2107_5(unknown) = ^CallSideEffect : ~m? -# 2107| mu2107_6(unknown) = ^InitializeDynamicAllocation : &:r2107_4 -# 2107| r2107_7(Base2 *) = Convert : r2107_4 -# 2107| r2107_8(glval) = FunctionAddress[Base2] : -# 2107| v2107_9(void) = Call[Base2] : func:r2107_8, this:r2107_7 -# 2107| mu2107_10(unknown) = ^CallSideEffect : ~m? -# 2107| mu2107_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2107_7 -# 2107| mu2107_12(Base2 *) = Store[b1] : &:r2107_1, r2107_7 -# 2108| r2108_1(glval) = VariableAddress[b1] : -# 2108| r2108_2(Base2 *) = Load[b1] : &:r2108_1, ~m? -# 2108| r2108_3(glval) = FunctionAddress[~Base2] : -# 2108| v2108_4(void) = Call[~Base2] : func:r2108_3 -# 2108| mu2108_5(unknown) = ^CallSideEffect : ~m? -# 2108| v2108_6(void) = ^IndirectReadSideEffect[-1] : &:r2108_2, ~m? -# 2108| mu2108_7(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2108_2 -# 2108| r2108_8(glval) = VirtualDeleteFunctionAddress : -# 2108| r2108_9(Base2 *) = CopyValue : r2108_1 -# 2108| v2108_10(void) = Call[?] : func:r2108_8, 0:r2108_9 -# 2108| mu2108_11(unknown) = ^CallSideEffect : ~m? -# 2110| r2110_1(glval) = VariableAddress[b2] : -# 2110| r2110_2(glval) = FunctionAddress[operator new] : -# 2110| r2110_3(unsigned long) = Constant[16] : -# 2110| r2110_4(void *) = Call[operator new] : func:r2110_2, 0:r2110_3 -# 2110| mu2110_5(unknown) = ^CallSideEffect : ~m? -# 2110| mu2110_6(unknown) = ^InitializeDynamicAllocation : &:r2110_4 -# 2110| r2110_7(Derived2 *) = Convert : r2110_4 -# 2110| r2110_8(glval) = FunctionAddress[Derived2] : -# 2110| v2110_9(void) = Call[Derived2] : func:r2110_8, this:r2110_7 -# 2110| mu2110_10(unknown) = ^CallSideEffect : ~m? -# 2110| mu2110_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2110_7 -# 2110| r2110_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2110_7 -# 2110| mu2110_13(Base2 *) = Store[b2] : &:r2110_1, r2110_12 -# 2111| r2111_1(glval) = VariableAddress[b2] : -# 2111| r2111_2(Base2 *) = Load[b2] : &:r2111_1, ~m? -# 2111| r2111_3(glval) = FunctionAddress[~Base2] : -# 2111| v2111_4(void) = Call[~Base2] : func:r2111_3 -# 2111| mu2111_5(unknown) = ^CallSideEffect : ~m? -# 2111| v2111_6(void) = ^IndirectReadSideEffect[-1] : &:r2111_2, ~m? -# 2111| mu2111_7(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2111_2 -# 2111| r2111_8(glval) = VirtualDeleteFunctionAddress : -# 2111| r2111_9(Base2 *) = CopyValue : r2111_1 -# 2111| v2111_10(void) = Call[?] : func:r2111_8, 0:r2111_9 -# 2111| mu2111_11(unknown) = ^CallSideEffect : ~m? -# 2113| r2113_1(glval) = VariableAddress[d] : -# 2113| r2113_2(glval) = FunctionAddress[operator new] : -# 2113| r2113_3(unsigned long) = Constant[16] : -# 2113| r2113_4(void *) = Call[operator new] : func:r2113_2, 0:r2113_3 -# 2113| mu2113_5(unknown) = ^CallSideEffect : ~m? -# 2113| mu2113_6(unknown) = ^InitializeDynamicAllocation : &:r2113_4 -# 2113| r2113_7(Derived2 *) = Convert : r2113_4 -# 2113| r2113_8(glval) = FunctionAddress[Derived2] : -# 2113| v2113_9(void) = Call[Derived2] : func:r2113_8, this:r2113_7 -# 2113| mu2113_10(unknown) = ^CallSideEffect : ~m? -# 2113| mu2113_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2113_7 -# 2113| mu2113_12(Derived2 *) = Store[d] : &:r2113_1, r2113_7 -# 2114| r2114_1(glval) = VariableAddress[d] : -# 2114| r2114_2(Derived2 *) = Load[d] : &:r2114_1, ~m? -# 2114| r2114_3(glval) = FunctionAddress[~Derived2] : -# 2114| v2114_4(void) = Call[~Derived2] : func:r2114_3 -# 2114| mu2114_5(unknown) = ^CallSideEffect : ~m? -# 2114| v2114_6(void) = ^IndirectReadSideEffect[-1] : &:r2114_2, ~m? -# 2114| mu2114_7(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2114_2 -# 2114| r2114_8(glval) = VirtualDeleteFunctionAddress : -# 2114| r2114_9(Derived2 *) = CopyValue : r2114_1 -# 2114| v2114_10(void) = Call[?] : func:r2114_8, 0:r2114_9 -# 2114| mu2114_11(unknown) = ^CallSideEffect : ~m? -# 2115| r2115_1(glval) = VariableAddress[#return] : -# 2115| mu2115_2(int) = Uninitialized[#return] : &:r2115_1 -# 2105| r2105_4(glval) = VariableAddress[#return] : -# 2105| v2105_5(void) = ReturnValue : &:r2105_4, ~m? -# 2105| v2105_6(void) = AliasedUse : ~m? -# 2105| v2105_7(void) = ExitFunction : - -# 2119| void test_constant_folding() +# 2096| void NewDeleteMem() +# 2096| Block 0 +# 2096| v2096_1(void) = EnterFunction : +# 2096| mu2096_2(unknown) = AliasedDefinition : +# 2096| mu2096_3(unknown) = InitializeNonLocal : +# 2097| r2097_1(glval) = VariableAddress[x] : +# 2097| r2097_2(glval) = FunctionAddress[operator new] : +# 2097| r2097_3(unsigned long) = Constant[4] : +# 2097| r2097_4(void *) = Call[operator new] : func:r2097_2, 0:r2097_3 +# 2097| mu2097_5(unknown) = ^CallSideEffect : ~m? +# 2097| mu2097_6(unknown) = ^InitializeDynamicAllocation : &:r2097_4 +# 2097| r2097_7(int *) = Convert : r2097_4 +# 2097| mu2097_8(int *) = Store[x] : &:r2097_1, r2097_7 +# 2098| r2098_1(int) = Constant[6] : +# 2098| r2098_2(glval) = VariableAddress[x] : +# 2098| r2098_3(int *) = Load[x] : &:r2098_2, ~m? +# 2098| r2098_4(glval) = CopyValue : r2098_3 +# 2098| mu2098_5(int) = Store[?] : &:r2098_4, r2098_1 +# 2099| r2099_1(glval) = FunctionAddress[operator delete] : +# 2099| r2099_2(glval) = VariableAddress[x] : +# 2099| r2099_3(int *) = Load[x] : &:r2099_2, ~m? +# 2099| v2099_4(void) = Call[operator delete] : func:r2099_1, 0:r2099_3 +# 2099| mu2099_5(unknown) = ^CallSideEffect : ~m? +# 2100| v2100_1(void) = NoOp : +# 2096| v2096_4(void) = ReturnVoid : +# 2096| v2096_5(void) = AliasedUse : ~m? +# 2096| v2096_6(void) = ExitFunction : + +# 2102| void Base2::Base2() +# 2102| Block 0 +# 2102| v2102_1(void) = EnterFunction : +# 2102| mu2102_2(unknown) = AliasedDefinition : +# 2102| mu2102_3(unknown) = InitializeNonLocal : +# 2102| r2102_4(glval) = VariableAddress[#this] : +# 2102| mu2102_5(glval) = InitializeParameter[#this] : &:r2102_4 +# 2102| r2102_6(glval) = Load[#this] : &:r2102_4, ~m? +# 2102| mu2102_7(Base2) = InitializeIndirection[#this] : &:r2102_6 +# 2102| v2102_8(void) = NoOp : +# 2102| v2102_9(void) = ReturnIndirection[#this] : &:r2102_6, ~m? +# 2102| v2102_10(void) = ReturnVoid : +# 2102| v2102_11(void) = AliasedUse : ~m? +# 2102| v2102_12(void) = ExitFunction : + +# 2104| void Base2::operator delete(void*) +# 2104| Block 0 +# 2104| v2104_1(void) = EnterFunction : +# 2104| mu2104_2(unknown) = AliasedDefinition : +# 2104| mu2104_3(unknown) = InitializeNonLocal : +# 2104| r2104_4(glval) = VariableAddress[p] : +# 2104| mu2104_5(void *) = InitializeParameter[p] : &:r2104_4 +# 2104| r2104_6(void *) = Load[p] : &:r2104_4, ~m? +# 2104| mu2104_7(unknown) = InitializeIndirection[p] : &:r2104_6 +# 2105| v2105_1(void) = NoOp : +# 2104| v2104_8(void) = ReturnIndirection[p] : &:r2104_6, ~m? +# 2104| v2104_9(void) = ReturnVoid : +# 2104| v2104_10(void) = AliasedUse : ~m? +# 2104| v2104_11(void) = ExitFunction : + +# 2106| void Base2::~Base2() +# 2106| Block 0 +# 2106| v2106_1(void) = EnterFunction : +# 2106| mu2106_2(unknown) = AliasedDefinition : +# 2106| mu2106_3(unknown) = InitializeNonLocal : +# 2106| r2106_4(glval) = VariableAddress[#this] : +# 2106| mu2106_5(glval) = InitializeParameter[#this] : &:r2106_4 +# 2106| r2106_6(glval) = Load[#this] : &:r2106_4, ~m? +# 2106| mu2106_7(Base2) = InitializeIndirection[#this] : &:r2106_6 +# 2106| v2106_8(void) = NoOp : +# 2106| v2106_9(void) = ReturnIndirection[#this] : &:r2106_6, ~m? +# 2106| v2106_10(void) = ReturnVoid : +# 2106| v2106_11(void) = AliasedUse : ~m? +# 2106| v2106_12(void) = ExitFunction : + +# 2109| void Derived2::Derived2() +# 2109| Block 0 +# 2109| v2109_1(void) = EnterFunction : +# 2109| mu2109_2(unknown) = AliasedDefinition : +# 2109| mu2109_3(unknown) = InitializeNonLocal : +# 2109| r2109_4(glval) = VariableAddress[#this] : +# 2109| mu2109_5(glval) = InitializeParameter[#this] : &:r2109_4 +# 2109| r2109_6(glval) = Load[#this] : &:r2109_4, ~m? +# 2109| mu2109_7(Derived2) = InitializeIndirection[#this] : &:r2109_6 +# 2109| r2109_8(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2109_5 +# 2109| r2109_9(glval) = FunctionAddress[Base2] : +# 2109| v2109_10(void) = Call[Base2] : func:r2109_9, this:r2109_8 +# 2109| mu2109_11(unknown) = ^CallSideEffect : ~m? +# 2109| mu2109_12(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2109_8 +# 2109| v2109_13(void) = NoOp : +# 2109| v2109_14(void) = ReturnIndirection[#this] : &:r2109_6, ~m? +# 2109| v2109_15(void) = ReturnVoid : +# 2109| v2109_16(void) = AliasedUse : ~m? +# 2109| v2109_17(void) = ExitFunction : + +# 2112| void Derived2::~Derived2() +# 2112| Block 0 +# 2112| v2112_1(void) = EnterFunction : +# 2112| mu2112_2(unknown) = AliasedDefinition : +# 2112| mu2112_3(unknown) = InitializeNonLocal : +# 2112| r2112_4(glval) = VariableAddress[#this] : +# 2112| mu2112_5(glval) = InitializeParameter[#this] : &:r2112_4 +# 2112| r2112_6(glval) = Load[#this] : &:r2112_4, ~m? +# 2112| mu2112_7(Derived2) = InitializeIndirection[#this] : &:r2112_6 +# 2112| v2112_8(void) = NoOp : +# 2112| r2112_9(glval) = ConvertToNonVirtualBase[Derived2 : Base2] : mu2112_5 +# 2112| r2112_10(glval) = FunctionAddress[~Base2] : +# 2112| v2112_11(void) = Call[~Base2] : func:r2112_10, this:r2112_9 +# 2112| mu2112_12(unknown) = ^CallSideEffect : ~m? +# 2112| v2112_13(void) = ReturnIndirection[#this] : &:r2112_6, ~m? +# 2112| v2112_14(void) = ReturnVoid : +# 2112| v2112_15(void) = AliasedUse : ~m? +# 2112| v2112_16(void) = ExitFunction : + +# 2114| void Derived2::operator delete(void*) +# 2114| Block 0 +# 2114| v2114_1(void) = EnterFunction : +# 2114| mu2114_2(unknown) = AliasedDefinition : +# 2114| mu2114_3(unknown) = InitializeNonLocal : +# 2114| r2114_4(glval) = VariableAddress[p] : +# 2114| mu2114_5(void *) = InitializeParameter[p] : &:r2114_4 +# 2114| r2114_6(void *) = Load[p] : &:r2114_4, ~m? +# 2114| mu2114_7(unknown) = InitializeIndirection[p] : &:r2114_6 +# 2115| v2115_1(void) = NoOp : +# 2114| v2114_8(void) = ReturnIndirection[p] : &:r2114_6, ~m? +# 2114| v2114_9(void) = ReturnVoid : +# 2114| v2114_10(void) = AliasedUse : ~m? +# 2114| v2114_11(void) = ExitFunction : + +# 2119| int virtual_delete() # 2119| Block 0 -# 2119| v2119_1(void) = EnterFunction : -# 2119| mu2119_2(unknown) = AliasedDefinition : -# 2119| mu2119_3(unknown) = InitializeNonLocal : -# 2120| r2120_1(glval) = VariableAddress[x] : -# 2120| r2120_2(int) = Constant[116] : -# 2120| mu2120_3(int) = Store[x] : &:r2120_1, r2120_2 -# 2121| r2121_1(glval) = FunctionAddress[test_constant_folding_use] : -# 2121| r2121_2(int) = Constant[116] : -# 2121| v2121_3(void) = Call[test_constant_folding_use] : func:r2121_1, 0:r2121_2 -# 2121| mu2121_4(unknown) = ^CallSideEffect : ~m? -# 2122| v2122_1(void) = NoOp : -# 2119| v2119_4(void) = ReturnVoid : -# 2119| v2119_5(void) = AliasedUse : ~m? -# 2119| v2119_6(void) = ExitFunction : - -# 2126| int NonExit() -# 2126| Block 0 -# 2126| v2126_1(void) = EnterFunction : -# 2126| mu2126_2(unknown) = AliasedDefinition : -# 2126| mu2126_3(unknown) = InitializeNonLocal : -# 2127| r2127_1(glval) = VariableAddress[x] : -# 2127| r2127_2(glval) = FunctionAddress[Add] : -# 2127| r2127_3(int) = Constant[3] : -# 2127| r2127_4(int) = Constant[4] : -# 2127| r2127_5(int) = Call[Add] : func:r2127_2, 0:r2127_3, 1:r2127_4 -# 2127| mu2127_6(unknown) = ^CallSideEffect : ~m? -# 2127| mu2127_7(int) = Store[x] : &:r2127_1, r2127_5 -# 2128| r2128_1(glval) = VariableAddress[x] : -# 2128| r2128_2(int) = Load[x] : &:r2128_1, ~m? -# 2128| r2128_3(int) = Constant[7] : -# 2128| r2128_4(bool) = CompareEQ : r2128_2, r2128_3 -# 2128| v2128_5(void) = ConditionalBranch : r2128_4 +# 2119| v2119_1(void) = EnterFunction : +# 2119| mu2119_2(unknown) = AliasedDefinition : +# 2119| mu2119_3(unknown) = InitializeNonLocal : +# 2121| r2121_1(glval) = VariableAddress[b1] : +# 2121| r2121_2(glval) = FunctionAddress[operator new] : +# 2121| r2121_3(unsigned long) = Constant[8] : +# 2121| r2121_4(void *) = Call[operator new] : func:r2121_2, 0:r2121_3 +# 2121| mu2121_5(unknown) = ^CallSideEffect : ~m? +# 2121| mu2121_6(unknown) = ^InitializeDynamicAllocation : &:r2121_4 +# 2121| r2121_7(Base2 *) = Convert : r2121_4 +# 2121| r2121_8(glval) = FunctionAddress[Base2] : +# 2121| v2121_9(void) = Call[Base2] : func:r2121_8, this:r2121_7 +# 2121| mu2121_10(unknown) = ^CallSideEffect : ~m? +# 2121| mu2121_11(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2121_7 +# 2121| mu2121_12(Base2 *) = Store[b1] : &:r2121_1, r2121_7 +# 2122| r2122_1(glval) = VariableAddress[b1] : +# 2122| r2122_2(Base2 *) = Load[b1] : &:r2122_1, ~m? +# 2122| r2122_3(glval) = FunctionAddress[~Base2] : +# 2122| v2122_4(void) = Call[~Base2] : func:r2122_3 +# 2122| mu2122_5(unknown) = ^CallSideEffect : ~m? +# 2122| v2122_6(void) = ^IndirectReadSideEffect[-1] : &:r2122_2, ~m? +# 2122| mu2122_7(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2122_2 +# 2122| r2122_8(glval) = VirtualDeleteFunctionAddress : +# 2122| r2122_9(Base2 *) = CopyValue : r2122_1 +# 2122| v2122_10(void) = Call[?] : func:r2122_8, 0:r2122_9 +# 2122| mu2122_11(unknown) = ^CallSideEffect : ~m? +# 2124| r2124_1(glval) = VariableAddress[b2] : +# 2124| r2124_2(glval) = FunctionAddress[operator new] : +# 2124| r2124_3(unsigned long) = Constant[16] : +# 2124| r2124_4(void *) = Call[operator new] : func:r2124_2, 0:r2124_3 +# 2124| mu2124_5(unknown) = ^CallSideEffect : ~m? +# 2124| mu2124_6(unknown) = ^InitializeDynamicAllocation : &:r2124_4 +# 2124| r2124_7(Derived2 *) = Convert : r2124_4 +# 2124| r2124_8(glval) = FunctionAddress[Derived2] : +# 2124| v2124_9(void) = Call[Derived2] : func:r2124_8, this:r2124_7 +# 2124| mu2124_10(unknown) = ^CallSideEffect : ~m? +# 2124| mu2124_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2124_7 +# 2124| r2124_12(Base2 *) = ConvertToNonVirtualBase[Derived2 : Base2] : r2124_7 +# 2124| mu2124_13(Base2 *) = Store[b2] : &:r2124_1, r2124_12 +# 2125| r2125_1(glval) = VariableAddress[b2] : +# 2125| r2125_2(Base2 *) = Load[b2] : &:r2125_1, ~m? +# 2125| r2125_3(glval) = FunctionAddress[~Base2] : +# 2125| v2125_4(void) = Call[~Base2] : func:r2125_3 +# 2125| mu2125_5(unknown) = ^CallSideEffect : ~m? +# 2125| v2125_6(void) = ^IndirectReadSideEffect[-1] : &:r2125_2, ~m? +# 2125| mu2125_7(Base2) = ^IndirectMayWriteSideEffect[-1] : &:r2125_2 +# 2125| r2125_8(glval) = VirtualDeleteFunctionAddress : +# 2125| r2125_9(Base2 *) = CopyValue : r2125_1 +# 2125| v2125_10(void) = Call[?] : func:r2125_8, 0:r2125_9 +# 2125| mu2125_11(unknown) = ^CallSideEffect : ~m? +# 2127| r2127_1(glval) = VariableAddress[d] : +# 2127| r2127_2(glval) = FunctionAddress[operator new] : +# 2127| r2127_3(unsigned long) = Constant[16] : +# 2127| r2127_4(void *) = Call[operator new] : func:r2127_2, 0:r2127_3 +# 2127| mu2127_5(unknown) = ^CallSideEffect : ~m? +# 2127| mu2127_6(unknown) = ^InitializeDynamicAllocation : &:r2127_4 +# 2127| r2127_7(Derived2 *) = Convert : r2127_4 +# 2127| r2127_8(glval) = FunctionAddress[Derived2] : +# 2127| v2127_9(void) = Call[Derived2] : func:r2127_8, this:r2127_7 +# 2127| mu2127_10(unknown) = ^CallSideEffect : ~m? +# 2127| mu2127_11(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2127_7 +# 2127| mu2127_12(Derived2 *) = Store[d] : &:r2127_1, r2127_7 +# 2128| r2128_1(glval) = VariableAddress[d] : +# 2128| r2128_2(Derived2 *) = Load[d] : &:r2128_1, ~m? +# 2128| r2128_3(glval) = FunctionAddress[~Derived2] : +# 2128| v2128_4(void) = Call[~Derived2] : func:r2128_3 +# 2128| mu2128_5(unknown) = ^CallSideEffect : ~m? +# 2128| v2128_6(void) = ^IndirectReadSideEffect[-1] : &:r2128_2, ~m? +# 2128| mu2128_7(Derived2) = ^IndirectMayWriteSideEffect[-1] : &:r2128_2 +# 2128| r2128_8(glval) = VirtualDeleteFunctionAddress : +# 2128| r2128_9(Derived2 *) = CopyValue : r2128_1 +# 2128| v2128_10(void) = Call[?] : func:r2128_8, 0:r2128_9 +# 2128| mu2128_11(unknown) = ^CallSideEffect : ~m? +# 2129| r2129_1(glval) = VariableAddress[#return] : +# 2129| mu2129_2(int) = Uninitialized[#return] : &:r2129_1 +# 2119| r2119_4(glval) = VariableAddress[#return] : +# 2119| v2119_5(void) = ReturnValue : &:r2119_4, ~m? +# 2119| v2119_6(void) = AliasedUse : ~m? +# 2119| v2119_7(void) = ExitFunction : + +# 2133| void test_constant_folding() +# 2133| Block 0 +# 2133| v2133_1(void) = EnterFunction : +# 2133| mu2133_2(unknown) = AliasedDefinition : +# 2133| mu2133_3(unknown) = InitializeNonLocal : +# 2134| r2134_1(glval) = VariableAddress[x] : +# 2134| r2134_2(int) = Constant[116] : +# 2134| mu2134_3(int) = Store[x] : &:r2134_1, r2134_2 +# 2135| r2135_1(glval) = FunctionAddress[test_constant_folding_use] : +# 2135| r2135_2(int) = Constant[116] : +# 2135| v2135_3(void) = Call[test_constant_folding_use] : func:r2135_1, 0:r2135_2 +# 2135| mu2135_4(unknown) = ^CallSideEffect : ~m? +# 2136| v2136_1(void) = NoOp : +# 2133| v2133_4(void) = ReturnVoid : +# 2133| v2133_5(void) = AliasedUse : ~m? +# 2133| v2133_6(void) = ExitFunction : + +# 2140| int NonExit() +# 2140| Block 0 +# 2140| v2140_1(void) = EnterFunction : +# 2140| mu2140_2(unknown) = AliasedDefinition : +# 2140| mu2140_3(unknown) = InitializeNonLocal : +# 2141| r2141_1(glval) = VariableAddress[x] : +# 2141| r2141_2(glval) = FunctionAddress[Add] : +# 2141| r2141_3(int) = Constant[3] : +# 2141| r2141_4(int) = Constant[4] : +# 2141| r2141_5(int) = Call[Add] : func:r2141_2, 0:r2141_3, 1:r2141_4 +# 2141| mu2141_6(unknown) = ^CallSideEffect : ~m? +# 2141| mu2141_7(int) = Store[x] : &:r2141_1, r2141_5 +# 2142| r2142_1(glval) = VariableAddress[x] : +# 2142| r2142_2(int) = Load[x] : &:r2142_1, ~m? +# 2142| r2142_3(int) = Constant[7] : +# 2142| r2142_4(bool) = CompareEQ : r2142_2, r2142_3 +# 2142| v2142_5(void) = ConditionalBranch : r2142_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2129| Block 1 -# 2129| r2129_1(glval) = FunctionAddress[exit] : -# 2129| r2129_2(int) = Constant[3] : -# 2129| v2129_3(void) = Call[exit] : func:r2129_1, 0:r2129_2 -# 2129| mu2129_4(unknown) = ^CallSideEffect : ~m? -# 2126| v2126_4(void) = Unreached : - -# 2130| Block 2 -# 2130| r2130_1(glval) = FunctionAddress[VoidFunc] : -# 2130| v2130_2(void) = Call[VoidFunc] : func:r2130_1 -# 2130| mu2130_3(unknown) = ^CallSideEffect : ~m? -# 2131| r2131_1(glval) = VariableAddress[#return] : -# 2131| r2131_2(glval) = VariableAddress[x] : -# 2131| r2131_3(int) = Load[x] : &:r2131_2, ~m? -# 2131| mu2131_4(int) = Store[#return] : &:r2131_1, r2131_3 -# 2126| r2126_5(glval) = VariableAddress[#return] : -# 2126| v2126_6(void) = ReturnValue : &:r2126_5, ~m? -# 2126| v2126_7(void) = AliasedUse : ~m? -# 2126| v2126_8(void) = ExitFunction : - -# 2134| void CallsNonExit() -# 2134| Block 0 -# 2134| v2134_1(void) = EnterFunction : -# 2134| mu2134_2(unknown) = AliasedDefinition : -# 2134| mu2134_3(unknown) = InitializeNonLocal : -# 2135| r2135_1(glval) = FunctionAddress[VoidFunc] : -# 2135| v2135_2(void) = Call[VoidFunc] : func:r2135_1 -# 2135| mu2135_3(unknown) = ^CallSideEffect : ~m? -# 2136| r2136_1(glval) = FunctionAddress[exit] : -# 2136| r2136_2(int) = Constant[3] : -# 2136| v2136_3(void) = Call[exit] : func:r2136_1, 0:r2136_2 -# 2136| mu2136_4(unknown) = ^CallSideEffect : ~m? -# 2134| v2134_4(void) = Unreached : - -# 2137| Block 1 -# 2137| v2137_1(void) = NoOp : -# 2134| v2134_5(void) = ReturnVoid : -# 2134| v2134_6(void) = AliasedUse : ~m? -# 2134| v2134_7(void) = ExitFunction : - -# 2139| int TransNonExit() -# 2139| Block 0 -# 2139| v2139_1(void) = EnterFunction : -# 2139| mu2139_2(unknown) = AliasedDefinition : -# 2139| mu2139_3(unknown) = InitializeNonLocal : -# 2140| r2140_1(glval) = VariableAddress[x] : -# 2140| r2140_2(glval) = FunctionAddress[Add] : -# 2140| r2140_3(int) = Constant[3] : -# 2140| r2140_4(int) = Constant[4] : -# 2140| r2140_5(int) = Call[Add] : func:r2140_2, 0:r2140_3, 1:r2140_4 -# 2140| mu2140_6(unknown) = ^CallSideEffect : ~m? -# 2140| mu2140_7(int) = Store[x] : &:r2140_1, r2140_5 -# 2141| r2141_1(glval) = VariableAddress[x] : -# 2141| r2141_2(int) = Load[x] : &:r2141_1, ~m? -# 2141| r2141_3(int) = Constant[7] : -# 2141| r2141_4(bool) = CompareEQ : r2141_2, r2141_3 -# 2141| v2141_5(void) = ConditionalBranch : r2141_4 +# 2143| Block 1 +# 2143| r2143_1(glval) = FunctionAddress[exit] : +# 2143| r2143_2(int) = Constant[3] : +# 2143| v2143_3(void) = Call[exit] : func:r2143_1, 0:r2143_2 +# 2143| mu2143_4(unknown) = ^CallSideEffect : ~m? +# 2140| v2140_4(void) = Unreached : + +# 2144| Block 2 +# 2144| r2144_1(glval) = FunctionAddress[VoidFunc] : +# 2144| v2144_2(void) = Call[VoidFunc] : func:r2144_1 +# 2144| mu2144_3(unknown) = ^CallSideEffect : ~m? +# 2145| r2145_1(glval) = VariableAddress[#return] : +# 2145| r2145_2(glval) = VariableAddress[x] : +# 2145| r2145_3(int) = Load[x] : &:r2145_2, ~m? +# 2145| mu2145_4(int) = Store[#return] : &:r2145_1, r2145_3 +# 2140| r2140_5(glval) = VariableAddress[#return] : +# 2140| v2140_6(void) = ReturnValue : &:r2140_5, ~m? +# 2140| v2140_7(void) = AliasedUse : ~m? +# 2140| v2140_8(void) = ExitFunction : + +# 2148| void CallsNonExit() +# 2148| Block 0 +# 2148| v2148_1(void) = EnterFunction : +# 2148| mu2148_2(unknown) = AliasedDefinition : +# 2148| mu2148_3(unknown) = InitializeNonLocal : +# 2149| r2149_1(glval) = FunctionAddress[VoidFunc] : +# 2149| v2149_2(void) = Call[VoidFunc] : func:r2149_1 +# 2149| mu2149_3(unknown) = ^CallSideEffect : ~m? +# 2150| r2150_1(glval) = FunctionAddress[exit] : +# 2150| r2150_2(int) = Constant[3] : +# 2150| v2150_3(void) = Call[exit] : func:r2150_1, 0:r2150_2 +# 2150| mu2150_4(unknown) = ^CallSideEffect : ~m? +# 2148| v2148_4(void) = Unreached : + +# 2151| Block 1 +# 2151| v2151_1(void) = NoOp : +# 2148| v2148_5(void) = ReturnVoid : +# 2148| v2148_6(void) = AliasedUse : ~m? +# 2148| v2148_7(void) = ExitFunction : + +# 2153| int TransNonExit() +# 2153| Block 0 +# 2153| v2153_1(void) = EnterFunction : +# 2153| mu2153_2(unknown) = AliasedDefinition : +# 2153| mu2153_3(unknown) = InitializeNonLocal : +# 2154| r2154_1(glval) = VariableAddress[x] : +# 2154| r2154_2(glval) = FunctionAddress[Add] : +# 2154| r2154_3(int) = Constant[3] : +# 2154| r2154_4(int) = Constant[4] : +# 2154| r2154_5(int) = Call[Add] : func:r2154_2, 0:r2154_3, 1:r2154_4 +# 2154| mu2154_6(unknown) = ^CallSideEffect : ~m? +# 2154| mu2154_7(int) = Store[x] : &:r2154_1, r2154_5 +# 2155| r2155_1(glval) = VariableAddress[x] : +# 2155| r2155_2(int) = Load[x] : &:r2155_1, ~m? +# 2155| r2155_3(int) = Constant[7] : +# 2155| r2155_4(bool) = CompareEQ : r2155_2, r2155_3 +# 2155| v2155_5(void) = ConditionalBranch : r2155_4 #-----| False -> Block 2 #-----| True -> Block 1 -# 2142| Block 1 -# 2142| r2142_1(glval) = FunctionAddress[CallsNonExit] : -# 2142| v2142_2(void) = Call[CallsNonExit] : func:r2142_1 -# 2142| mu2142_3(unknown) = ^CallSideEffect : ~m? +# 2156| Block 1 +# 2156| r2156_1(glval) = FunctionAddress[CallsNonExit] : +# 2156| v2156_2(void) = Call[CallsNonExit] : func:r2156_1 +# 2156| mu2156_3(unknown) = ^CallSideEffect : ~m? #-----| Goto -> Block 2 -# 2143| Block 2 -# 2143| r2143_1(glval) = FunctionAddress[VoidFunc] : -# 2143| v2143_2(void) = Call[VoidFunc] : func:r2143_1 -# 2143| mu2143_3(unknown) = ^CallSideEffect : ~m? -# 2144| r2144_1(glval) = VariableAddress[#return] : -# 2144| r2144_2(glval) = VariableAddress[x] : -# 2144| r2144_3(int) = Load[x] : &:r2144_2, ~m? -# 2144| mu2144_4(int) = Store[#return] : &:r2144_1, r2144_3 -# 2139| r2139_4(glval) = VariableAddress[#return] : -# 2139| v2139_5(void) = ReturnValue : &:r2139_4, ~m? -# 2139| v2139_6(void) = AliasedUse : ~m? -# 2139| v2139_7(void) = ExitFunction : - -# 2147| void newArrayCorrectType(size_t) -# 2147| Block 0 -# 2147| v2147_1(void) = EnterFunction : -# 2147| mu2147_2(unknown) = AliasedDefinition : -# 2147| mu2147_3(unknown) = InitializeNonLocal : -# 2147| r2147_4(glval) = VariableAddress[n] : -# 2147| mu2147_5(unsigned long) = InitializeParameter[n] : &:r2147_4 -# 2148| r2148_1(glval) = FunctionAddress[operator new[]] : -# 2148| r2148_2(glval) = VariableAddress[n] : -# 2148| r2148_3(unsigned long) = Load[n] : &:r2148_2, ~m? -# 2148| r2148_4(unsigned long) = Constant[4] : -# 2148| r2148_5(unsigned long) = Mul : r2148_3, r2148_4 -# 2148| r2148_6(void *) = Call[operator new[]] : func:r2148_1, 0:r2148_5 -# 2148| mu2148_7(unknown) = ^CallSideEffect : ~m? -# 2148| mu2148_8(unknown) = ^InitializeDynamicAllocation : &:r2148_6 -# 2148| r2148_9(int *) = Convert : r2148_6 -# 2149| r2149_1(glval) = FunctionAddress[operator new[]] : -# 2149| r2149_2(glval) = VariableAddress[n] : -# 2149| r2149_3(unsigned long) = Load[n] : &:r2149_2, ~m? -# 2149| r2149_4(unsigned long) = Constant[4] : -# 2149| r2149_5(unsigned long) = Mul : r2149_3, r2149_4 -# 2149| r2149_6(float) = Constant[1.0] : -# 2149| r2149_7(void *) = Call[operator new[]] : func:r2149_1, 0:r2149_5, 1:r2149_6 -# 2149| mu2149_8(unknown) = ^CallSideEffect : ~m? -# 2149| mu2149_9(unknown) = ^InitializeDynamicAllocation : &:r2149_7 -# 2149| r2149_10(int *) = Convert : r2149_7 -# 2150| r2150_1(glval) = FunctionAddress[operator new[]] : -# 2150| r2150_2(glval) = VariableAddress[n] : -# 2150| r2150_3(unsigned long) = Load[n] : &:r2150_2, ~m? -# 2150| r2150_4(unsigned long) = Constant[8] : -# 2150| r2150_5(unsigned long) = Mul : r2150_3, r2150_4 -# 2150| r2150_6(void *) = Call[operator new[]] : func:r2150_1, 0:r2150_5 -# 2150| mu2150_7(unknown) = ^CallSideEffect : ~m? -# 2150| mu2150_8(unknown) = ^InitializeDynamicAllocation : &:r2150_6 -# 2150| r2150_9(String *) = Convert : r2150_6 -# 2151| r2151_1(glval) = FunctionAddress[operator new[]] : -# 2151| r2151_2(glval) = VariableAddress[n] : -# 2151| r2151_3(unsigned long) = Load[n] : &:r2151_2, ~m? -# 2151| r2151_4(unsigned long) = Constant[256] : -# 2151| r2151_5(unsigned long) = Mul : r2151_3, r2151_4 -# 2151| r2151_6(align_val_t) = Constant[128] : -# 2151| r2151_7(void *) = Call[operator new[]] : func:r2151_1, 0:r2151_5, 1:r2151_6 -# 2151| mu2151_8(unknown) = ^CallSideEffect : ~m? -# 2151| mu2151_9(unknown) = ^InitializeDynamicAllocation : &:r2151_7 -# 2151| r2151_10(Overaligned *) = Convert : r2151_7 -# 2152| r2152_1(glval) = FunctionAddress[operator new[]] : -# 2152| r2152_2(glval) = VariableAddress[n] : -# 2152| r2152_3(unsigned long) = Load[n] : &:r2152_2, ~m? -# 2152| r2152_4(unsigned long) = Constant[1] : -# 2152| r2152_5(unsigned long) = Mul : r2152_3, r2152_4 -# 2152| r2152_6(void *) = Call[operator new[]] : func:r2152_1, 0:r2152_5 -# 2152| mu2152_7(unknown) = ^CallSideEffect : ~m? -# 2152| mu2152_8(unknown) = ^InitializeDynamicAllocation : &:r2152_6 -# 2152| r2152_9(DefaultCtorWithDefaultParam *) = Convert : r2152_6 -# 2153| r2153_1(glval) = FunctionAddress[operator new[]] : -# 2153| r2153_2(glval) = VariableAddress[n] : -# 2153| r2153_3(unsigned long) = Load[n] : &:r2153_2, ~m? -# 2153| r2153_4(unsigned long) = Constant[4] : -# 2153| r2153_5(unsigned long) = Mul : r2153_3, r2153_4 -# 2153| r2153_6(void *) = Call[operator new[]] : func:r2153_1, 0:r2153_5 -# 2153| mu2153_7(unknown) = ^CallSideEffect : ~m? -# 2153| mu2153_8(unknown) = ^InitializeDynamicAllocation : &:r2153_6 -# 2153| r2153_9(int *) = Convert : r2153_6 -# 2154| v2154_1(void) = NoOp : -# 2147| v2147_6(void) = ReturnVoid : -# 2147| v2147_7(void) = AliasedUse : ~m? -# 2147| v2147_8(void) = ExitFunction : - -# 2158| char* test_strtod(char*) -# 2158| Block 0 -# 2158| v2158_1(void) = EnterFunction : -# 2158| mu2158_2(unknown) = AliasedDefinition : -# 2158| mu2158_3(unknown) = InitializeNonLocal : -# 2158| r2158_4(glval) = VariableAddress[s] : -# 2158| mu2158_5(char *) = InitializeParameter[s] : &:r2158_4 -# 2158| r2158_6(char *) = Load[s] : &:r2158_4, ~m? -# 2158| mu2158_7(unknown) = InitializeIndirection[s] : &:r2158_6 -# 2159| r2159_1(glval) = VariableAddress[end] : -# 2159| mu2159_2(char *) = Uninitialized[end] : &:r2159_1 -# 2160| r2160_1(glval) = VariableAddress[d] : -# 2160| r2160_2(glval) = FunctionAddress[strtod] : -# 2160| r2160_3(glval) = VariableAddress[s] : -# 2160| r2160_4(char *) = Load[s] : &:r2160_3, ~m? -# 2160| r2160_5(char *) = Convert : r2160_4 -# 2160| r2160_6(glval) = VariableAddress[end] : -# 2160| r2160_7(char **) = CopyValue : r2160_6 -# 2160| r2160_8(double) = Call[strtod] : func:r2160_2, 0:r2160_5, 1:r2160_7 -# 2160| v2160_9(void) = ^BufferReadSideEffect[0] : &:r2160_5, ~m? -# 2160| mu2160_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2160_7 -# 2160| mu2160_11(double) = Store[d] : &:r2160_1, r2160_8 -# 2161| r2161_1(glval) = VariableAddress[#return] : -# 2161| r2161_2(glval) = VariableAddress[end] : -# 2161| r2161_3(char *) = Load[end] : &:r2161_2, ~m? -# 2161| mu2161_4(char *) = Store[#return] : &:r2161_1, r2161_3 -# 2158| v2158_8(void) = ReturnIndirection[s] : &:r2158_6, ~m? -# 2158| r2158_9(glval) = VariableAddress[#return] : -# 2158| v2158_10(void) = ReturnValue : &:r2158_9, ~m? -# 2158| v2158_11(void) = AliasedUse : ~m? -# 2158| v2158_12(void) = ExitFunction : - -# 2168| void call_as_child_of_ConditionDeclExpr() -# 2168| Block 0 -# 2168| v2168_1(void) = EnterFunction : -# 2168| mu2168_2(unknown) = AliasedDefinition : -# 2168| mu2168_3(unknown) = InitializeNonLocal : -# 2169| r2169_1(glval) = VariableAddress[b] : -# 2169| r2169_2(HasOperatorBool) = Constant[0] : -# 2169| mu2169_3(HasOperatorBool) = Store[b] : &:r2169_1, r2169_2 -# 2169| r2169_4(glval) = VariableAddress[b] : -# 2169| r2169_5(glval) = FunctionAddress[operator bool] : -# 2169| r2169_6(bool) = Call[operator bool] : func:r2169_5, this:r2169_4 -# 2169| mu2169_7(unknown) = ^CallSideEffect : ~m? -# 2169| v2169_8(void) = ^IndirectReadSideEffect[-1] : &:r2169_4, ~m? -# 2169| mu2169_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2169_4 -# 2169| r2169_10(bool) = CopyValue : r2169_6 -# 2169| v2169_11(void) = ConditionalBranch : r2169_10 +# 2157| Block 2 +# 2157| r2157_1(glval) = FunctionAddress[VoidFunc] : +# 2157| v2157_2(void) = Call[VoidFunc] : func:r2157_1 +# 2157| mu2157_3(unknown) = ^CallSideEffect : ~m? +# 2158| r2158_1(glval) = VariableAddress[#return] : +# 2158| r2158_2(glval) = VariableAddress[x] : +# 2158| r2158_3(int) = Load[x] : &:r2158_2, ~m? +# 2158| mu2158_4(int) = Store[#return] : &:r2158_1, r2158_3 +# 2153| r2153_4(glval) = VariableAddress[#return] : +# 2153| v2153_5(void) = ReturnValue : &:r2153_4, ~m? +# 2153| v2153_6(void) = AliasedUse : ~m? +# 2153| v2153_7(void) = ExitFunction : + +# 2161| void newArrayCorrectType(size_t) +# 2161| Block 0 +# 2161| v2161_1(void) = EnterFunction : +# 2161| mu2161_2(unknown) = AliasedDefinition : +# 2161| mu2161_3(unknown) = InitializeNonLocal : +# 2161| r2161_4(glval) = VariableAddress[n] : +# 2161| mu2161_5(unsigned long) = InitializeParameter[n] : &:r2161_4 +# 2162| r2162_1(glval) = FunctionAddress[operator new[]] : +# 2162| r2162_2(glval) = VariableAddress[n] : +# 2162| r2162_3(unsigned long) = Load[n] : &:r2162_2, ~m? +# 2162| r2162_4(unsigned long) = Constant[4] : +# 2162| r2162_5(unsigned long) = Mul : r2162_3, r2162_4 +# 2162| r2162_6(void *) = Call[operator new[]] : func:r2162_1, 0:r2162_5 +# 2162| mu2162_7(unknown) = ^CallSideEffect : ~m? +# 2162| mu2162_8(unknown) = ^InitializeDynamicAllocation : &:r2162_6 +# 2162| r2162_9(int *) = Convert : r2162_6 +# 2163| r2163_1(glval) = FunctionAddress[operator new[]] : +# 2163| r2163_2(glval) = VariableAddress[n] : +# 2163| r2163_3(unsigned long) = Load[n] : &:r2163_2, ~m? +# 2163| r2163_4(unsigned long) = Constant[4] : +# 2163| r2163_5(unsigned long) = Mul : r2163_3, r2163_4 +# 2163| r2163_6(float) = Constant[1.0] : +# 2163| r2163_7(void *) = Call[operator new[]] : func:r2163_1, 0:r2163_5, 1:r2163_6 +# 2163| mu2163_8(unknown) = ^CallSideEffect : ~m? +# 2163| mu2163_9(unknown) = ^InitializeDynamicAllocation : &:r2163_7 +# 2163| r2163_10(int *) = Convert : r2163_7 +# 2164| r2164_1(glval) = FunctionAddress[operator new[]] : +# 2164| r2164_2(glval) = VariableAddress[n] : +# 2164| r2164_3(unsigned long) = Load[n] : &:r2164_2, ~m? +# 2164| r2164_4(unsigned long) = Constant[8] : +# 2164| r2164_5(unsigned long) = Mul : r2164_3, r2164_4 +# 2164| r2164_6(void *) = Call[operator new[]] : func:r2164_1, 0:r2164_5 +# 2164| mu2164_7(unknown) = ^CallSideEffect : ~m? +# 2164| mu2164_8(unknown) = ^InitializeDynamicAllocation : &:r2164_6 +# 2164| r2164_9(String *) = Convert : r2164_6 +# 2165| r2165_1(glval) = FunctionAddress[operator new[]] : +# 2165| r2165_2(glval) = VariableAddress[n] : +# 2165| r2165_3(unsigned long) = Load[n] : &:r2165_2, ~m? +# 2165| r2165_4(unsigned long) = Constant[256] : +# 2165| r2165_5(unsigned long) = Mul : r2165_3, r2165_4 +# 2165| r2165_6(align_val_t) = Constant[128] : +# 2165| r2165_7(void *) = Call[operator new[]] : func:r2165_1, 0:r2165_5, 1:r2165_6 +# 2165| mu2165_8(unknown) = ^CallSideEffect : ~m? +# 2165| mu2165_9(unknown) = ^InitializeDynamicAllocation : &:r2165_7 +# 2165| r2165_10(Overaligned *) = Convert : r2165_7 +# 2166| r2166_1(glval) = FunctionAddress[operator new[]] : +# 2166| r2166_2(glval) = VariableAddress[n] : +# 2166| r2166_3(unsigned long) = Load[n] : &:r2166_2, ~m? +# 2166| r2166_4(unsigned long) = Constant[1] : +# 2166| r2166_5(unsigned long) = Mul : r2166_3, r2166_4 +# 2166| r2166_6(void *) = Call[operator new[]] : func:r2166_1, 0:r2166_5 +# 2166| mu2166_7(unknown) = ^CallSideEffect : ~m? +# 2166| mu2166_8(unknown) = ^InitializeDynamicAllocation : &:r2166_6 +# 2166| r2166_9(DefaultCtorWithDefaultParam *) = Convert : r2166_6 +# 2167| r2167_1(glval) = FunctionAddress[operator new[]] : +# 2167| r2167_2(glval) = VariableAddress[n] : +# 2167| r2167_3(unsigned long) = Load[n] : &:r2167_2, ~m? +# 2167| r2167_4(unsigned long) = Constant[4] : +# 2167| r2167_5(unsigned long) = Mul : r2167_3, r2167_4 +# 2167| r2167_6(void *) = Call[operator new[]] : func:r2167_1, 0:r2167_5 +# 2167| mu2167_7(unknown) = ^CallSideEffect : ~m? +# 2167| mu2167_8(unknown) = ^InitializeDynamicAllocation : &:r2167_6 +# 2167| r2167_9(int *) = Convert : r2167_6 +# 2168| v2168_1(void) = NoOp : +# 2161| v2161_6(void) = ReturnVoid : +# 2161| v2161_7(void) = AliasedUse : ~m? +# 2161| v2161_8(void) = ExitFunction : + +# 2172| char* test_strtod(char*) +# 2172| Block 0 +# 2172| v2172_1(void) = EnterFunction : +# 2172| mu2172_2(unknown) = AliasedDefinition : +# 2172| mu2172_3(unknown) = InitializeNonLocal : +# 2172| r2172_4(glval) = VariableAddress[s] : +# 2172| mu2172_5(char *) = InitializeParameter[s] : &:r2172_4 +# 2172| r2172_6(char *) = Load[s] : &:r2172_4, ~m? +# 2172| mu2172_7(unknown) = InitializeIndirection[s] : &:r2172_6 +# 2173| r2173_1(glval) = VariableAddress[end] : +# 2173| mu2173_2(char *) = Uninitialized[end] : &:r2173_1 +# 2174| r2174_1(glval) = VariableAddress[d] : +# 2174| r2174_2(glval) = FunctionAddress[strtod] : +# 2174| r2174_3(glval) = VariableAddress[s] : +# 2174| r2174_4(char *) = Load[s] : &:r2174_3, ~m? +# 2174| r2174_5(char *) = Convert : r2174_4 +# 2174| r2174_6(glval) = VariableAddress[end] : +# 2174| r2174_7(char **) = CopyValue : r2174_6 +# 2174| r2174_8(double) = Call[strtod] : func:r2174_2, 0:r2174_5, 1:r2174_7 +# 2174| v2174_9(void) = ^BufferReadSideEffect[0] : &:r2174_5, ~m? +# 2174| mu2174_10(char *) = ^IndirectMayWriteSideEffect[1] : &:r2174_7 +# 2174| mu2174_11(double) = Store[d] : &:r2174_1, r2174_8 +# 2175| r2175_1(glval) = VariableAddress[#return] : +# 2175| r2175_2(glval) = VariableAddress[end] : +# 2175| r2175_3(char *) = Load[end] : &:r2175_2, ~m? +# 2175| mu2175_4(char *) = Store[#return] : &:r2175_1, r2175_3 +# 2172| v2172_8(void) = ReturnIndirection[s] : &:r2172_6, ~m? +# 2172| r2172_9(glval) = VariableAddress[#return] : +# 2172| v2172_10(void) = ReturnValue : &:r2172_9, ~m? +# 2172| v2172_11(void) = AliasedUse : ~m? +# 2172| v2172_12(void) = ExitFunction : + +# 2182| void call_as_child_of_ConditionDeclExpr() +# 2182| Block 0 +# 2182| v2182_1(void) = EnterFunction : +# 2182| mu2182_2(unknown) = AliasedDefinition : +# 2182| mu2182_3(unknown) = InitializeNonLocal : +# 2183| r2183_1(glval) = VariableAddress[b] : +# 2183| r2183_2(HasOperatorBool) = Constant[0] : +# 2183| mu2183_3(HasOperatorBool) = Store[b] : &:r2183_1, r2183_2 +# 2183| r2183_4(glval) = VariableAddress[b] : +# 2183| r2183_5(glval) = FunctionAddress[operator bool] : +# 2183| r2183_6(bool) = Call[operator bool] : func:r2183_5, this:r2183_4 +# 2183| mu2183_7(unknown) = ^CallSideEffect : ~m? +# 2183| v2183_8(void) = ^IndirectReadSideEffect[-1] : &:r2183_4, ~m? +# 2183| mu2183_9(HasOperatorBool) = ^IndirectMayWriteSideEffect[-1] : &:r2183_4 +# 2183| r2183_10(bool) = CopyValue : r2183_6 +# 2183| v2183_11(void) = ConditionalBranch : r2183_10 #-----| False -> Block 2 #-----| True -> Block 1 -# 2169| Block 1 -# 2169| v2169_12(void) = NoOp : +# 2183| Block 1 +# 2183| v2183_12(void) = NoOp : #-----| Goto -> Block 2 -# 2170| Block 2 -# 2170| v2170_1(void) = NoOp : -# 2168| v2168_4(void) = ReturnVoid : -# 2168| v2168_5(void) = AliasedUse : ~m? -# 2168| v2168_6(void) = ExitFunction : - -# 2172| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) -# 2172| Block 0 -# 2172| v2172_1(void) = EnterFunction : -# 2172| mu2172_2(unknown) = AliasedDefinition : -# 2172| mu2172_3(unknown) = InitializeNonLocal : -# 2172| r2172_4(glval) = VariableAddress[#this] : -# 2172| mu2172_5(glval) = InitializeParameter[#this] : &:r2172_4 -# 2172| r2172_6(glval) = Load[#this] : &:r2172_4, ~m? -# 2172| mu2172_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2172_6 +# 2184| Block 2 +# 2184| v2184_1(void) = NoOp : +# 2182| v2182_4(void) = ReturnVoid : +# 2182| v2182_5(void) = AliasedUse : ~m? +# 2182| v2182_6(void) = ExitFunction : + +# 2186| void ClassWithDestructor::ClassWithDestructor(ClassWithDestructor const&) +# 2186| Block 0 +# 2186| v2186_1(void) = EnterFunction : +# 2186| mu2186_2(unknown) = AliasedDefinition : +# 2186| mu2186_3(unknown) = InitializeNonLocal : +# 2186| r2186_4(glval) = VariableAddress[#this] : +# 2186| mu2186_5(glval) = InitializeParameter[#this] : &:r2186_4 +# 2186| r2186_6(glval) = Load[#this] : &:r2186_4, ~m? +# 2186| mu2186_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2186_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 -# 2172| r2172_8(glval) = FieldAddress[x] : mu2172_5 -# 2172| r2172_9(glval) = VariableAddress[(unnamed parameter 0)] : -# 2172| r2172_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2172_9, ~m? -# 2172| r2172_11(glval) = CopyValue : r2172_10 -# 2172| r2172_12(glval) = FieldAddress[x] : r2172_11 -# 2172| r2172_13(char *) = Load[?] : &:r2172_12, ~m? -# 2172| mu2172_14(char *) = Store[?] : &:r2172_8, r2172_13 -# 2172| v2172_15(void) = NoOp : -# 2172| v2172_16(void) = ReturnIndirection[#this] : &:r2172_6, ~m? +# 2186| r2186_8(glval) = FieldAddress[x] : mu2186_5 +# 2186| r2186_9(glval) = VariableAddress[(unnamed parameter 0)] : +# 2186| r2186_10(ClassWithDestructor &) = Load[(unnamed parameter 0)] : &:r2186_9, ~m? +# 2186| r2186_11(glval) = CopyValue : r2186_10 +# 2186| r2186_12(glval) = FieldAddress[x] : r2186_11 +# 2186| r2186_13(char *) = Load[?] : &:r2186_12, ~m? +# 2186| mu2186_14(char *) = Store[?] : &:r2186_8, r2186_13 +# 2186| v2186_15(void) = NoOp : +# 2186| v2186_16(void) = ReturnIndirection[#this] : &:r2186_6, ~m? #-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m? -# 2172| v2172_17(void) = ReturnVoid : -# 2172| v2172_18(void) = AliasedUse : ~m? -# 2172| v2172_19(void) = ExitFunction : - -# 2175| void ClassWithDestructor::ClassWithDestructor() -# 2175| Block 0 -# 2175| v2175_1(void) = EnterFunction : -# 2175| mu2175_2(unknown) = AliasedDefinition : -# 2175| mu2175_3(unknown) = InitializeNonLocal : -# 2175| r2175_4(glval) = VariableAddress[#this] : -# 2175| mu2175_5(glval) = InitializeParameter[#this] : &:r2175_4 -# 2175| r2175_6(glval) = Load[#this] : &:r2175_4, ~m? -# 2175| mu2175_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2175_6 -# 2175| r2175_8(glval) = FunctionAddress[operator new] : -# 2175| r2175_9(unsigned long) = Constant[1] : -# 2175| r2175_10(void *) = Call[operator new] : func:r2175_8, 0:r2175_9 -# 2175| mu2175_11(unknown) = ^CallSideEffect : ~m? -# 2175| mu2175_12(unknown) = ^InitializeDynamicAllocation : &:r2175_10 -# 2175| r2175_13(char *) = Convert : r2175_10 -# 2175| r2175_14(glval) = VariableAddress[#this] : -# 2175| r2175_15(ClassWithDestructor *) = Load[#this] : &:r2175_14, ~m? -# 2175| r2175_16(glval) = FieldAddress[x] : r2175_15 -# 2175| mu2175_17(char *) = Store[?] : &:r2175_16, r2175_13 -# 2175| v2175_18(void) = NoOp : -# 2175| v2175_19(void) = ReturnIndirection[#this] : &:r2175_6, ~m? -# 2175| v2175_20(void) = ReturnVoid : -# 2175| v2175_21(void) = AliasedUse : ~m? -# 2175| v2175_22(void) = ExitFunction : - -# 2176| void ClassWithDestructor::~ClassWithDestructor() -# 2176| Block 0 -# 2176| v2176_1(void) = EnterFunction : -# 2176| mu2176_2(unknown) = AliasedDefinition : -# 2176| mu2176_3(unknown) = InitializeNonLocal : -# 2176| r2176_4(glval) = VariableAddress[#this] : -# 2176| mu2176_5(glval) = InitializeParameter[#this] : &:r2176_4 -# 2176| r2176_6(glval) = Load[#this] : &:r2176_4, ~m? -# 2176| mu2176_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2176_6 -# 2176| r2176_8(glval) = FunctionAddress[operator delete] : -# 2176| r2176_9(glval) = VariableAddress[#this] : -# 2176| r2176_10(ClassWithDestructor *) = Load[#this] : &:r2176_9, ~m? -# 2176| r2176_11(glval) = FieldAddress[x] : r2176_10 -# 2176| r2176_12(char *) = Load[?] : &:r2176_11, ~m? -# 2176| v2176_13(void) = Call[operator delete] : func:r2176_8, 0:r2176_12 -# 2176| mu2176_14(unknown) = ^CallSideEffect : ~m? -# 2176| v2176_15(void) = NoOp : -# 2176| v2176_16(void) = ReturnIndirection[#this] : &:r2176_6, ~m? -# 2176| v2176_17(void) = ReturnVoid : -# 2176| v2176_18(void) = AliasedUse : ~m? -# 2176| v2176_19(void) = ExitFunction : - -# 2178| void ClassWithDestructor::set_x(char) -# 2178| Block 0 -# 2178| v2178_1(void) = EnterFunction : -# 2178| mu2178_2(unknown) = AliasedDefinition : -# 2178| mu2178_3(unknown) = InitializeNonLocal : -# 2178| r2178_4(glval) = VariableAddress[#this] : -# 2178| mu2178_5(glval) = InitializeParameter[#this] : &:r2178_4 -# 2178| r2178_6(glval) = Load[#this] : &:r2178_4, ~m? -# 2178| mu2178_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2178_6 -# 2178| r2178_8(glval) = VariableAddress[y] : -# 2178| mu2178_9(char) = InitializeParameter[y] : &:r2178_8 -# 2178| r2178_10(glval) = VariableAddress[y] : -# 2178| r2178_11(char) = Load[y] : &:r2178_10, ~m? -# 2178| r2178_12(glval) = VariableAddress[#this] : -# 2178| r2178_13(ClassWithDestructor *) = Load[#this] : &:r2178_12, ~m? -# 2178| r2178_14(glval) = FieldAddress[x] : r2178_13 -# 2178| r2178_15(char *) = Load[?] : &:r2178_14, ~m? -# 2178| r2178_16(glval) = CopyValue : r2178_15 -# 2178| mu2178_17(char) = Store[?] : &:r2178_16, r2178_11 -# 2178| v2178_18(void) = NoOp : -# 2178| v2178_19(void) = ReturnIndirection[#this] : &:r2178_6, ~m? -# 2178| v2178_20(void) = ReturnVoid : -# 2178| v2178_21(void) = AliasedUse : ~m? -# 2178| v2178_22(void) = ExitFunction : - -# 2179| char ClassWithDestructor::get_x() -# 2179| Block 0 -# 2179| v2179_1(void) = EnterFunction : -# 2179| mu2179_2(unknown) = AliasedDefinition : -# 2179| mu2179_3(unknown) = InitializeNonLocal : -# 2179| r2179_4(glval) = VariableAddress[#this] : -# 2179| mu2179_5(glval) = InitializeParameter[#this] : &:r2179_4 -# 2179| r2179_6(glval) = Load[#this] : &:r2179_4, ~m? -# 2179| mu2179_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2179_6 -# 2179| r2179_8(glval) = VariableAddress[#return] : -# 2179| r2179_9(glval) = VariableAddress[#this] : -# 2179| r2179_10(ClassWithDestructor *) = Load[#this] : &:r2179_9, ~m? -# 2179| r2179_11(glval) = FieldAddress[x] : r2179_10 -# 2179| r2179_12(char *) = Load[?] : &:r2179_11, ~m? -# 2179| r2179_13(char) = Load[?] : &:r2179_12, ~m? -# 2179| mu2179_14(char) = Store[#return] : &:r2179_8, r2179_13 -# 2179| v2179_15(void) = ReturnIndirection[#this] : &:r2179_6, ~m? -# 2179| r2179_16(glval) = VariableAddress[#return] : -# 2179| v2179_17(void) = ReturnValue : &:r2179_16, ~m? -# 2179| v2179_18(void) = AliasedUse : ~m? -# 2179| v2179_19(void) = ExitFunction : - -# 2182| bool initialization_with_destructor_bool -# 2182| Block 0 -# 2182| v2182_1(void) = EnterFunction : -# 2182| mu2182_2(unknown) = AliasedDefinition : -# 2182| r2182_3(glval) = VariableAddress[initialization_with_destructor_bool] : -# 2182| r2182_4(bool) = Constant[1] : -# 2182| mu2182_5(bool) = Store[initialization_with_destructor_bool] : &:r2182_3, r2182_4 -# 2182| v2182_6(void) = ReturnVoid : -# 2182| v2182_7(void) = AliasedUse : ~m? -# 2182| v2182_8(void) = ExitFunction : - -# 2184| void initialization_with_destructor(bool, char) -# 2184| Block 0 -# 2184| v2184_1(void) = EnterFunction : -# 2184| mu2184_2(unknown) = AliasedDefinition : -# 2184| mu2184_3(unknown) = InitializeNonLocal : -# 2184| r2184_4(glval) = VariableAddress[b] : -# 2184| mu2184_5(bool) = InitializeParameter[b] : &:r2184_4 -# 2184| r2184_6(glval) = VariableAddress[c] : -# 2184| mu2184_7(char) = InitializeParameter[c] : &:r2184_6 -# 2185| r2185_1(glval) = VariableAddress[x] : -# 2185| mu2185_2(ClassWithDestructor) = Uninitialized[x] : &:r2185_1 -# 2185| r2185_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2185| v2185_4(void) = Call[ClassWithDestructor] : func:r2185_3, this:r2185_1 -# 2185| mu2185_5(unknown) = ^CallSideEffect : ~m? -# 2185| mu2185_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1 -# 2185| r2185_7(glval) = VariableAddress[b] : -# 2185| r2185_8(bool) = Load[b] : &:r2185_7, ~m? -# 2185| v2185_9(void) = ConditionalBranch : r2185_8 +# 2186| v2186_17(void) = ReturnVoid : +# 2186| v2186_18(void) = AliasedUse : ~m? +# 2186| v2186_19(void) = ExitFunction : + +# 2189| void ClassWithDestructor::ClassWithDestructor() +# 2189| Block 0 +# 2189| v2189_1(void) = EnterFunction : +# 2189| mu2189_2(unknown) = AliasedDefinition : +# 2189| mu2189_3(unknown) = InitializeNonLocal : +# 2189| r2189_4(glval) = VariableAddress[#this] : +# 2189| mu2189_5(glval) = InitializeParameter[#this] : &:r2189_4 +# 2189| r2189_6(glval) = Load[#this] : &:r2189_4, ~m? +# 2189| mu2189_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2189_6 +# 2189| r2189_8(glval) = FunctionAddress[operator new] : +# 2189| r2189_9(unsigned long) = Constant[1] : +# 2189| r2189_10(void *) = Call[operator new] : func:r2189_8, 0:r2189_9 +# 2189| mu2189_11(unknown) = ^CallSideEffect : ~m? +# 2189| mu2189_12(unknown) = ^InitializeDynamicAllocation : &:r2189_10 +# 2189| r2189_13(char *) = Convert : r2189_10 +# 2189| r2189_14(glval) = VariableAddress[#this] : +# 2189| r2189_15(ClassWithDestructor *) = Load[#this] : &:r2189_14, ~m? +# 2189| r2189_16(glval) = FieldAddress[x] : r2189_15 +# 2189| mu2189_17(char *) = Store[?] : &:r2189_16, r2189_13 +# 2189| v2189_18(void) = NoOp : +# 2189| v2189_19(void) = ReturnIndirection[#this] : &:r2189_6, ~m? +# 2189| v2189_20(void) = ReturnVoid : +# 2189| v2189_21(void) = AliasedUse : ~m? +# 2189| v2189_22(void) = ExitFunction : + +# 2190| void ClassWithDestructor::~ClassWithDestructor() +# 2190| Block 0 +# 2190| v2190_1(void) = EnterFunction : +# 2190| mu2190_2(unknown) = AliasedDefinition : +# 2190| mu2190_3(unknown) = InitializeNonLocal : +# 2190| r2190_4(glval) = VariableAddress[#this] : +# 2190| mu2190_5(glval) = InitializeParameter[#this] : &:r2190_4 +# 2190| r2190_6(glval) = Load[#this] : &:r2190_4, ~m? +# 2190| mu2190_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2190_6 +# 2190| r2190_8(glval) = FunctionAddress[operator delete] : +# 2190| r2190_9(glval) = VariableAddress[#this] : +# 2190| r2190_10(ClassWithDestructor *) = Load[#this] : &:r2190_9, ~m? +# 2190| r2190_11(glval) = FieldAddress[x] : r2190_10 +# 2190| r2190_12(char *) = Load[?] : &:r2190_11, ~m? +# 2190| v2190_13(void) = Call[operator delete] : func:r2190_8, 0:r2190_12 +# 2190| mu2190_14(unknown) = ^CallSideEffect : ~m? +# 2190| v2190_15(void) = NoOp : +# 2190| v2190_16(void) = ReturnIndirection[#this] : &:r2190_6, ~m? +# 2190| v2190_17(void) = ReturnVoid : +# 2190| v2190_18(void) = AliasedUse : ~m? +# 2190| v2190_19(void) = ExitFunction : + +# 2192| void ClassWithDestructor::set_x(char) +# 2192| Block 0 +# 2192| v2192_1(void) = EnterFunction : +# 2192| mu2192_2(unknown) = AliasedDefinition : +# 2192| mu2192_3(unknown) = InitializeNonLocal : +# 2192| r2192_4(glval) = VariableAddress[#this] : +# 2192| mu2192_5(glval) = InitializeParameter[#this] : &:r2192_4 +# 2192| r2192_6(glval) = Load[#this] : &:r2192_4, ~m? +# 2192| mu2192_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2192_6 +# 2192| r2192_8(glval) = VariableAddress[y] : +# 2192| mu2192_9(char) = InitializeParameter[y] : &:r2192_8 +# 2192| r2192_10(glval) = VariableAddress[y] : +# 2192| r2192_11(char) = Load[y] : &:r2192_10, ~m? +# 2192| r2192_12(glval) = VariableAddress[#this] : +# 2192| r2192_13(ClassWithDestructor *) = Load[#this] : &:r2192_12, ~m? +# 2192| r2192_14(glval) = FieldAddress[x] : r2192_13 +# 2192| r2192_15(char *) = Load[?] : &:r2192_14, ~m? +# 2192| r2192_16(glval) = CopyValue : r2192_15 +# 2192| mu2192_17(char) = Store[?] : &:r2192_16, r2192_11 +# 2192| v2192_18(void) = NoOp : +# 2192| v2192_19(void) = ReturnIndirection[#this] : &:r2192_6, ~m? +# 2192| v2192_20(void) = ReturnVoid : +# 2192| v2192_21(void) = AliasedUse : ~m? +# 2192| v2192_22(void) = ExitFunction : + +# 2193| char ClassWithDestructor::get_x() +# 2193| Block 0 +# 2193| v2193_1(void) = EnterFunction : +# 2193| mu2193_2(unknown) = AliasedDefinition : +# 2193| mu2193_3(unknown) = InitializeNonLocal : +# 2193| r2193_4(glval) = VariableAddress[#this] : +# 2193| mu2193_5(glval) = InitializeParameter[#this] : &:r2193_4 +# 2193| r2193_6(glval) = Load[#this] : &:r2193_4, ~m? +# 2193| mu2193_7(ClassWithDestructor) = InitializeIndirection[#this] : &:r2193_6 +# 2193| r2193_8(glval) = VariableAddress[#return] : +# 2193| r2193_9(glval) = VariableAddress[#this] : +# 2193| r2193_10(ClassWithDestructor *) = Load[#this] : &:r2193_9, ~m? +# 2193| r2193_11(glval) = FieldAddress[x] : r2193_10 +# 2193| r2193_12(char *) = Load[?] : &:r2193_11, ~m? +# 2193| r2193_13(char) = Load[?] : &:r2193_12, ~m? +# 2193| mu2193_14(char) = Store[#return] : &:r2193_8, r2193_13 +# 2193| v2193_15(void) = ReturnIndirection[#this] : &:r2193_6, ~m? +# 2193| r2193_16(glval) = VariableAddress[#return] : +# 2193| v2193_17(void) = ReturnValue : &:r2193_16, ~m? +# 2193| v2193_18(void) = AliasedUse : ~m? +# 2193| v2193_19(void) = ExitFunction : + +# 2196| bool initialization_with_destructor_bool +# 2196| Block 0 +# 2196| v2196_1(void) = EnterFunction : +# 2196| mu2196_2(unknown) = AliasedDefinition : +# 2196| r2196_3(glval) = VariableAddress[initialization_with_destructor_bool] : +# 2196| r2196_4(bool) = Constant[1] : +# 2196| mu2196_5(bool) = Store[initialization_with_destructor_bool] : &:r2196_3, r2196_4 +# 2196| v2196_6(void) = ReturnVoid : +# 2196| v2196_7(void) = AliasedUse : ~m? +# 2196| v2196_8(void) = ExitFunction : + +# 2198| void initialization_with_destructor(bool, char) +# 2198| Block 0 +# 2198| v2198_1(void) = EnterFunction : +# 2198| mu2198_2(unknown) = AliasedDefinition : +# 2198| mu2198_3(unknown) = InitializeNonLocal : +# 2198| r2198_4(glval) = VariableAddress[b] : +# 2198| mu2198_5(bool) = InitializeParameter[b] : &:r2198_4 +# 2198| r2198_6(glval) = VariableAddress[c] : +# 2198| mu2198_7(char) = InitializeParameter[c] : &:r2198_6 +# 2199| r2199_1(glval) = VariableAddress[x] : +# 2199| mu2199_2(ClassWithDestructor) = Uninitialized[x] : &:r2199_1 +# 2199| r2199_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2199| v2199_4(void) = Call[ClassWithDestructor] : func:r2199_3, this:r2199_1 +# 2199| mu2199_5(unknown) = ^CallSideEffect : ~m? +# 2199| mu2199_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1 +# 2199| r2199_7(glval) = VariableAddress[b] : +# 2199| r2199_8(bool) = Load[b] : &:r2199_7, ~m? +# 2199| v2199_9(void) = ConditionalBranch : r2199_8 #-----| False -> Block 3 #-----| True -> Block 2 -# 2184| Block 1 -# 2184| v2184_8(void) = ReturnVoid : -# 2184| v2184_9(void) = AliasedUse : ~m? -# 2184| v2184_10(void) = ExitFunction : - -# 2186| Block 2 -# 2186| r2186_1(glval) = VariableAddress[x] : -# 2186| r2186_2(glval) = FunctionAddress[set_x] : -# 2186| r2186_3(char) = Constant[97] : -# 2186| v2186_4(void) = Call[set_x] : func:r2186_2, this:r2186_1, 0:r2186_3 -# 2186| mu2186_5(unknown) = ^CallSideEffect : ~m? -# 2186| v2186_6(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, ~m? -# 2186| mu2186_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1 -# 2186| r2186_8(glval) = VariableAddress[x] : -# 2186| r2186_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2186| v2186_10(void) = Call[~ClassWithDestructor] : func:r2186_9, this:r2186_8 -# 2186| mu2186_11(unknown) = ^CallSideEffect : ~m? -# 2186| v2186_12(void) = ^IndirectReadSideEffect[-1] : &:r2186_8, ~m? -# 2186| mu2186_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2186_8 +# 2198| Block 1 +# 2198| v2198_8(void) = ReturnVoid : +# 2198| v2198_9(void) = AliasedUse : ~m? +# 2198| v2198_10(void) = ExitFunction : + +# 2200| Block 2 +# 2200| r2200_1(glval) = VariableAddress[x] : +# 2200| r2200_2(glval) = FunctionAddress[set_x] : +# 2200| r2200_3(char) = Constant[97] : +# 2200| v2200_4(void) = Call[set_x] : func:r2200_2, this:r2200_1, 0:r2200_3 +# 2200| mu2200_5(unknown) = ^CallSideEffect : ~m? +# 2200| v2200_6(void) = ^IndirectReadSideEffect[-1] : &:r2200_1, ~m? +# 2200| mu2200_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 +# 2200| r2200_8(glval) = VariableAddress[x] : +# 2200| r2200_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2200| v2200_10(void) = Call[~ClassWithDestructor] : func:r2200_9, this:r2200_8 +# 2200| mu2200_11(unknown) = ^CallSideEffect : ~m? +# 2200| v2200_12(void) = ^IndirectReadSideEffect[-1] : &:r2200_8, ~m? +# 2200| mu2200_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_8 #-----| Goto -> Block 3 -# 2188| Block 3 -# 2188| r2188_1(glval) = VariableAddress[x] : -# 2188| mu2188_2(ClassWithDestructor) = Uninitialized[x] : &:r2188_1 -# 2188| r2188_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2188| v2188_4(void) = Call[ClassWithDestructor] : func:r2188_3, this:r2188_1 -# 2188| mu2188_5(unknown) = ^CallSideEffect : ~m? -# 2188| mu2188_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2188_1 -# 2188| r2188_7(bool) = Constant[1] : -# 2188| v2188_8(void) = ConditionalBranch : r2188_7 +# 2202| Block 3 +# 2202| r2202_1(glval) = VariableAddress[x] : +# 2202| mu2202_2(ClassWithDestructor) = Uninitialized[x] : &:r2202_1 +# 2202| r2202_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2202| v2202_4(void) = Call[ClassWithDestructor] : func:r2202_3, this:r2202_1 +# 2202| mu2202_5(unknown) = ^CallSideEffect : ~m? +# 2202| mu2202_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 +# 2202| r2202_7(bool) = Constant[1] : +# 2202| v2202_8(void) = ConditionalBranch : r2202_7 #-----| False -> Block 6 #-----| True -> Block 4 -# 2189| Block 4 -# 2189| r2189_1(glval) = VariableAddress[x] : -# 2189| r2189_2(glval) = FunctionAddress[set_x] : -# 2189| r2189_3(char) = Constant[97] : -# 2189| v2189_4(void) = Call[set_x] : func:r2189_2, this:r2189_1, 0:r2189_3 -# 2189| mu2189_5(unknown) = ^CallSideEffect : ~m? -# 2189| v2189_6(void) = ^IndirectReadSideEffect[-1] : &:r2189_1, ~m? -# 2189| mu2189_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_1 +# 2203| Block 4 +# 2203| r2203_1(glval) = VariableAddress[x] : +# 2203| r2203_2(glval) = FunctionAddress[set_x] : +# 2203| r2203_3(char) = Constant[97] : +# 2203| v2203_4(void) = Call[set_x] : func:r2203_2, this:r2203_1, 0:r2203_3 +# 2203| mu2203_5(unknown) = ^CallSideEffect : ~m? +# 2203| v2203_6(void) = ^IndirectReadSideEffect[-1] : &:r2203_1, ~m? +# 2203| mu2203_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2203_1 #-----| Goto -> Block 6 -# 2189| Block 5 -# 2189| r2189_8(glval) = VariableAddress[x] : -# 2189| r2189_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2189| v2189_10(void) = Call[~ClassWithDestructor] : func:r2189_9, this:r2189_8 -# 2189| mu2189_11(unknown) = ^CallSideEffect : ~m? -# 2189| v2189_12(void) = ^IndirectReadSideEffect[-1] : &:r2189_8, ~m? -# 2189| mu2189_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2189_8 +# 2203| Block 5 +# 2203| r2203_8(glval) = VariableAddress[x] : +# 2203| r2203_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2203| v2203_10(void) = Call[~ClassWithDestructor] : func:r2203_9, this:r2203_8 +# 2203| mu2203_11(unknown) = ^CallSideEffect : ~m? +# 2203| v2203_12(void) = ^IndirectReadSideEffect[-1] : &:r2203_8, ~m? +# 2203| mu2203_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2203_8 #-----| Goto -> Block 6 -# 2191| Block 6 -# 2191| r2191_1(glval) = VariableAddress[x] : -# 2191| mu2191_2(ClassWithDestructor) = Uninitialized[x] : &:r2191_1 -# 2191| r2191_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2191| v2191_4(void) = Call[ClassWithDestructor] : func:r2191_3, this:r2191_1 -# 2191| mu2191_5(unknown) = ^CallSideEffect : ~m? -# 2191| mu2191_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2191_1 -# 2191| r2191_7(glval) = VariableAddress[c] : -# 2191| r2191_8(char) = Load[c] : &:r2191_7, ~m? -# 2191| r2191_9(int) = Convert : r2191_8 -# 2191| v2191_10(void) = Switch : r2191_9 +# 2205| Block 6 +# 2205| r2205_1(glval) = VariableAddress[x] : +# 2205| mu2205_2(ClassWithDestructor) = Uninitialized[x] : &:r2205_1 +# 2205| r2205_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2205| v2205_4(void) = Call[ClassWithDestructor] : func:r2205_3, this:r2205_1 +# 2205| mu2205_5(unknown) = ^CallSideEffect : ~m? +# 2205| mu2205_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 +# 2205| r2205_7(glval) = VariableAddress[c] : +# 2205| r2205_8(char) = Load[c] : &:r2205_7, ~m? +# 2205| r2205_9(int) = Convert : r2205_8 +# 2205| v2205_10(void) = Switch : r2205_9 #-----| Case[97] -> Block 7 #-----| Default -> Block 8 -# 2192| Block 7 -# 2192| v2192_1(void) = NoOp : -# 2193| r2193_1(glval) = VariableAddress[x] : -# 2193| r2193_2(glval) = FunctionAddress[set_x] : -# 2193| r2193_3(char) = Constant[97] : -# 2193| v2193_4(void) = Call[set_x] : func:r2193_2, this:r2193_1, 0:r2193_3 -# 2193| mu2193_5(unknown) = ^CallSideEffect : ~m? -# 2193| v2193_6(void) = ^IndirectReadSideEffect[-1] : &:r2193_1, ~m? -# 2193| mu2193_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2193_1 -# 2194| v2194_1(void) = NoOp : +# 2206| Block 7 +# 2206| v2206_1(void) = NoOp : +# 2207| r2207_1(glval) = VariableAddress[x] : +# 2207| r2207_2(glval) = FunctionAddress[set_x] : +# 2207| r2207_3(char) = Constant[97] : +# 2207| v2207_4(void) = Call[set_x] : func:r2207_2, this:r2207_1, 0:r2207_3 +# 2207| mu2207_5(unknown) = ^CallSideEffect : ~m? +# 2207| v2207_6(void) = ^IndirectReadSideEffect[-1] : &:r2207_1, ~m? +# 2207| mu2207_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2207_1 +# 2208| v2208_1(void) = NoOp : #-----| Goto -> Block 10 -# 2195| Block 8 -# 2195| v2195_1(void) = NoOp : -# 2196| r2196_1(glval) = VariableAddress[x] : -# 2196| r2196_2(glval) = FunctionAddress[set_x] : -# 2196| r2196_3(char) = Constant[98] : -# 2196| v2196_4(void) = Call[set_x] : func:r2196_2, this:r2196_1, 0:r2196_3 -# 2196| mu2196_5(unknown) = ^CallSideEffect : ~m? -# 2196| v2196_6(void) = ^IndirectReadSideEffect[-1] : &:r2196_1, ~m? -# 2196| mu2196_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2196_1 -# 2197| v2197_1(void) = NoOp : +# 2209| Block 8 +# 2209| v2209_1(void) = NoOp : +# 2210| r2210_1(glval) = VariableAddress[x] : +# 2210| r2210_2(glval) = FunctionAddress[set_x] : +# 2210| r2210_3(char) = Constant[98] : +# 2210| v2210_4(void) = Call[set_x] : func:r2210_2, this:r2210_1, 0:r2210_3 +# 2210| mu2210_5(unknown) = ^CallSideEffect : ~m? +# 2210| v2210_6(void) = ^IndirectReadSideEffect[-1] : &:r2210_1, ~m? +# 2210| mu2210_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 +# 2211| v2211_1(void) = NoOp : #-----| Goto -> Block 10 -# 2198| Block 9 -# 2198| r2198_1(glval) = VariableAddress[x] : -# 2198| r2198_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2198| v2198_3(void) = Call[~ClassWithDestructor] : func:r2198_2, this:r2198_1 -# 2198| mu2198_4(unknown) = ^CallSideEffect : ~m? -# 2198| v2198_5(void) = ^IndirectReadSideEffect[-1] : &:r2198_1, ~m? -# 2198| mu2198_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2198_1 +# 2212| Block 9 +# 2212| r2212_1(glval) = VariableAddress[x] : +# 2212| r2212_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2212| v2212_3(void) = Call[~ClassWithDestructor] : func:r2212_2, this:r2212_1 +# 2212| mu2212_4(unknown) = ^CallSideEffect : ~m? +# 2212| v2212_5(void) = ^IndirectReadSideEffect[-1] : &:r2212_1, ~m? +# 2212| mu2212_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2212_1 #-----| Goto -> Block 10 -# 2198| Block 10 -# 2198| v2198_7(void) = NoOp : -# 2200| r2200_1(glval) = VariableAddress[x] : -# 2200| mu2200_2(ClassWithDestructor) = Uninitialized[x] : &:r2200_1 -# 2200| r2200_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2200| v2200_4(void) = Call[ClassWithDestructor] : func:r2200_3, this:r2200_1 -# 2200| mu2200_5(unknown) = ^CallSideEffect : ~m? -# 2200| mu2200_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2200_1 -# 2201| r2201_1(glval>) = VariableAddress[ys] : -# 2201| mu2201_2(vector) = Uninitialized[ys] : &:r2201_1 -# 2201| r2201_3(glval) = FunctionAddress[vector] : -# 2201| r2201_4(glval) = VariableAddress[#temp2201:45] : -# 2201| r2201_5(glval) = VariableAddress[x] : -# 2201| r2201_6(ClassWithDestructor) = Load[x] : &:r2201_5, ~m? -# 2201| mu2201_7(ClassWithDestructor) = Store[#temp2201:45] : &:r2201_4, r2201_6 -# 2201| r2201_8(ClassWithDestructor) = Load[#temp2201:45] : &:r2201_4, ~m? -# 2201| v2201_9(void) = Call[vector] : func:r2201_3, this:r2201_1, 0:r2201_8 -# 2201| mu2201_10(unknown) = ^CallSideEffect : ~m? -# 2201| mu2201_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_1 -# 2201| r2201_12(glval &>) = VariableAddress[(__range)] : -# 2201| r2201_13(glval>) = VariableAddress[ys] : -# 2201| r2201_14(vector &) = CopyValue : r2201_13 -# 2201| mu2201_15(vector &) = Store[(__range)] : &:r2201_12, r2201_14 -# 2201| r2201_16(glval>) = VariableAddress[(__begin)] : -# 2201| r2201_17(glval &>) = VariableAddress[(__range)] : -# 2201| r2201_18(vector &) = Load[(__range)] : &:r2201_17, ~m? -#-----| r0_1(glval>) = CopyValue : r2201_18 +# 2212| Block 10 +# 2212| v2212_7(void) = NoOp : +# 2214| r2214_1(glval) = VariableAddress[x] : +# 2214| mu2214_2(ClassWithDestructor) = Uninitialized[x] : &:r2214_1 +# 2214| r2214_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2214| v2214_4(void) = Call[ClassWithDestructor] : func:r2214_3, this:r2214_1 +# 2214| mu2214_5(unknown) = ^CallSideEffect : ~m? +# 2214| mu2214_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2214_1 +# 2215| r2215_1(glval>) = VariableAddress[ys] : +# 2215| mu2215_2(vector) = Uninitialized[ys] : &:r2215_1 +# 2215| r2215_3(glval) = FunctionAddress[vector] : +# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : +# 2215| r2215_5(glval) = VariableAddress[x] : +# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, ~m? +# 2215| mu2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 +# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, ~m? +# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 +# 2215| mu2215_10(unknown) = ^CallSideEffect : ~m? +# 2215| mu2215_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 +# 2215| r2215_12(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_13(glval>) = VariableAddress[ys] : +# 2215| r2215_14(vector &) = CopyValue : r2215_13 +# 2215| mu2215_15(vector &) = Store[(__range)] : &:r2215_12, r2215_14 +# 2215| r2215_16(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_17(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_18(vector &) = Load[(__range)] : &:r2215_17, ~m? +#-----| r0_1(glval>) = CopyValue : r2215_18 #-----| r0_2(glval>) = Convert : r0_1 -# 2201| r2201_19(glval) = FunctionAddress[begin] : -# 2201| r2201_20(iterator) = Call[begin] : func:r2201_19, this:r0_2 +# 2215| r2215_19(glval) = FunctionAddress[begin] : +# 2215| r2215_20(iterator) = Call[begin] : func:r2215_19, this:r0_2 #-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2201| mu2201_21(iterator) = Store[(__begin)] : &:r2201_16, r2201_20 -# 2201| r2201_22(glval>) = VariableAddress[(__end)] : -# 2201| r2201_23(glval &>) = VariableAddress[(__range)] : -# 2201| r2201_24(vector &) = Load[(__range)] : &:r2201_23, ~m? -#-----| r0_4(glval>) = CopyValue : r2201_24 +# 2215| mu2215_21(iterator) = Store[(__begin)] : &:r2215_16, r2215_20 +# 2215| r2215_22(glval>) = VariableAddress[(__end)] : +# 2215| r2215_23(glval &>) = VariableAddress[(__range)] : +# 2215| r2215_24(vector &) = Load[(__range)] : &:r2215_23, ~m? +#-----| r0_4(glval>) = CopyValue : r2215_24 #-----| r0_5(glval>) = Convert : r0_4 -# 2201| r2201_25(glval) = FunctionAddress[end] : -# 2201| r2201_26(iterator) = Call[end] : func:r2201_25, this:r0_5 +# 2215| r2215_25(glval) = FunctionAddress[end] : +# 2215| r2215_26(iterator) = Call[end] : func:r2215_25, this:r0_5 #-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2201| mu2201_27(iterator) = Store[(__end)] : &:r2201_22, r2201_26 +# 2215| mu2215_27(iterator) = Store[(__end)] : &:r2215_22, r2215_26 #-----| Goto -> Block 11 -# 2201| Block 11 -# 2201| r2201_28(glval>) = VariableAddress[(__begin)] : -#-----| r0_7(glval>) = Convert : r2201_28 -# 2201| r2201_29(glval) = FunctionAddress[operator!=] : +# 2215| Block 11 +# 2215| r2215_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2215_28 +# 2215| r2215_29(glval) = FunctionAddress[operator!=] : #-----| r0_8(glval>) = VariableAddress[#temp0:0] : #-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 -# 2201| r2201_30(glval) = FunctionAddress[iterator] : -# 2201| r2201_31(glval>) = VariableAddress[(__end)] : -#-----| r0_10(glval>) = Convert : r2201_31 +# 2215| r2215_30(glval) = FunctionAddress[iterator] : +# 2215| r2215_31(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2215_31 #-----| r0_11(iterator &) = CopyValue : r0_10 -# 2201| v2201_32(void) = Call[iterator] : func:r2201_30, this:r0_8, 0:r0_11 -# 2201| mu2201_33(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_32(void) = Call[iterator] : func:r2215_30, this:r0_8, 0:r0_11 +# 2215| mu2215_33(unknown) = ^CallSideEffect : ~m? #-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? -# 2201| mu2201_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2215| mu2215_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 #-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? -# 2201| r2201_35(bool) = Call[operator!=] : func:r2201_29, this:r0_7, 0:r0_13 -# 2201| mu2201_36(unknown) = ^CallSideEffect : ~m? +# 2215| r2215_35(bool) = Call[operator!=] : func:r2215_29, this:r0_7, 0:r0_13 +# 2215| mu2215_36(unknown) = ^CallSideEffect : ~m? #-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2201| v2201_37(void) = ConditionalBranch : r2201_35 +# 2215| v2215_37(void) = ConditionalBranch : r2215_35 #-----| False -> Block 14 #-----| True -> Block 12 -# 2201| Block 12 -# 2201| r2201_38(glval) = VariableAddress[y] : -# 2201| r2201_39(glval>) = VariableAddress[(__begin)] : -#-----| r0_15(glval>) = Convert : r2201_39 -# 2201| r2201_40(glval) = FunctionAddress[operator*] : -# 2201| r2201_41(ClassWithDestructor &) = Call[operator*] : func:r2201_40, this:r0_15 -# 2201| mu2201_42(unknown) = ^CallSideEffect : ~m? +# 2215| Block 12 +# 2215| r2215_38(glval) = VariableAddress[y] : +# 2215| r2215_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2215_39 +# 2215| r2215_40(glval) = FunctionAddress[operator*] : +# 2215| r2215_41(ClassWithDestructor &) = Call[operator*] : func:r2215_40, this:r0_15 +# 2215| mu2215_42(unknown) = ^CallSideEffect : ~m? #-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 2201| r2201_43(ClassWithDestructor) = Load[?] : &:r2201_41, ~m? -# 2201| mu2201_44(ClassWithDestructor) = Store[y] : &:r2201_38, r2201_43 -# 2202| r2202_1(glval) = VariableAddress[y] : -# 2202| r2202_2(glval) = FunctionAddress[set_x] : -# 2202| r2202_3(char) = Constant[97] : -# 2202| v2202_4(void) = Call[set_x] : func:r2202_2, this:r2202_1, 0:r2202_3 -# 2202| mu2202_5(unknown) = ^CallSideEffect : ~m? -# 2202| v2202_6(void) = ^IndirectReadSideEffect[-1] : &:r2202_1, ~m? -# 2202| mu2202_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1 -# 2201| r2201_45(glval) = VariableAddress[y] : -# 2201| r2201_46(glval) = FunctionAddress[~ClassWithDestructor] : -# 2201| v2201_47(void) = Call[~ClassWithDestructor] : func:r2201_46, this:r2201_45 -# 2201| mu2201_48(unknown) = ^CallSideEffect : ~m? -# 2201| v2201_49(void) = ^IndirectReadSideEffect[-1] : &:r2201_45, ~m? -# 2201| mu2201_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2201_45 -# 2201| r2201_51(glval>) = VariableAddress[(__begin)] : -# 2201| r2201_52(glval) = FunctionAddress[operator++] : -# 2201| r2201_53(iterator &) = Call[operator++] : func:r2201_52, this:r2201_51 -# 2201| mu2201_54(unknown) = ^CallSideEffect : ~m? -# 2201| v2201_55(void) = ^IndirectReadSideEffect[-1] : &:r2201_51, ~m? -# 2201| mu2201_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2201_51 -# 2201| r2201_57(glval>) = CopyValue : r2201_53 +# 2215| r2215_43(ClassWithDestructor) = Load[?] : &:r2215_41, ~m? +# 2215| mu2215_44(ClassWithDestructor) = Store[y] : &:r2215_38, r2215_43 +# 2216| r2216_1(glval) = VariableAddress[y] : +# 2216| r2216_2(glval) = FunctionAddress[set_x] : +# 2216| r2216_3(char) = Constant[97] : +# 2216| v2216_4(void) = Call[set_x] : func:r2216_2, this:r2216_1, 0:r2216_3 +# 2216| mu2216_5(unknown) = ^CallSideEffect : ~m? +# 2216| v2216_6(void) = ^IndirectReadSideEffect[-1] : &:r2216_1, ~m? +# 2216| mu2216_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 +# 2215| r2215_45(glval) = VariableAddress[y] : +# 2215| r2215_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2215| v2215_47(void) = Call[~ClassWithDestructor] : func:r2215_46, this:r2215_45 +# 2215| mu2215_48(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_49(void) = ^IndirectReadSideEffect[-1] : &:r2215_45, ~m? +# 2215| mu2215_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_45 +# 2215| r2215_51(glval>) = VariableAddress[(__begin)] : +# 2215| r2215_52(glval) = FunctionAddress[operator++] : +# 2215| r2215_53(iterator &) = Call[operator++] : func:r2215_52, this:r2215_51 +# 2215| mu2215_54(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_55(void) = ^IndirectReadSideEffect[-1] : &:r2215_51, ~m? +# 2215| mu2215_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_51 +# 2215| r2215_57(glval>) = CopyValue : r2215_53 #-----| Goto (back edge) -> Block 11 -# 2201| Block 13 -# 2201| r2201_58(glval>) = VariableAddress[ys] : -# 2201| r2201_59(glval) = FunctionAddress[~vector] : -# 2201| v2201_60(void) = Call[~vector] : func:r2201_59, this:r2201_58 -# 2201| mu2201_61(unknown) = ^CallSideEffect : ~m? -# 2201| v2201_62(void) = ^IndirectReadSideEffect[-1] : &:r2201_58, ~m? -# 2201| mu2201_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2201_58 +# 2215| Block 13 +# 2215| r2215_58(glval>) = VariableAddress[ys] : +# 2215| r2215_59(glval) = FunctionAddress[~vector] : +# 2215| v2215_60(void) = Call[~vector] : func:r2215_59, this:r2215_58 +# 2215| mu2215_61(unknown) = ^CallSideEffect : ~m? +# 2215| v2215_62(void) = ^IndirectReadSideEffect[-1] : &:r2215_58, ~m? +# 2215| mu2215_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_58 #-----| Goto -> Block 14 -# 2204| Block 14 -# 2204| r2204_1(glval>) = VariableAddress[ys] : -# 2204| mu2204_2(vector) = Uninitialized[ys] : &:r2204_1 -# 2204| r2204_3(glval) = FunctionAddress[vector] : -# 2204| r2204_4(glval) = VariableAddress[#temp2204:45] : -# 2204| r2204_5(glval) = VariableAddress[x] : -# 2204| r2204_6(ClassWithDestructor) = Load[x] : &:r2204_5, ~m? -# 2204| mu2204_7(ClassWithDestructor) = Store[#temp2204:45] : &:r2204_4, r2204_6 -# 2204| r2204_8(ClassWithDestructor) = Load[#temp2204:45] : &:r2204_4, ~m? -# 2204| v2204_9(void) = Call[vector] : func:r2204_3, this:r2204_1, 0:r2204_8 -# 2204| mu2204_10(unknown) = ^CallSideEffect : ~m? -# 2204| mu2204_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1 -# 2204| r2204_12(glval &>) = VariableAddress[(__range)] : -# 2204| r2204_13(glval>) = VariableAddress[ys] : -# 2204| r2204_14(vector &) = CopyValue : r2204_13 -# 2204| mu2204_15(vector &) = Store[(__range)] : &:r2204_12, r2204_14 -# 2204| r2204_16(glval>) = VariableAddress[(__begin)] : -# 2204| r2204_17(glval &>) = VariableAddress[(__range)] : -# 2204| r2204_18(vector &) = Load[(__range)] : &:r2204_17, ~m? -#-----| r0_17(glval>) = CopyValue : r2204_18 +# 2218| Block 14 +# 2218| r2218_1(glval>) = VariableAddress[ys] : +# 2218| mu2218_2(vector) = Uninitialized[ys] : &:r2218_1 +# 2218| r2218_3(glval) = FunctionAddress[vector] : +# 2218| r2218_4(glval) = VariableAddress[#temp2218:45] : +# 2218| r2218_5(glval) = VariableAddress[x] : +# 2218| r2218_6(ClassWithDestructor) = Load[x] : &:r2218_5, ~m? +# 2218| mu2218_7(ClassWithDestructor) = Store[#temp2218:45] : &:r2218_4, r2218_6 +# 2218| r2218_8(ClassWithDestructor) = Load[#temp2218:45] : &:r2218_4, ~m? +# 2218| v2218_9(void) = Call[vector] : func:r2218_3, this:r2218_1, 0:r2218_8 +# 2218| mu2218_10(unknown) = ^CallSideEffect : ~m? +# 2218| mu2218_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 +# 2218| r2218_12(glval &>) = VariableAddress[(__range)] : +# 2218| r2218_13(glval>) = VariableAddress[ys] : +# 2218| r2218_14(vector &) = CopyValue : r2218_13 +# 2218| mu2218_15(vector &) = Store[(__range)] : &:r2218_12, r2218_14 +# 2218| r2218_16(glval>) = VariableAddress[(__begin)] : +# 2218| r2218_17(glval &>) = VariableAddress[(__range)] : +# 2218| r2218_18(vector &) = Load[(__range)] : &:r2218_17, ~m? +#-----| r0_17(glval>) = CopyValue : r2218_18 #-----| r0_18(glval>) = Convert : r0_17 -# 2204| r2204_19(glval) = FunctionAddress[begin] : -# 2204| r2204_20(iterator) = Call[begin] : func:r2204_19, this:r0_18 +# 2218| r2218_19(glval) = FunctionAddress[begin] : +# 2218| r2218_20(iterator) = Call[begin] : func:r2218_19, this:r0_18 #-----| v0_19(void) = ^IndirectReadSideEffect[-1] : &:r0_18, ~m? -# 2204| mu2204_21(iterator) = Store[(__begin)] : &:r2204_16, r2204_20 -# 2204| r2204_22(glval>) = VariableAddress[(__end)] : -# 2204| r2204_23(glval &>) = VariableAddress[(__range)] : -# 2204| r2204_24(vector &) = Load[(__range)] : &:r2204_23, ~m? -#-----| r0_20(glval>) = CopyValue : r2204_24 +# 2218| mu2218_21(iterator) = Store[(__begin)] : &:r2218_16, r2218_20 +# 2218| r2218_22(glval>) = VariableAddress[(__end)] : +# 2218| r2218_23(glval &>) = VariableAddress[(__range)] : +# 2218| r2218_24(vector &) = Load[(__range)] : &:r2218_23, ~m? +#-----| r0_20(glval>) = CopyValue : r2218_24 #-----| r0_21(glval>) = Convert : r0_20 -# 2204| r2204_25(glval) = FunctionAddress[end] : -# 2204| r2204_26(iterator) = Call[end] : func:r2204_25, this:r0_21 +# 2218| r2218_25(glval) = FunctionAddress[end] : +# 2218| r2218_26(iterator) = Call[end] : func:r2218_25, this:r0_21 #-----| v0_22(void) = ^IndirectReadSideEffect[-1] : &:r0_21, ~m? -# 2204| mu2204_27(iterator) = Store[(__end)] : &:r2204_22, r2204_26 +# 2218| mu2218_27(iterator) = Store[(__end)] : &:r2218_22, r2218_26 #-----| Goto -> Block 15 -# 2204| Block 15 -# 2204| r2204_28(glval>) = VariableAddress[(__begin)] : -#-----| r0_23(glval>) = Convert : r2204_28 -# 2204| r2204_29(glval) = FunctionAddress[operator!=] : +# 2218| Block 15 +# 2218| r2218_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_23(glval>) = Convert : r2218_28 +# 2218| r2218_29(glval) = FunctionAddress[operator!=] : #-----| r0_24(glval>) = VariableAddress[#temp0:0] : #-----| mu0_25(iterator) = Uninitialized[#temp0:0] : &:r0_24 -# 2204| r2204_30(glval) = FunctionAddress[iterator] : -# 2204| r2204_31(glval>) = VariableAddress[(__end)] : -#-----| r0_26(glval>) = Convert : r2204_31 +# 2218| r2218_30(glval) = FunctionAddress[iterator] : +# 2218| r2218_31(glval>) = VariableAddress[(__end)] : +#-----| r0_26(glval>) = Convert : r2218_31 #-----| r0_27(iterator &) = CopyValue : r0_26 -# 2204| v2204_32(void) = Call[iterator] : func:r2204_30, this:r0_24, 0:r0_27 -# 2204| mu2204_33(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_32(void) = Call[iterator] : func:r2218_30, this:r0_24, 0:r0_27 +# 2218| mu2218_33(unknown) = ^CallSideEffect : ~m? #-----| v0_28(void) = ^BufferReadSideEffect[0] : &:r0_27, ~m? -# 2204| mu2204_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 +# 2218| mu2218_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_24 #-----| r0_29(iterator) = Load[#temp0:0] : &:r0_24, ~m? -# 2204| r2204_35(bool) = Call[operator!=] : func:r2204_29, this:r0_23, 0:r0_29 -# 2204| mu2204_36(unknown) = ^CallSideEffect : ~m? +# 2218| r2218_35(bool) = Call[operator!=] : func:r2218_29, this:r0_23, 0:r0_29 +# 2218| mu2218_36(unknown) = ^CallSideEffect : ~m? #-----| v0_30(void) = ^IndirectReadSideEffect[-1] : &:r0_23, ~m? -# 2204| v2204_37(void) = ConditionalBranch : r2204_35 +# 2218| v2218_37(void) = ConditionalBranch : r2218_35 #-----| False -> Block 20 #-----| True -> Block 16 -# 2204| Block 16 -# 2204| r2204_38(glval) = VariableAddress[y] : -# 2204| r2204_39(glval>) = VariableAddress[(__begin)] : -#-----| r0_31(glval>) = Convert : r2204_39 -# 2204| r2204_40(glval) = FunctionAddress[operator*] : -# 2204| r2204_41(ClassWithDestructor &) = Call[operator*] : func:r2204_40, this:r0_31 -# 2204| mu2204_42(unknown) = ^CallSideEffect : ~m? +# 2218| Block 16 +# 2218| r2218_38(glval) = VariableAddress[y] : +# 2218| r2218_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_31(glval>) = Convert : r2218_39 +# 2218| r2218_40(glval) = FunctionAddress[operator*] : +# 2218| r2218_41(ClassWithDestructor &) = Call[operator*] : func:r2218_40, this:r0_31 +# 2218| mu2218_42(unknown) = ^CallSideEffect : ~m? #-----| v0_32(void) = ^IndirectReadSideEffect[-1] : &:r0_31, ~m? -# 2204| r2204_43(ClassWithDestructor) = Load[?] : &:r2204_41, ~m? -# 2204| mu2204_44(ClassWithDestructor) = Store[y] : &:r2204_38, r2204_43 -# 2205| r2205_1(glval) = VariableAddress[y] : -# 2205| r2205_2(glval) = FunctionAddress[set_x] : -# 2205| r2205_3(char) = Constant[97] : -# 2205| v2205_4(void) = Call[set_x] : func:r2205_2, this:r2205_1, 0:r2205_3 -# 2205| mu2205_5(unknown) = ^CallSideEffect : ~m? -# 2205| v2205_6(void) = ^IndirectReadSideEffect[-1] : &:r2205_1, ~m? -# 2205| mu2205_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2205_1 -# 2206| r2206_1(glval) = VariableAddress[y] : -# 2206| r2206_2(glval) = FunctionAddress[get_x] : -# 2206| r2206_3(char) = Call[get_x] : func:r2206_2, this:r2206_1 -# 2206| mu2206_4(unknown) = ^CallSideEffect : ~m? -# 2206| v2206_5(void) = ^IndirectReadSideEffect[-1] : &:r2206_1, ~m? -# 2206| mu2206_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1 -# 2206| r2206_7(int) = Convert : r2206_3 -# 2206| r2206_8(int) = Constant[98] : -# 2206| r2206_9(bool) = CompareEQ : r2206_7, r2206_8 -# 2206| v2206_10(void) = ConditionalBranch : r2206_9 +# 2218| r2218_43(ClassWithDestructor) = Load[?] : &:r2218_41, ~m? +# 2218| mu2218_44(ClassWithDestructor) = Store[y] : &:r2218_38, r2218_43 +# 2219| r2219_1(glval) = VariableAddress[y] : +# 2219| r2219_2(glval) = FunctionAddress[set_x] : +# 2219| r2219_3(char) = Constant[97] : +# 2219| v2219_4(void) = Call[set_x] : func:r2219_2, this:r2219_1, 0:r2219_3 +# 2219| mu2219_5(unknown) = ^CallSideEffect : ~m? +# 2219| v2219_6(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, ~m? +# 2219| mu2219_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +# 2220| r2220_1(glval) = VariableAddress[y] : +# 2220| r2220_2(glval) = FunctionAddress[get_x] : +# 2220| r2220_3(char) = Call[get_x] : func:r2220_2, this:r2220_1 +# 2220| mu2220_4(unknown) = ^CallSideEffect : ~m? +# 2220| v2220_5(void) = ^IndirectReadSideEffect[-1] : &:r2220_1, ~m? +# 2220| mu2220_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2220_1 +# 2220| r2220_7(int) = Convert : r2220_3 +# 2220| r2220_8(int) = Constant[98] : +# 2220| r2220_9(bool) = CompareEQ : r2220_7, r2220_8 +# 2220| v2220_10(void) = ConditionalBranch : r2220_9 #-----| False -> Block 18 #-----| True -> Block 17 -# 2207| Block 17 -# 2207| v2207_1(void) = NoOp : -# 2204| r2204_45(glval) = VariableAddress[y] : -# 2204| r2204_46(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_47(void) = Call[~ClassWithDestructor] : func:r2204_46, this:r2204_45 -# 2204| mu2204_48(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_49(void) = ^IndirectReadSideEffect[-1] : &:r2204_45, ~m? -# 2204| mu2204_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_45 -# 2204| r2204_51(glval>) = VariableAddress[ys] : -# 2204| r2204_52(glval) = FunctionAddress[~vector] : -# 2204| v2204_53(void) = Call[~vector] : func:r2204_52, this:r2204_51 -# 2204| mu2204_54(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_55(void) = ^IndirectReadSideEffect[-1] : &:r2204_51, ~m? -# 2204| mu2204_56(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_51 -# 2219| r2219_1(glval) = VariableAddress[x] : -# 2219| r2219_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2219| v2219_3(void) = Call[~ClassWithDestructor] : func:r2219_2, this:r2219_1 -# 2219| mu2219_4(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_5(void) = ^IndirectReadSideEffect[-1] : &:r2219_1, ~m? -# 2219| mu2219_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_1 +# 2221| Block 17 +# 2221| v2221_1(void) = NoOp : +# 2218| r2218_45(glval) = VariableAddress[y] : +# 2218| r2218_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_47(void) = Call[~ClassWithDestructor] : func:r2218_46, this:r2218_45 +# 2218| mu2218_48(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_49(void) = ^IndirectReadSideEffect[-1] : &:r2218_45, ~m? +# 2218| mu2218_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_45 +# 2218| r2218_51(glval>) = VariableAddress[ys] : +# 2218| r2218_52(glval) = FunctionAddress[~vector] : +# 2218| v2218_53(void) = Call[~vector] : func:r2218_52, this:r2218_51 +# 2218| mu2218_54(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_55(void) = ^IndirectReadSideEffect[-1] : &:r2218_51, ~m? +# 2218| mu2218_56(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2218_51 +# 2233| r2233_1(glval) = VariableAddress[x] : +# 2233| r2233_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2233| v2233_3(void) = Call[~ClassWithDestructor] : func:r2233_2, this:r2233_1 +# 2233| mu2233_4(unknown) = ^CallSideEffect : ~m? +# 2233| v2233_5(void) = ^IndirectReadSideEffect[-1] : &:r2233_1, ~m? +# 2233| mu2233_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 #-----| Goto -> Block 1 -# 2204| Block 18 -# 2204| r2204_57(glval) = VariableAddress[y] : -# 2204| r2204_58(glval) = FunctionAddress[~ClassWithDestructor] : -# 2204| v2204_59(void) = Call[~ClassWithDestructor] : func:r2204_58, this:r2204_57 -# 2204| mu2204_60(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_61(void) = ^IndirectReadSideEffect[-1] : &:r2204_57, ~m? -# 2204| mu2204_62(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2204_57 -# 2204| r2204_63(glval>) = VariableAddress[(__begin)] : -# 2204| r2204_64(glval) = FunctionAddress[operator++] : -# 2204| r2204_65(iterator &) = Call[operator++] : func:r2204_64, this:r2204_63 -# 2204| mu2204_66(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_67(void) = ^IndirectReadSideEffect[-1] : &:r2204_63, ~m? -# 2204| mu2204_68(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2204_63 -# 2204| r2204_69(glval>) = CopyValue : r2204_65 +# 2218| Block 18 +# 2218| r2218_57(glval) = VariableAddress[y] : +# 2218| r2218_58(glval) = FunctionAddress[~ClassWithDestructor] : +# 2218| v2218_59(void) = Call[~ClassWithDestructor] : func:r2218_58, this:r2218_57 +# 2218| mu2218_60(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_61(void) = ^IndirectReadSideEffect[-1] : &:r2218_57, ~m? +# 2218| mu2218_62(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_57 +# 2218| r2218_63(glval>) = VariableAddress[(__begin)] : +# 2218| r2218_64(glval) = FunctionAddress[operator++] : +# 2218| r2218_65(iterator &) = Call[operator++] : func:r2218_64, this:r2218_63 +# 2218| mu2218_66(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_67(void) = ^IndirectReadSideEffect[-1] : &:r2218_63, ~m? +# 2218| mu2218_68(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2218_63 +# 2218| r2218_69(glval>) = CopyValue : r2218_65 #-----| Goto (back edge) -> Block 15 -# 2204| Block 19 -# 2204| r2204_70(glval>) = VariableAddress[ys] : -# 2204| r2204_71(glval) = FunctionAddress[~vector] : -# 2204| v2204_72(void) = Call[~vector] : func:r2204_71, this:r2204_70 -# 2204| mu2204_73(unknown) = ^CallSideEffect : ~m? -# 2204| v2204_74(void) = ^IndirectReadSideEffect[-1] : &:r2204_70, ~m? -# 2204| mu2204_75(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2204_70 +# 2218| Block 19 +# 2218| r2218_70(glval>) = VariableAddress[ys] : +# 2218| r2218_71(glval) = FunctionAddress[~vector] : +# 2218| v2218_72(void) = Call[~vector] : func:r2218_71, this:r2218_70 +# 2218| mu2218_73(unknown) = ^CallSideEffect : ~m? +# 2218| v2218_74(void) = ^IndirectReadSideEffect[-1] : &:r2218_70, ~m? +# 2218| mu2218_75(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2218_70 #-----| Goto -> Block 20 -# 2210| Block 20 -# 2210| r2210_1(glval>) = VariableAddress[ys] : -# 2210| mu2210_2(vector) = Uninitialized[ys] : &:r2210_1 -# 2210| r2210_3(glval) = FunctionAddress[vector] : -# 2210| r2210_4(int) = Constant[1] : -# 2210| v2210_5(void) = Call[vector] : func:r2210_3, this:r2210_1, 0:r2210_4 -# 2210| mu2210_6(unknown) = ^CallSideEffect : ~m? -# 2210| mu2210_7(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_1 -# 2210| r2210_8(glval &>) = VariableAddress[(__range)] : -# 2210| r2210_9(glval>) = VariableAddress[ys] : -# 2210| r2210_10(vector &) = CopyValue : r2210_9 -# 2210| mu2210_11(vector &) = Store[(__range)] : &:r2210_8, r2210_10 -# 2210| r2210_12(glval>) = VariableAddress[(__begin)] : -# 2210| r2210_13(glval &>) = VariableAddress[(__range)] : -# 2210| r2210_14(vector &) = Load[(__range)] : &:r2210_13, ~m? -#-----| r0_33(glval>) = CopyValue : r2210_14 +# 2224| Block 20 +# 2224| r2224_1(glval>) = VariableAddress[ys] : +# 2224| mu2224_2(vector) = Uninitialized[ys] : &:r2224_1 +# 2224| r2224_3(glval) = FunctionAddress[vector] : +# 2224| r2224_4(int) = Constant[1] : +# 2224| v2224_5(void) = Call[vector] : func:r2224_3, this:r2224_1, 0:r2224_4 +# 2224| mu2224_6(unknown) = ^CallSideEffect : ~m? +# 2224| mu2224_7(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2224_1 +# 2224| r2224_8(glval &>) = VariableAddress[(__range)] : +# 2224| r2224_9(glval>) = VariableAddress[ys] : +# 2224| r2224_10(vector &) = CopyValue : r2224_9 +# 2224| mu2224_11(vector &) = Store[(__range)] : &:r2224_8, r2224_10 +# 2224| r2224_12(glval>) = VariableAddress[(__begin)] : +# 2224| r2224_13(glval &>) = VariableAddress[(__range)] : +# 2224| r2224_14(vector &) = Load[(__range)] : &:r2224_13, ~m? +#-----| r0_33(glval>) = CopyValue : r2224_14 #-----| r0_34(glval>) = Convert : r0_33 -# 2210| r2210_15(glval) = FunctionAddress[begin] : -# 2210| r2210_16(iterator) = Call[begin] : func:r2210_15, this:r0_34 +# 2224| r2224_15(glval) = FunctionAddress[begin] : +# 2224| r2224_16(iterator) = Call[begin] : func:r2224_15, this:r0_34 #-----| v0_35(void) = ^IndirectReadSideEffect[-1] : &:r0_34, ~m? -# 2210| mu2210_17(iterator) = Store[(__begin)] : &:r2210_12, r2210_16 -# 2210| r2210_18(glval>) = VariableAddress[(__end)] : -# 2210| r2210_19(glval &>) = VariableAddress[(__range)] : -# 2210| r2210_20(vector &) = Load[(__range)] : &:r2210_19, ~m? -#-----| r0_36(glval>) = CopyValue : r2210_20 +# 2224| mu2224_17(iterator) = Store[(__begin)] : &:r2224_12, r2224_16 +# 2224| r2224_18(glval>) = VariableAddress[(__end)] : +# 2224| r2224_19(glval &>) = VariableAddress[(__range)] : +# 2224| r2224_20(vector &) = Load[(__range)] : &:r2224_19, ~m? +#-----| r0_36(glval>) = CopyValue : r2224_20 #-----| r0_37(glval>) = Convert : r0_36 -# 2210| r2210_21(glval) = FunctionAddress[end] : -# 2210| r2210_22(iterator) = Call[end] : func:r2210_21, this:r0_37 +# 2224| r2224_21(glval) = FunctionAddress[end] : +# 2224| r2224_22(iterator) = Call[end] : func:r2224_21, this:r0_37 #-----| v0_38(void) = ^IndirectReadSideEffect[-1] : &:r0_37, ~m? -# 2210| mu2210_23(iterator) = Store[(__end)] : &:r2210_18, r2210_22 +# 2224| mu2224_23(iterator) = Store[(__end)] : &:r2224_18, r2224_22 #-----| Goto -> Block 21 -# 2210| Block 21 -# 2210| r2210_24(glval>) = VariableAddress[(__begin)] : -#-----| r0_39(glval>) = Convert : r2210_24 -# 2210| r2210_25(glval) = FunctionAddress[operator!=] : +# 2224| Block 21 +# 2224| r2224_24(glval>) = VariableAddress[(__begin)] : +#-----| r0_39(glval>) = Convert : r2224_24 +# 2224| r2224_25(glval) = FunctionAddress[operator!=] : #-----| r0_40(glval>) = VariableAddress[#temp0:0] : #-----| mu0_41(iterator) = Uninitialized[#temp0:0] : &:r0_40 -# 2210| r2210_26(glval) = FunctionAddress[iterator] : -# 2210| r2210_27(glval>) = VariableAddress[(__end)] : -#-----| r0_42(glval>) = Convert : r2210_27 +# 2224| r2224_26(glval) = FunctionAddress[iterator] : +# 2224| r2224_27(glval>) = VariableAddress[(__end)] : +#-----| r0_42(glval>) = Convert : r2224_27 #-----| r0_43(iterator &) = CopyValue : r0_42 -# 2210| v2210_28(void) = Call[iterator] : func:r2210_26, this:r0_40, 0:r0_43 -# 2210| mu2210_29(unknown) = ^CallSideEffect : ~m? +# 2224| v2224_28(void) = Call[iterator] : func:r2224_26, this:r0_40, 0:r0_43 +# 2224| mu2224_29(unknown) = ^CallSideEffect : ~m? #-----| v0_44(void) = ^BufferReadSideEffect[0] : &:r0_43, ~m? -# 2210| mu2210_30(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 +# 2224| mu2224_30(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_40 #-----| r0_45(iterator) = Load[#temp0:0] : &:r0_40, ~m? -# 2210| r2210_31(bool) = Call[operator!=] : func:r2210_25, this:r0_39, 0:r0_45 -# 2210| mu2210_32(unknown) = ^CallSideEffect : ~m? +# 2224| r2224_31(bool) = Call[operator!=] : func:r2224_25, this:r0_39, 0:r0_45 +# 2224| mu2224_32(unknown) = ^CallSideEffect : ~m? #-----| v0_46(void) = ^IndirectReadSideEffect[-1] : &:r0_39, ~m? -# 2210| v2210_33(void) = ConditionalBranch : r2210_31 +# 2224| v2224_33(void) = ConditionalBranch : r2224_31 #-----| False -> Block 26 #-----| True -> Block 23 -# 2210| Block 22 -# 2210| r2210_34(glval>) = VariableAddress[(__begin)] : -# 2210| r2210_35(glval) = FunctionAddress[operator++] : -# 2210| r2210_36(iterator &) = Call[operator++] : func:r2210_35, this:r2210_34 -# 2210| mu2210_37(unknown) = ^CallSideEffect : ~m? -# 2210| v2210_38(void) = ^IndirectReadSideEffect[-1] : &:r2210_34, ~m? -# 2210| mu2210_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2210_34 -# 2210| r2210_40(glval>) = CopyValue : r2210_36 +# 2224| Block 22 +# 2224| r2224_34(glval>) = VariableAddress[(__begin)] : +# 2224| r2224_35(glval) = FunctionAddress[operator++] : +# 2224| r2224_36(iterator &) = Call[operator++] : func:r2224_35, this:r2224_34 +# 2224| mu2224_37(unknown) = ^CallSideEffect : ~m? +# 2224| v2224_38(void) = ^IndirectReadSideEffect[-1] : &:r2224_34, ~m? +# 2224| mu2224_39(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2224_34 +# 2224| r2224_40(glval>) = CopyValue : r2224_36 #-----| Goto (back edge) -> Block 21 -# 2210| Block 23 -# 2210| r2210_41(glval) = VariableAddress[y] : -# 2210| r2210_42(glval>) = VariableAddress[(__begin)] : -#-----| r0_47(glval>) = Convert : r2210_42 -# 2210| r2210_43(glval) = FunctionAddress[operator*] : -# 2210| r2210_44(int &) = Call[operator*] : func:r2210_43, this:r0_47 -# 2210| mu2210_45(unknown) = ^CallSideEffect : ~m? +# 2224| Block 23 +# 2224| r2224_41(glval) = VariableAddress[y] : +# 2224| r2224_42(glval>) = VariableAddress[(__begin)] : +#-----| r0_47(glval>) = Convert : r2224_42 +# 2224| r2224_43(glval) = FunctionAddress[operator*] : +# 2224| r2224_44(int &) = Call[operator*] : func:r2224_43, this:r0_47 +# 2224| mu2224_45(unknown) = ^CallSideEffect : ~m? #-----| v0_48(void) = ^IndirectReadSideEffect[-1] : &:r0_47, ~m? -# 2210| r2210_46(int) = Load[?] : &:r2210_44, ~m? -# 2210| mu2210_47(int) = Store[y] : &:r2210_41, r2210_46 -# 2211| r2211_1(glval) = VariableAddress[y] : -# 2211| r2211_2(int) = Load[y] : &:r2211_1, ~m? -# 2211| r2211_3(int) = Constant[1] : -# 2211| r2211_4(bool) = CompareEQ : r2211_2, r2211_3 -# 2211| v2211_5(void) = ConditionalBranch : r2211_4 +# 2224| r2224_46(int) = Load[?] : &:r2224_44, ~m? +# 2224| mu2224_47(int) = Store[y] : &:r2224_41, r2224_46 +# 2225| r2225_1(glval) = VariableAddress[y] : +# 2225| r2225_2(int) = Load[y] : &:r2225_1, ~m? +# 2225| r2225_3(int) = Constant[1] : +# 2225| r2225_4(bool) = CompareEQ : r2225_2, r2225_3 +# 2225| v2225_5(void) = ConditionalBranch : r2225_4 #-----| False -> Block 22 #-----| True -> Block 24 -# 2212| Block 24 -# 2212| v2212_1(void) = NoOp : -# 2210| r2210_48(glval>) = VariableAddress[ys] : -# 2210| r2210_49(glval) = FunctionAddress[~vector] : -# 2210| v2210_50(void) = Call[~vector] : func:r2210_49, this:r2210_48 -# 2210| mu2210_51(unknown) = ^CallSideEffect : ~m? -# 2210| v2210_52(void) = ^IndirectReadSideEffect[-1] : &:r2210_48, ~m? -# 2210| mu2210_53(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_48 -# 2219| r2219_7(glval) = VariableAddress[x] : -# 2219| r2219_8(glval) = FunctionAddress[~ClassWithDestructor] : -# 2219| v2219_9(void) = Call[~ClassWithDestructor] : func:r2219_8, this:r2219_7 -# 2219| mu2219_10(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_11(void) = ^IndirectReadSideEffect[-1] : &:r2219_7, ~m? -# 2219| mu2219_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_7 +# 2226| Block 24 +# 2226| v2226_1(void) = NoOp : +# 2224| r2224_48(glval>) = VariableAddress[ys] : +# 2224| r2224_49(glval) = FunctionAddress[~vector] : +# 2224| v2224_50(void) = Call[~vector] : func:r2224_49, this:r2224_48 +# 2224| mu2224_51(unknown) = ^CallSideEffect : ~m? +# 2224| v2224_52(void) = ^IndirectReadSideEffect[-1] : &:r2224_48, ~m? +# 2224| mu2224_53(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2224_48 +# 2233| r2233_7(glval) = VariableAddress[x] : +# 2233| r2233_8(glval) = FunctionAddress[~ClassWithDestructor] : +# 2233| v2233_9(void) = Call[~ClassWithDestructor] : func:r2233_8, this:r2233_7 +# 2233| mu2233_10(unknown) = ^CallSideEffect : ~m? +# 2233| v2233_11(void) = ^IndirectReadSideEffect[-1] : &:r2233_7, ~m? +# 2233| mu2233_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_7 #-----| Goto -> Block 1 -# 2210| Block 25 -# 2210| r2210_54(glval>) = VariableAddress[ys] : -# 2210| r2210_55(glval) = FunctionAddress[~vector] : -# 2210| v2210_56(void) = Call[~vector] : func:r2210_55, this:r2210_54 -# 2210| mu2210_57(unknown) = ^CallSideEffect : ~m? -# 2210| v2210_58(void) = ^IndirectReadSideEffect[-1] : &:r2210_54, ~m? -# 2210| mu2210_59(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2210_54 +# 2224| Block 25 +# 2224| r2224_54(glval>) = VariableAddress[ys] : +# 2224| r2224_55(glval) = FunctionAddress[~vector] : +# 2224| v2224_56(void) = Call[~vector] : func:r2224_55, this:r2224_54 +# 2224| mu2224_57(unknown) = ^CallSideEffect : ~m? +# 2224| v2224_58(void) = ^IndirectReadSideEffect[-1] : &:r2224_54, ~m? +# 2224| mu2224_59(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2224_54 #-----| Goto -> Block 26 -# 2215| Block 26 -# 2215| r2215_1(glval>) = VariableAddress[ys] : -# 2215| mu2215_2(vector) = Uninitialized[ys] : &:r2215_1 -# 2215| r2215_3(glval) = FunctionAddress[vector] : -# 2215| r2215_4(glval) = VariableAddress[#temp2215:45] : -# 2215| r2215_5(glval) = VariableAddress[x] : -# 2215| r2215_6(ClassWithDestructor) = Load[x] : &:r2215_5, ~m? -# 2215| mu2215_7(ClassWithDestructor) = Store[#temp2215:45] : &:r2215_4, r2215_6 -# 2215| r2215_8(ClassWithDestructor) = Load[#temp2215:45] : &:r2215_4, ~m? -# 2215| v2215_9(void) = Call[vector] : func:r2215_3, this:r2215_1, 0:r2215_8 -# 2215| mu2215_10(unknown) = ^CallSideEffect : ~m? -# 2215| mu2215_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_1 -# 2215| r2215_12(glval &>) = VariableAddress[(__range)] : -# 2215| r2215_13(glval>) = VariableAddress[ys] : -# 2215| r2215_14(vector &) = CopyValue : r2215_13 -# 2215| mu2215_15(vector &) = Store[(__range)] : &:r2215_12, r2215_14 -# 2215| r2215_16(glval>) = VariableAddress[(__begin)] : -# 2215| r2215_17(glval &>) = VariableAddress[(__range)] : -# 2215| r2215_18(vector &) = Load[(__range)] : &:r2215_17, ~m? -#-----| r0_49(glval>) = CopyValue : r2215_18 +# 2229| Block 26 +# 2229| r2229_1(glval>) = VariableAddress[ys] : +# 2229| mu2229_2(vector) = Uninitialized[ys] : &:r2229_1 +# 2229| r2229_3(glval) = FunctionAddress[vector] : +# 2229| r2229_4(glval) = VariableAddress[#temp2229:45] : +# 2229| r2229_5(glval) = VariableAddress[x] : +# 2229| r2229_6(ClassWithDestructor) = Load[x] : &:r2229_5, ~m? +# 2229| mu2229_7(ClassWithDestructor) = Store[#temp2229:45] : &:r2229_4, r2229_6 +# 2229| r2229_8(ClassWithDestructor) = Load[#temp2229:45] : &:r2229_4, ~m? +# 2229| v2229_9(void) = Call[vector] : func:r2229_3, this:r2229_1, 0:r2229_8 +# 2229| mu2229_10(unknown) = ^CallSideEffect : ~m? +# 2229| mu2229_11(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2229_1 +# 2229| r2229_12(glval &>) = VariableAddress[(__range)] : +# 2229| r2229_13(glval>) = VariableAddress[ys] : +# 2229| r2229_14(vector &) = CopyValue : r2229_13 +# 2229| mu2229_15(vector &) = Store[(__range)] : &:r2229_12, r2229_14 +# 2229| r2229_16(glval>) = VariableAddress[(__begin)] : +# 2229| r2229_17(glval &>) = VariableAddress[(__range)] : +# 2229| r2229_18(vector &) = Load[(__range)] : &:r2229_17, ~m? +#-----| r0_49(glval>) = CopyValue : r2229_18 #-----| r0_50(glval>) = Convert : r0_49 -# 2215| r2215_19(glval) = FunctionAddress[begin] : -# 2215| r2215_20(iterator) = Call[begin] : func:r2215_19, this:r0_50 +# 2229| r2229_19(glval) = FunctionAddress[begin] : +# 2229| r2229_20(iterator) = Call[begin] : func:r2229_19, this:r0_50 #-----| v0_51(void) = ^IndirectReadSideEffect[-1] : &:r0_50, ~m? -# 2215| mu2215_21(iterator) = Store[(__begin)] : &:r2215_16, r2215_20 -# 2215| r2215_22(glval>) = VariableAddress[(__end)] : -# 2215| r2215_23(glval &>) = VariableAddress[(__range)] : -# 2215| r2215_24(vector &) = Load[(__range)] : &:r2215_23, ~m? -#-----| r0_52(glval>) = CopyValue : r2215_24 +# 2229| mu2229_21(iterator) = Store[(__begin)] : &:r2229_16, r2229_20 +# 2229| r2229_22(glval>) = VariableAddress[(__end)] : +# 2229| r2229_23(glval &>) = VariableAddress[(__range)] : +# 2229| r2229_24(vector &) = Load[(__range)] : &:r2229_23, ~m? +#-----| r0_52(glval>) = CopyValue : r2229_24 #-----| r0_53(glval>) = Convert : r0_52 -# 2215| r2215_25(glval) = FunctionAddress[end] : -# 2215| r2215_26(iterator) = Call[end] : func:r2215_25, this:r0_53 +# 2229| r2229_25(glval) = FunctionAddress[end] : +# 2229| r2229_26(iterator) = Call[end] : func:r2229_25, this:r0_53 #-----| v0_54(void) = ^IndirectReadSideEffect[-1] : &:r0_53, ~m? -# 2215| mu2215_27(iterator) = Store[(__end)] : &:r2215_22, r2215_26 +# 2229| mu2229_27(iterator) = Store[(__end)] : &:r2229_22, r2229_26 #-----| Goto -> Block 27 -# 2215| Block 27 -# 2215| r2215_28(glval>) = VariableAddress[(__begin)] : -#-----| r0_55(glval>) = Convert : r2215_28 -# 2215| r2215_29(glval) = FunctionAddress[operator!=] : +# 2229| Block 27 +# 2229| r2229_28(glval>) = VariableAddress[(__begin)] : +#-----| r0_55(glval>) = Convert : r2229_28 +# 2229| r2229_29(glval) = FunctionAddress[operator!=] : #-----| r0_56(glval>) = VariableAddress[#temp0:0] : #-----| mu0_57(iterator) = Uninitialized[#temp0:0] : &:r0_56 -# 2215| r2215_30(glval) = FunctionAddress[iterator] : -# 2215| r2215_31(glval>) = VariableAddress[(__end)] : -#-----| r0_58(glval>) = Convert : r2215_31 +# 2229| r2229_30(glval) = FunctionAddress[iterator] : +# 2229| r2229_31(glval>) = VariableAddress[(__end)] : +#-----| r0_58(glval>) = Convert : r2229_31 #-----| r0_59(iterator &) = CopyValue : r0_58 -# 2215| v2215_32(void) = Call[iterator] : func:r2215_30, this:r0_56, 0:r0_59 -# 2215| mu2215_33(unknown) = ^CallSideEffect : ~m? +# 2229| v2229_32(void) = Call[iterator] : func:r2229_30, this:r0_56, 0:r0_59 +# 2229| mu2229_33(unknown) = ^CallSideEffect : ~m? #-----| v0_60(void) = ^BufferReadSideEffect[0] : &:r0_59, ~m? -# 2215| mu2215_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 +# 2229| mu2229_34(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_56 #-----| r0_61(iterator) = Load[#temp0:0] : &:r0_56, ~m? -# 2215| r2215_35(bool) = Call[operator!=] : func:r2215_29, this:r0_55, 0:r0_61 -# 2215| mu2215_36(unknown) = ^CallSideEffect : ~m? +# 2229| r2229_35(bool) = Call[operator!=] : func:r2229_29, this:r0_55, 0:r0_61 +# 2229| mu2229_36(unknown) = ^CallSideEffect : ~m? #-----| v0_62(void) = ^IndirectReadSideEffect[-1] : &:r0_55, ~m? -# 2215| v2215_37(void) = ConditionalBranch : r2215_35 +# 2229| v2229_37(void) = ConditionalBranch : r2229_35 #-----| False -> Block 30 #-----| True -> Block 28 -# 2215| Block 28 -# 2215| r2215_38(glval) = VariableAddress[y] : -# 2215| r2215_39(glval>) = VariableAddress[(__begin)] : -#-----| r0_63(glval>) = Convert : r2215_39 -# 2215| r2215_40(glval) = FunctionAddress[operator*] : -# 2215| r2215_41(ClassWithDestructor &) = Call[operator*] : func:r2215_40, this:r0_63 -# 2215| mu2215_42(unknown) = ^CallSideEffect : ~m? +# 2229| Block 28 +# 2229| r2229_38(glval) = VariableAddress[y] : +# 2229| r2229_39(glval>) = VariableAddress[(__begin)] : +#-----| r0_63(glval>) = Convert : r2229_39 +# 2229| r2229_40(glval) = FunctionAddress[operator*] : +# 2229| r2229_41(ClassWithDestructor &) = Call[operator*] : func:r2229_40, this:r0_63 +# 2229| mu2229_42(unknown) = ^CallSideEffect : ~m? #-----| v0_64(void) = ^IndirectReadSideEffect[-1] : &:r0_63, ~m? -# 2215| r2215_43(ClassWithDestructor) = Load[?] : &:r2215_41, ~m? -# 2215| mu2215_44(ClassWithDestructor) = Store[y] : &:r2215_38, r2215_43 -# 2216| r2216_1(glval) = VariableAddress[z1] : -# 2216| mu2216_2(ClassWithDestructor) = Uninitialized[z1] : &:r2216_1 -# 2216| r2216_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2216| v2216_4(void) = Call[ClassWithDestructor] : func:r2216_3, this:r2216_1 -# 2216| mu2216_5(unknown) = ^CallSideEffect : ~m? -# 2216| mu2216_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2216_1 -# 2217| r2217_1(glval) = VariableAddress[z2] : -# 2217| mu2217_2(ClassWithDestructor) = Uninitialized[z2] : &:r2217_1 -# 2217| r2217_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2217| v2217_4(void) = Call[ClassWithDestructor] : func:r2217_3, this:r2217_1 -# 2217| mu2217_5(unknown) = ^CallSideEffect : ~m? -# 2217| mu2217_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2217_1 -# 2218| r2218_1(glval) = VariableAddress[z2] : -# 2218| r2218_2(glval) = FunctionAddress[~ClassWithDestructor] : -# 2218| v2218_3(void) = Call[~ClassWithDestructor] : func:r2218_2, this:r2218_1 -# 2218| mu2218_4(unknown) = ^CallSideEffect : ~m? -# 2218| v2218_5(void) = ^IndirectReadSideEffect[-1] : &:r2218_1, ~m? -# 2218| mu2218_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_1 -# 2218| r2218_7(glval) = VariableAddress[z1] : -# 2218| r2218_8(glval) = FunctionAddress[~ClassWithDestructor] : -# 2218| v2218_9(void) = Call[~ClassWithDestructor] : func:r2218_8, this:r2218_7 -# 2218| mu2218_10(unknown) = ^CallSideEffect : ~m? -# 2218| v2218_11(void) = ^IndirectReadSideEffect[-1] : &:r2218_7, ~m? -# 2218| mu2218_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2218_7 -# 2215| r2215_45(glval) = VariableAddress[y] : -# 2215| r2215_46(glval) = FunctionAddress[~ClassWithDestructor] : -# 2215| v2215_47(void) = Call[~ClassWithDestructor] : func:r2215_46, this:r2215_45 -# 2215| mu2215_48(unknown) = ^CallSideEffect : ~m? -# 2215| v2215_49(void) = ^IndirectReadSideEffect[-1] : &:r2215_45, ~m? -# 2215| mu2215_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2215_45 -# 2215| r2215_51(glval>) = VariableAddress[(__begin)] : -# 2215| r2215_52(glval) = FunctionAddress[operator++] : -# 2215| r2215_53(iterator &) = Call[operator++] : func:r2215_52, this:r2215_51 -# 2215| mu2215_54(unknown) = ^CallSideEffect : ~m? -# 2215| v2215_55(void) = ^IndirectReadSideEffect[-1] : &:r2215_51, ~m? -# 2215| mu2215_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2215_51 -# 2215| r2215_57(glval>) = CopyValue : r2215_53 +# 2229| r2229_43(ClassWithDestructor) = Load[?] : &:r2229_41, ~m? +# 2229| mu2229_44(ClassWithDestructor) = Store[y] : &:r2229_38, r2229_43 +# 2230| r2230_1(glval) = VariableAddress[z1] : +# 2230| mu2230_2(ClassWithDestructor) = Uninitialized[z1] : &:r2230_1 +# 2230| r2230_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2230| v2230_4(void) = Call[ClassWithDestructor] : func:r2230_3, this:r2230_1 +# 2230| mu2230_5(unknown) = ^CallSideEffect : ~m? +# 2230| mu2230_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2230_1 +# 2231| r2231_1(glval) = VariableAddress[z2] : +# 2231| mu2231_2(ClassWithDestructor) = Uninitialized[z2] : &:r2231_1 +# 2231| r2231_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2231| v2231_4(void) = Call[ClassWithDestructor] : func:r2231_3, this:r2231_1 +# 2231| mu2231_5(unknown) = ^CallSideEffect : ~m? +# 2231| mu2231_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2231_1 +# 2232| r2232_1(glval) = VariableAddress[z2] : +# 2232| r2232_2(glval) = FunctionAddress[~ClassWithDestructor] : +# 2232| v2232_3(void) = Call[~ClassWithDestructor] : func:r2232_2, this:r2232_1 +# 2232| mu2232_4(unknown) = ^CallSideEffect : ~m? +# 2232| v2232_5(void) = ^IndirectReadSideEffect[-1] : &:r2232_1, ~m? +# 2232| mu2232_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 +# 2232| r2232_7(glval) = VariableAddress[z1] : +# 2232| r2232_8(glval) = FunctionAddress[~ClassWithDestructor] : +# 2232| v2232_9(void) = Call[~ClassWithDestructor] : func:r2232_8, this:r2232_7 +# 2232| mu2232_10(unknown) = ^CallSideEffect : ~m? +# 2232| v2232_11(void) = ^IndirectReadSideEffect[-1] : &:r2232_7, ~m? +# 2232| mu2232_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_7 +# 2229| r2229_45(glval) = VariableAddress[y] : +# 2229| r2229_46(glval) = FunctionAddress[~ClassWithDestructor] : +# 2229| v2229_47(void) = Call[~ClassWithDestructor] : func:r2229_46, this:r2229_45 +# 2229| mu2229_48(unknown) = ^CallSideEffect : ~m? +# 2229| v2229_49(void) = ^IndirectReadSideEffect[-1] : &:r2229_45, ~m? +# 2229| mu2229_50(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_45 +# 2229| r2229_51(glval>) = VariableAddress[(__begin)] : +# 2229| r2229_52(glval) = FunctionAddress[operator++] : +# 2229| r2229_53(iterator &) = Call[operator++] : func:r2229_52, this:r2229_51 +# 2229| mu2229_54(unknown) = ^CallSideEffect : ~m? +# 2229| v2229_55(void) = ^IndirectReadSideEffect[-1] : &:r2229_51, ~m? +# 2229| mu2229_56(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2229_51 +# 2229| r2229_57(glval>) = CopyValue : r2229_53 #-----| Goto (back edge) -> Block 27 -# 2215| Block 29 -# 2215| r2215_58(glval>) = VariableAddress[ys] : -# 2215| r2215_59(glval) = FunctionAddress[~vector] : -# 2215| v2215_60(void) = Call[~vector] : func:r2215_59, this:r2215_58 -# 2215| mu2215_61(unknown) = ^CallSideEffect : ~m? -# 2215| v2215_62(void) = ^IndirectReadSideEffect[-1] : &:r2215_58, ~m? -# 2215| mu2215_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2215_58 +# 2229| Block 29 +# 2229| r2229_58(glval>) = VariableAddress[ys] : +# 2229| r2229_59(glval) = FunctionAddress[~vector] : +# 2229| v2229_60(void) = Call[~vector] : func:r2229_59, this:r2229_58 +# 2229| mu2229_61(unknown) = ^CallSideEffect : ~m? +# 2229| v2229_62(void) = ^IndirectReadSideEffect[-1] : &:r2229_58, ~m? +# 2229| mu2229_63(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2229_58 #-----| Goto -> Block 30 -# 2219| Block 30 -# 2219| v2219_13(void) = NoOp : -# 2219| r2219_14(glval) = VariableAddress[x] : -# 2219| r2219_15(glval) = FunctionAddress[~ClassWithDestructor] : -# 2219| v2219_16(void) = Call[~ClassWithDestructor] : func:r2219_15, this:r2219_14 -# 2219| mu2219_17(unknown) = ^CallSideEffect : ~m? -# 2219| v2219_18(void) = ^IndirectReadSideEffect[-1] : &:r2219_14, ~m? -# 2219| mu2219_19(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2219_14 +# 2233| Block 30 +# 2233| v2233_13(void) = NoOp : +# 2233| r2233_14(glval) = VariableAddress[x] : +# 2233| r2233_15(glval) = FunctionAddress[~ClassWithDestructor] : +# 2233| v2233_16(void) = Call[~ClassWithDestructor] : func:r2233_15, this:r2233_14 +# 2233| mu2233_17(unknown) = ^CallSideEffect : ~m? +# 2233| v2233_18(void) = ^IndirectReadSideEffect[-1] : &:r2233_14, ~m? +# 2233| mu2233_19(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_14 #-----| Goto -> Block 1 -# 2221| void static_variable_with_destructor_1() -# 2221| Block 0 -# 2221| v2221_1(void) = EnterFunction : -# 2221| mu2221_2(unknown) = AliasedDefinition : -# 2221| mu2221_3(unknown) = InitializeNonLocal : -# 2222| r2222_1(glval) = VariableAddress[a] : -# 2222| mu2222_2(ClassWithDestructor) = Uninitialized[a] : &:r2222_1 -# 2222| r2222_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2222| v2222_4(void) = Call[ClassWithDestructor] : func:r2222_3, this:r2222_1 -# 2222| mu2222_5(unknown) = ^CallSideEffect : ~m? -# 2222| mu2222_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2222_1 -# 2223| r2223_1(glval) = VariableAddress[b#init] : -# 2223| r2223_2(bool) = Load[b#init] : &:r2223_1, ~m? -# 2223| v2223_3(void) = ConditionalBranch : r2223_2 +# 2235| void static_variable_with_destructor_1() +# 2235| Block 0 +# 2235| v2235_1(void) = EnterFunction : +# 2235| mu2235_2(unknown) = AliasedDefinition : +# 2235| mu2235_3(unknown) = InitializeNonLocal : +# 2236| r2236_1(glval) = VariableAddress[a] : +# 2236| mu2236_2(ClassWithDestructor) = Uninitialized[a] : &:r2236_1 +# 2236| r2236_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2236| v2236_4(void) = Call[ClassWithDestructor] : func:r2236_3, this:r2236_1 +# 2236| mu2236_5(unknown) = ^CallSideEffect : ~m? +# 2236| mu2236_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2236_1 +# 2237| r2237_1(glval) = VariableAddress[b#init] : +# 2237| r2237_2(bool) = Load[b#init] : &:r2237_1, ~m? +# 2237| v2237_3(void) = ConditionalBranch : r2237_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2223| Block 1 -# 2223| r2223_4(glval) = VariableAddress[b] : +# 2237| Block 1 +# 2237| r2237_4(glval) = VariableAddress[b] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2223_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2237_4 #-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2223_4 -# 2223| r2223_5(bool) = Constant[1] : -# 2223| mu2223_6(bool) = Store[b#init] : &:r2223_1, r2223_5 +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_4 +# 2237| r2237_5(bool) = Constant[1] : +# 2237| mu2237_6(bool) = Store[b#init] : &:r2237_1, r2237_5 #-----| Goto -> Block 2 -# 2224| Block 2 -# 2224| v2224_1(void) = NoOp : -# 2224| r2224_2(glval) = VariableAddress[a] : -# 2224| r2224_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2224| v2224_4(void) = Call[~ClassWithDestructor] : func:r2224_3, this:r2224_2 -# 2224| mu2224_5(unknown) = ^CallSideEffect : ~m? -# 2224| v2224_6(void) = ^IndirectReadSideEffect[-1] : &:r2224_2, ~m? -# 2224| mu2224_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2224_2 -# 2221| v2221_4(void) = ReturnVoid : -# 2221| v2221_5(void) = AliasedUse : ~m? -# 2221| v2221_6(void) = ExitFunction : - -# 2226| void static_variable_with_destructor_2() -# 2226| Block 0 -# 2226| v2226_1(void) = EnterFunction : -# 2226| mu2226_2(unknown) = AliasedDefinition : -# 2226| mu2226_3(unknown) = InitializeNonLocal : -# 2227| r2227_1(glval) = VariableAddress[a#init] : -# 2227| r2227_2(bool) = Load[a#init] : &:r2227_1, ~m? -# 2227| v2227_3(void) = ConditionalBranch : r2227_2 +# 2238| Block 2 +# 2238| v2238_1(void) = NoOp : +# 2238| r2238_2(glval) = VariableAddress[a] : +# 2238| r2238_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2238| v2238_4(void) = Call[~ClassWithDestructor] : func:r2238_3, this:r2238_2 +# 2238| mu2238_5(unknown) = ^CallSideEffect : ~m? +# 2238| v2238_6(void) = ^IndirectReadSideEffect[-1] : &:r2238_2, ~m? +# 2238| mu2238_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2238_2 +# 2235| v2235_4(void) = ReturnVoid : +# 2235| v2235_5(void) = AliasedUse : ~m? +# 2235| v2235_6(void) = ExitFunction : + +# 2240| void static_variable_with_destructor_2() +# 2240| Block 0 +# 2240| v2240_1(void) = EnterFunction : +# 2240| mu2240_2(unknown) = AliasedDefinition : +# 2240| mu2240_3(unknown) = InitializeNonLocal : +# 2241| r2241_1(glval) = VariableAddress[a#init] : +# 2241| r2241_2(bool) = Load[a#init] : &:r2241_1, ~m? +# 2241| v2241_3(void) = ConditionalBranch : r2241_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2227| Block 1 -# 2227| r2227_4(glval) = VariableAddress[a] : +# 2241| Block 1 +# 2241| r2241_4(glval) = VariableAddress[a] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2227_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2241_4 #-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2227_4 -# 2227| r2227_5(bool) = Constant[1] : -# 2227| mu2227_6(bool) = Store[a#init] : &:r2227_1, r2227_5 +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2241_4 +# 2241| r2241_5(bool) = Constant[1] : +# 2241| mu2241_6(bool) = Store[a#init] : &:r2241_1, r2241_5 #-----| Goto -> Block 2 -# 2228| Block 2 -# 2228| r2228_1(glval) = VariableAddress[b] : -# 2228| mu2228_2(ClassWithDestructor) = Uninitialized[b] : &:r2228_1 -# 2228| r2228_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2228| v2228_4(void) = Call[ClassWithDestructor] : func:r2228_3, this:r2228_1 -# 2228| mu2228_5(unknown) = ^CallSideEffect : ~m? -# 2228| mu2228_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2228_1 -# 2229| v2229_1(void) = NoOp : -# 2229| r2229_2(glval) = VariableAddress[b] : -# 2229| r2229_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2229| v2229_4(void) = Call[~ClassWithDestructor] : func:r2229_3, this:r2229_2 -# 2229| mu2229_5(unknown) = ^CallSideEffect : ~m? -# 2229| v2229_6(void) = ^IndirectReadSideEffect[-1] : &:r2229_2, ~m? -# 2229| mu2229_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2229_2 -# 2226| v2226_4(void) = ReturnVoid : -# 2226| v2226_5(void) = AliasedUse : ~m? -# 2226| v2226_6(void) = ExitFunction : - -# 2231| void static_variable_with_destructor_3() -# 2231| Block 0 -# 2231| v2231_1(void) = EnterFunction : -# 2231| mu2231_2(unknown) = AliasedDefinition : -# 2231| mu2231_3(unknown) = InitializeNonLocal : -# 2232| r2232_1(glval) = VariableAddress[a] : -# 2232| mu2232_2(ClassWithDestructor) = Uninitialized[a] : &:r2232_1 -# 2232| r2232_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2232| v2232_4(void) = Call[ClassWithDestructor] : func:r2232_3, this:r2232_1 -# 2232| mu2232_5(unknown) = ^CallSideEffect : ~m? -# 2232| mu2232_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2232_1 -# 2233| r2233_1(glval) = VariableAddress[b] : -# 2233| mu2233_2(ClassWithDestructor) = Uninitialized[b] : &:r2233_1 -# 2233| r2233_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2233| v2233_4(void) = Call[ClassWithDestructor] : func:r2233_3, this:r2233_1 -# 2233| mu2233_5(unknown) = ^CallSideEffect : ~m? -# 2233| mu2233_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2233_1 -# 2234| r2234_1(glval) = VariableAddress[c#init] : -# 2234| r2234_2(bool) = Load[c#init] : &:r2234_1, ~m? -# 2234| v2234_3(void) = ConditionalBranch : r2234_2 +# 2242| Block 2 +# 2242| r2242_1(glval) = VariableAddress[b] : +# 2242| mu2242_2(ClassWithDestructor) = Uninitialized[b] : &:r2242_1 +# 2242| r2242_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2242| v2242_4(void) = Call[ClassWithDestructor] : func:r2242_3, this:r2242_1 +# 2242| mu2242_5(unknown) = ^CallSideEffect : ~m? +# 2242| mu2242_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2242_1 +# 2243| v2243_1(void) = NoOp : +# 2243| r2243_2(glval) = VariableAddress[b] : +# 2243| r2243_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2243| v2243_4(void) = Call[~ClassWithDestructor] : func:r2243_3, this:r2243_2 +# 2243| mu2243_5(unknown) = ^CallSideEffect : ~m? +# 2243| v2243_6(void) = ^IndirectReadSideEffect[-1] : &:r2243_2, ~m? +# 2243| mu2243_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2243_2 +# 2240| v2240_4(void) = ReturnVoid : +# 2240| v2240_5(void) = AliasedUse : ~m? +# 2240| v2240_6(void) = ExitFunction : + +# 2245| void static_variable_with_destructor_3() +# 2245| Block 0 +# 2245| v2245_1(void) = EnterFunction : +# 2245| mu2245_2(unknown) = AliasedDefinition : +# 2245| mu2245_3(unknown) = InitializeNonLocal : +# 2246| r2246_1(glval) = VariableAddress[a] : +# 2246| mu2246_2(ClassWithDestructor) = Uninitialized[a] : &:r2246_1 +# 2246| r2246_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2246| v2246_4(void) = Call[ClassWithDestructor] : func:r2246_3, this:r2246_1 +# 2246| mu2246_5(unknown) = ^CallSideEffect : ~m? +# 2246| mu2246_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2246_1 +# 2247| r2247_1(glval) = VariableAddress[b] : +# 2247| mu2247_2(ClassWithDestructor) = Uninitialized[b] : &:r2247_1 +# 2247| r2247_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2247| v2247_4(void) = Call[ClassWithDestructor] : func:r2247_3, this:r2247_1 +# 2247| mu2247_5(unknown) = ^CallSideEffect : ~m? +# 2247| mu2247_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2247_1 +# 2248| r2248_1(glval) = VariableAddress[c#init] : +# 2248| r2248_2(bool) = Load[c#init] : &:r2248_1, ~m? +# 2248| v2248_3(void) = ConditionalBranch : r2248_2 #-----| False -> Block 1 #-----| True -> Block 2 -# 2234| Block 1 -# 2234| r2234_4(glval) = VariableAddress[c] : +# 2248| Block 1 +# 2248| r2248_4(glval) = VariableAddress[c] : #-----| r0_1(glval) = FunctionAddress[ClassWithDestructor] : -#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2234_4 +#-----| v0_2(void) = Call[ClassWithDestructor] : func:r0_1, this:r2248_4 #-----| mu0_3(unknown) = ^CallSideEffect : ~m? -#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2234_4 -# 2234| r2234_5(bool) = Constant[1] : -# 2234| mu2234_6(bool) = Store[c#init] : &:r2234_1, r2234_5 +#-----| mu0_4(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2248_4 +# 2248| r2248_5(bool) = Constant[1] : +# 2248| mu2248_6(bool) = Store[c#init] : &:r2248_1, r2248_5 #-----| Goto -> Block 2 -# 2235| Block 2 -# 2235| v2235_1(void) = NoOp : -# 2235| r2235_2(glval) = VariableAddress[b] : -# 2235| r2235_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2235| v2235_4(void) = Call[~ClassWithDestructor] : func:r2235_3, this:r2235_2 -# 2235| mu2235_5(unknown) = ^CallSideEffect : ~m? -# 2235| v2235_6(void) = ^IndirectReadSideEffect[-1] : &:r2235_2, ~m? -# 2235| mu2235_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_2 -# 2235| r2235_8(glval) = VariableAddress[a] : -# 2235| r2235_9(glval) = FunctionAddress[~ClassWithDestructor] : -# 2235| v2235_10(void) = Call[~ClassWithDestructor] : func:r2235_9, this:r2235_8 -# 2235| mu2235_11(unknown) = ^CallSideEffect : ~m? -# 2235| v2235_12(void) = ^IndirectReadSideEffect[-1] : &:r2235_8, ~m? -# 2235| mu2235_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2235_8 -# 2231| v2231_4(void) = ReturnVoid : -# 2231| v2231_5(void) = AliasedUse : ~m? -# 2231| v2231_6(void) = ExitFunction : - -# 2237| ClassWithDestructor global_class_with_destructor -# 2237| Block 0 -# 2237| v2237_1(void) = EnterFunction : -# 2237| mu2237_2(unknown) = AliasedDefinition : -# 2237| r2237_3(glval) = VariableAddress[global_class_with_destructor] : -# 2237| r2237_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2237| v2237_5(void) = Call[ClassWithDestructor] : func:r2237_4, this:r2237_3 -# 2237| mu2237_6(unknown) = ^CallSideEffect : ~m? -# 2237| mu2237_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2237_3 -# 2237| v2237_8(void) = ReturnVoid : -# 2237| v2237_9(void) = AliasedUse : ~m? -# 2237| v2237_10(void) = ExitFunction : - -# 2241| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) -# 2241| Block 0 -# 2241| v2241_1(void) = EnterFunction : -# 2241| mu2241_2(unknown) = AliasedDefinition : -# 2241| mu2241_3(unknown) = InitializeNonLocal : -# 2241| r2241_4(glval) = VariableAddress[t] : -# 2241| mu2241_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2241_4 -# 2241| r2241_6(ClassWithDestructor &) = Load[t] : &:r2241_4, ~m? -# 2241| mu2241_7(unknown) = InitializeIndirection[t] : &:r2241_6 -# 2241| r2241_8(glval) = VariableAddress[#return] : -# 2241| r2241_9(glval) = VariableAddress[t] : -# 2241| r2241_10(ClassWithDestructor &) = Load[t] : &:r2241_9, ~m? -# 2241| r2241_11(glval) = CopyValue : r2241_10 -# 2241| r2241_12(ClassWithDestructor &) = CopyValue : r2241_11 -# 2241| mu2241_13(ClassWithDestructor &) = Store[#return] : &:r2241_8, r2241_12 -# 2241| v2241_14(void) = ReturnIndirection[t] : &:r2241_6, ~m? -# 2241| r2241_15(glval) = VariableAddress[#return] : -# 2241| v2241_16(void) = ReturnValue : &:r2241_15, ~m? -# 2241| v2241_17(void) = AliasedUse : ~m? -# 2241| v2241_18(void) = ExitFunction : - -# 2241| int& vacuous_destructor_call::get(int&) -# 2241| Block 0 -# 2241| v2241_1(void) = EnterFunction : -# 2241| mu2241_2(unknown) = AliasedDefinition : -# 2241| mu2241_3(unknown) = InitializeNonLocal : -# 2241| r2241_4(glval) = VariableAddress[t] : -# 2241| mu2241_5(int &) = InitializeParameter[t] : &:r2241_4 -# 2241| r2241_6(int &) = Load[t] : &:r2241_4, ~m? -# 2241| mu2241_7(unknown) = InitializeIndirection[t] : &:r2241_6 -# 2241| r2241_8(glval) = VariableAddress[#return] : -# 2241| r2241_9(glval) = VariableAddress[t] : -# 2241| r2241_10(int &) = Load[t] : &:r2241_9, ~m? -# 2241| r2241_11(glval) = CopyValue : r2241_10 -# 2241| r2241_12(int &) = CopyValue : r2241_11 -# 2241| mu2241_13(int &) = Store[#return] : &:r2241_8, r2241_12 -# 2241| v2241_14(void) = ReturnIndirection[t] : &:r2241_6, ~m? -# 2241| r2241_15(glval) = VariableAddress[#return] : -# 2241| v2241_16(void) = ReturnValue : &:r2241_15, ~m? -# 2241| v2241_17(void) = AliasedUse : ~m? -# 2241| v2241_18(void) = ExitFunction : - -# 2244| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) -# 2244| Block 0 -# 2244| v2244_1(void) = EnterFunction : -# 2244| mu2244_2(unknown) = AliasedDefinition : -# 2244| mu2244_3(unknown) = InitializeNonLocal : -# 2244| r2244_4(glval) = VariableAddress[t] : -# 2244| mu2244_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2244_4 -# 2244| r2244_6(ClassWithDestructor &) = Load[t] : &:r2244_4, ~m? -# 2244| mu2244_7(unknown) = InitializeIndirection[t] : &:r2244_6 -# 2245| r2245_1(glval) = FunctionAddress[get] : -# 2245| r2245_2(glval) = VariableAddress[t] : -# 2245| r2245_3(ClassWithDestructor &) = Load[t] : &:r2245_2, ~m? -# 2245| r2245_4(glval) = CopyValue : r2245_3 -# 2245| r2245_5(ClassWithDestructor &) = CopyValue : r2245_4 -# 2245| r2245_6(ClassWithDestructor &) = Call[get] : func:r2245_1, 0:r2245_5 -# 2245| mu2245_7(unknown) = ^CallSideEffect : ~m? -# 2245| v2245_8(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m? -# 2245| mu2245_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 -# 2245| r2245_10(glval) = CopyValue : r2245_6 -# 2245| r2245_11(glval) = FunctionAddress[~ClassWithDestructor] : -# 2245| v2245_12(void) = Call[~ClassWithDestructor] : func:r2245_11 -# 2245| mu2245_13(unknown) = ^CallSideEffect : ~m? -# 2245| v2245_14(void) = ^IndirectReadSideEffect[-1] : &:r2245_10, ~m? -# 2245| mu2245_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2245_10 -# 2246| v2246_1(void) = NoOp : -# 2244| v2244_8(void) = ReturnIndirection[t] : &:r2244_6, ~m? -# 2244| v2244_9(void) = ReturnVoid : -# 2244| v2244_10(void) = AliasedUse : ~m? -# 2244| v2244_11(void) = ExitFunction : - -# 2244| void vacuous_destructor_call::call_destructor(int&) -# 2244| Block 0 -# 2244| v2244_1(void) = EnterFunction : -# 2244| mu2244_2(unknown) = AliasedDefinition : -# 2244| mu2244_3(unknown) = InitializeNonLocal : -# 2244| r2244_4(glval) = VariableAddress[t] : -# 2244| mu2244_5(int &) = InitializeParameter[t] : &:r2244_4 -# 2244| r2244_6(int &) = Load[t] : &:r2244_4, ~m? -# 2244| mu2244_7(unknown) = InitializeIndirection[t] : &:r2244_6 -# 2245| r2245_1(glval) = FunctionAddress[get] : -# 2245| r2245_2(glval) = VariableAddress[t] : -# 2245| r2245_3(int &) = Load[t] : &:r2245_2, ~m? -# 2245| r2245_4(glval) = CopyValue : r2245_3 -# 2245| r2245_5(int &) = CopyValue : r2245_4 -# 2245| r2245_6(int &) = Call[get] : func:r2245_1, 0:r2245_5 -# 2245| mu2245_7(unknown) = ^CallSideEffect : ~m? -# 2245| v2245_8(void) = ^BufferReadSideEffect[0] : &:r2245_5, ~m? -# 2245| mu2245_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2245_5 -# 2245| r2245_10(glval) = CopyValue : r2245_6 -# 2246| v2246_1(void) = NoOp : -# 2244| v2244_8(void) = ReturnIndirection[t] : &:r2244_6, ~m? -# 2244| v2244_9(void) = ReturnVoid : -# 2244| v2244_10(void) = AliasedUse : ~m? -# 2244| v2244_11(void) = ExitFunction : - -# 2248| void vacuous_destructor_call::non_vacuous_destructor_call() -# 2248| Block 0 -# 2248| v2248_1(void) = EnterFunction : -# 2248| mu2248_2(unknown) = AliasedDefinition : -# 2248| mu2248_3(unknown) = InitializeNonLocal : -# 2249| r2249_1(glval) = VariableAddress[c] : -# 2249| mu2249_2(ClassWithDestructor) = Uninitialized[c] : &:r2249_1 -# 2249| r2249_3(glval) = FunctionAddress[ClassWithDestructor] : -# 2249| v2249_4(void) = Call[ClassWithDestructor] : func:r2249_3, this:r2249_1 +# 2249| Block 2 +# 2249| v2249_1(void) = NoOp : +# 2249| r2249_2(glval) = VariableAddress[b] : +# 2249| r2249_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2249| v2249_4(void) = Call[~ClassWithDestructor] : func:r2249_3, this:r2249_2 # 2249| mu2249_5(unknown) = ^CallSideEffect : ~m? -# 2249| mu2249_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_1 -# 2250| r2250_1(glval) = FunctionAddress[call_destructor] : -# 2250| r2250_2(glval) = VariableAddress[c] : -# 2250| r2250_3(ClassWithDestructor &) = CopyValue : r2250_2 -# 2250| v2250_4(void) = Call[call_destructor] : func:r2250_1, 0:r2250_3 -# 2250| mu2250_5(unknown) = ^CallSideEffect : ~m? -# 2250| v2250_6(void) = ^BufferReadSideEffect[0] : &:r2250_3, ~m? -# 2250| mu2250_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2250_3 -# 2251| v2251_1(void) = NoOp : -# 2251| r2251_2(glval) = VariableAddress[c] : -# 2251| r2251_3(glval) = FunctionAddress[~ClassWithDestructor] : -# 2251| v2251_4(void) = Call[~ClassWithDestructor] : func:r2251_3, this:r2251_2 -# 2251| mu2251_5(unknown) = ^CallSideEffect : ~m? -# 2251| v2251_6(void) = ^IndirectReadSideEffect[-1] : &:r2251_2, ~m? -# 2251| mu2251_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_2 -# 2248| v2248_4(void) = ReturnVoid : -# 2248| v2248_5(void) = AliasedUse : ~m? -# 2248| v2248_6(void) = ExitFunction : - -# 2253| void vacuous_destructor_call::vacuous_destructor_call() -# 2253| Block 0 -# 2253| v2253_1(void) = EnterFunction : -# 2253| mu2253_2(unknown) = AliasedDefinition : -# 2253| mu2253_3(unknown) = InitializeNonLocal : -# 2254| r2254_1(glval) = VariableAddress[i] : -# 2254| mu2254_2(int) = Uninitialized[i] : &:r2254_1 -# 2255| r2255_1(glval) = FunctionAddress[call_destructor] : -# 2255| r2255_2(glval) = VariableAddress[i] : -# 2255| r2255_3(int &) = CopyValue : r2255_2 -# 2255| v2255_4(void) = Call[call_destructor] : func:r2255_1, 0:r2255_3 -# 2255| mu2255_5(unknown) = ^CallSideEffect : ~m? -# 2255| v2255_6(void) = ^BufferReadSideEffect[0] : &:r2255_3, ~m? -# 2255| mu2255_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2255_3 -# 2256| v2256_1(void) = NoOp : -# 2253| v2253_4(void) = ReturnVoid : -# 2253| v2253_5(void) = AliasedUse : ~m? -# 2253| v2253_6(void) = ExitFunction : - -# 2259| void TryCatchDestructors(bool) -# 2259| Block 0 -# 2259| v2259_1(void) = EnterFunction : -# 2259| mu2259_2(unknown) = AliasedDefinition : -# 2259| mu2259_3(unknown) = InitializeNonLocal : -# 2259| r2259_4(glval) = VariableAddress[b] : -# 2259| mu2259_5(bool) = InitializeParameter[b] : &:r2259_4 -# 2261| r2261_1(glval) = VariableAddress[s] : -# 2261| mu2261_2(String) = Uninitialized[s] : &:r2261_1 -# 2261| r2261_3(glval) = FunctionAddress[String] : -# 2261| v2261_4(void) = Call[String] : func:r2261_3, this:r2261_1 -# 2261| mu2261_5(unknown) = ^CallSideEffect : ~m? -# 2261| mu2261_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2261_1 -# 2262| r2262_1(glval) = VariableAddress[b] : -# 2262| r2262_2(bool) = Load[b] : &:r2262_1, ~m? -# 2262| v2262_3(void) = ConditionalBranch : r2262_2 +# 2249| v2249_6(void) = ^IndirectReadSideEffect[-1] : &:r2249_2, ~m? +# 2249| mu2249_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_2 +# 2249| r2249_8(glval) = VariableAddress[a] : +# 2249| r2249_9(glval) = FunctionAddress[~ClassWithDestructor] : +# 2249| v2249_10(void) = Call[~ClassWithDestructor] : func:r2249_9, this:r2249_8 +# 2249| mu2249_11(unknown) = ^CallSideEffect : ~m? +# 2249| v2249_12(void) = ^IndirectReadSideEffect[-1] : &:r2249_8, ~m? +# 2249| mu2249_13(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2249_8 +# 2245| v2245_4(void) = ReturnVoid : +# 2245| v2245_5(void) = AliasedUse : ~m? +# 2245| v2245_6(void) = ExitFunction : + +# 2251| ClassWithDestructor global_class_with_destructor +# 2251| Block 0 +# 2251| v2251_1(void) = EnterFunction : +# 2251| mu2251_2(unknown) = AliasedDefinition : +# 2251| r2251_3(glval) = VariableAddress[global_class_with_destructor] : +# 2251| r2251_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2251| v2251_5(void) = Call[ClassWithDestructor] : func:r2251_4, this:r2251_3 +# 2251| mu2251_6(unknown) = ^CallSideEffect : ~m? +# 2251| mu2251_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2251_3 +# 2251| v2251_8(void) = ReturnVoid : +# 2251| v2251_9(void) = AliasedUse : ~m? +# 2251| v2251_10(void) = ExitFunction : + +# 2255| ClassWithDestructor& vacuous_destructor_call::get(ClassWithDestructor&) +# 2255| Block 0 +# 2255| v2255_1(void) = EnterFunction : +# 2255| mu2255_2(unknown) = AliasedDefinition : +# 2255| mu2255_3(unknown) = InitializeNonLocal : +# 2255| r2255_4(glval) = VariableAddress[t] : +# 2255| mu2255_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2255_4 +# 2255| r2255_6(ClassWithDestructor &) = Load[t] : &:r2255_4, ~m? +# 2255| mu2255_7(unknown) = InitializeIndirection[t] : &:r2255_6 +# 2255| r2255_8(glval) = VariableAddress[#return] : +# 2255| r2255_9(glval) = VariableAddress[t] : +# 2255| r2255_10(ClassWithDestructor &) = Load[t] : &:r2255_9, ~m? +# 2255| r2255_11(glval) = CopyValue : r2255_10 +# 2255| r2255_12(ClassWithDestructor &) = CopyValue : r2255_11 +# 2255| mu2255_13(ClassWithDestructor &) = Store[#return] : &:r2255_8, r2255_12 +# 2255| v2255_14(void) = ReturnIndirection[t] : &:r2255_6, ~m? +# 2255| r2255_15(glval) = VariableAddress[#return] : +# 2255| v2255_16(void) = ReturnValue : &:r2255_15, ~m? +# 2255| v2255_17(void) = AliasedUse : ~m? +# 2255| v2255_18(void) = ExitFunction : + +# 2255| int& vacuous_destructor_call::get(int&) +# 2255| Block 0 +# 2255| v2255_1(void) = EnterFunction : +# 2255| mu2255_2(unknown) = AliasedDefinition : +# 2255| mu2255_3(unknown) = InitializeNonLocal : +# 2255| r2255_4(glval) = VariableAddress[t] : +# 2255| mu2255_5(int &) = InitializeParameter[t] : &:r2255_4 +# 2255| r2255_6(int &) = Load[t] : &:r2255_4, ~m? +# 2255| mu2255_7(unknown) = InitializeIndirection[t] : &:r2255_6 +# 2255| r2255_8(glval) = VariableAddress[#return] : +# 2255| r2255_9(glval) = VariableAddress[t] : +# 2255| r2255_10(int &) = Load[t] : &:r2255_9, ~m? +# 2255| r2255_11(glval) = CopyValue : r2255_10 +# 2255| r2255_12(int &) = CopyValue : r2255_11 +# 2255| mu2255_13(int &) = Store[#return] : &:r2255_8, r2255_12 +# 2255| v2255_14(void) = ReturnIndirection[t] : &:r2255_6, ~m? +# 2255| r2255_15(glval) = VariableAddress[#return] : +# 2255| v2255_16(void) = ReturnValue : &:r2255_15, ~m? +# 2255| v2255_17(void) = AliasedUse : ~m? +# 2255| v2255_18(void) = ExitFunction : + +# 2258| void vacuous_destructor_call::call_destructor(ClassWithDestructor&) +# 2258| Block 0 +# 2258| v2258_1(void) = EnterFunction : +# 2258| mu2258_2(unknown) = AliasedDefinition : +# 2258| mu2258_3(unknown) = InitializeNonLocal : +# 2258| r2258_4(glval) = VariableAddress[t] : +# 2258| mu2258_5(ClassWithDestructor &) = InitializeParameter[t] : &:r2258_4 +# 2258| r2258_6(ClassWithDestructor &) = Load[t] : &:r2258_4, ~m? +# 2258| mu2258_7(unknown) = InitializeIndirection[t] : &:r2258_6 +# 2259| r2259_1(glval) = FunctionAddress[get] : +# 2259| r2259_2(glval) = VariableAddress[t] : +# 2259| r2259_3(ClassWithDestructor &) = Load[t] : &:r2259_2, ~m? +# 2259| r2259_4(glval) = CopyValue : r2259_3 +# 2259| r2259_5(ClassWithDestructor &) = CopyValue : r2259_4 +# 2259| r2259_6(ClassWithDestructor &) = Call[get] : func:r2259_1, 0:r2259_5 +# 2259| mu2259_7(unknown) = ^CallSideEffect : ~m? +# 2259| v2259_8(void) = ^BufferReadSideEffect[0] : &:r2259_5, ~m? +# 2259| mu2259_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2259_5 +# 2259| r2259_10(glval) = CopyValue : r2259_6 +# 2259| r2259_11(glval) = FunctionAddress[~ClassWithDestructor] : +# 2259| v2259_12(void) = Call[~ClassWithDestructor] : func:r2259_11 +# 2259| mu2259_13(unknown) = ^CallSideEffect : ~m? +# 2259| v2259_14(void) = ^IndirectReadSideEffect[-1] : &:r2259_10, ~m? +# 2259| mu2259_15(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2259_10 +# 2260| v2260_1(void) = NoOp : +# 2258| v2258_8(void) = ReturnIndirection[t] : &:r2258_6, ~m? +# 2258| v2258_9(void) = ReturnVoid : +# 2258| v2258_10(void) = AliasedUse : ~m? +# 2258| v2258_11(void) = ExitFunction : + +# 2258| void vacuous_destructor_call::call_destructor(int&) +# 2258| Block 0 +# 2258| v2258_1(void) = EnterFunction : +# 2258| mu2258_2(unknown) = AliasedDefinition : +# 2258| mu2258_3(unknown) = InitializeNonLocal : +# 2258| r2258_4(glval) = VariableAddress[t] : +# 2258| mu2258_5(int &) = InitializeParameter[t] : &:r2258_4 +# 2258| r2258_6(int &) = Load[t] : &:r2258_4, ~m? +# 2258| mu2258_7(unknown) = InitializeIndirection[t] : &:r2258_6 +# 2259| r2259_1(glval) = FunctionAddress[get] : +# 2259| r2259_2(glval) = VariableAddress[t] : +# 2259| r2259_3(int &) = Load[t] : &:r2259_2, ~m? +# 2259| r2259_4(glval) = CopyValue : r2259_3 +# 2259| r2259_5(int &) = CopyValue : r2259_4 +# 2259| r2259_6(int &) = Call[get] : func:r2259_1, 0:r2259_5 +# 2259| mu2259_7(unknown) = ^CallSideEffect : ~m? +# 2259| v2259_8(void) = ^BufferReadSideEffect[0] : &:r2259_5, ~m? +# 2259| mu2259_9(unknown) = ^BufferMayWriteSideEffect[0] : &:r2259_5 +# 2259| r2259_10(glval) = CopyValue : r2259_6 +# 2260| v2260_1(void) = NoOp : +# 2258| v2258_8(void) = ReturnIndirection[t] : &:r2258_6, ~m? +# 2258| v2258_9(void) = ReturnVoid : +# 2258| v2258_10(void) = AliasedUse : ~m? +# 2258| v2258_11(void) = ExitFunction : + +# 2262| void vacuous_destructor_call::non_vacuous_destructor_call() +# 2262| Block 0 +# 2262| v2262_1(void) = EnterFunction : +# 2262| mu2262_2(unknown) = AliasedDefinition : +# 2262| mu2262_3(unknown) = InitializeNonLocal : +# 2263| r2263_1(glval) = VariableAddress[c] : +# 2263| mu2263_2(ClassWithDestructor) = Uninitialized[c] : &:r2263_1 +# 2263| r2263_3(glval) = FunctionAddress[ClassWithDestructor] : +# 2263| v2263_4(void) = Call[ClassWithDestructor] : func:r2263_3, this:r2263_1 +# 2263| mu2263_5(unknown) = ^CallSideEffect : ~m? +# 2263| mu2263_6(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2263_1 +# 2264| r2264_1(glval) = FunctionAddress[call_destructor] : +# 2264| r2264_2(glval) = VariableAddress[c] : +# 2264| r2264_3(ClassWithDestructor &) = CopyValue : r2264_2 +# 2264| v2264_4(void) = Call[call_destructor] : func:r2264_1, 0:r2264_3 +# 2264| mu2264_5(unknown) = ^CallSideEffect : ~m? +# 2264| v2264_6(void) = ^BufferReadSideEffect[0] : &:r2264_3, ~m? +# 2264| mu2264_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2264_3 +# 2265| v2265_1(void) = NoOp : +# 2265| r2265_2(glval) = VariableAddress[c] : +# 2265| r2265_3(glval) = FunctionAddress[~ClassWithDestructor] : +# 2265| v2265_4(void) = Call[~ClassWithDestructor] : func:r2265_3, this:r2265_2 +# 2265| mu2265_5(unknown) = ^CallSideEffect : ~m? +# 2265| v2265_6(void) = ^IndirectReadSideEffect[-1] : &:r2265_2, ~m? +# 2265| mu2265_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2265_2 +# 2262| v2262_4(void) = ReturnVoid : +# 2262| v2262_5(void) = AliasedUse : ~m? +# 2262| v2262_6(void) = ExitFunction : + +# 2267| void vacuous_destructor_call::vacuous_destructor_call() +# 2267| Block 0 +# 2267| v2267_1(void) = EnterFunction : +# 2267| mu2267_2(unknown) = AliasedDefinition : +# 2267| mu2267_3(unknown) = InitializeNonLocal : +# 2268| r2268_1(glval) = VariableAddress[i] : +# 2268| mu2268_2(int) = Uninitialized[i] : &:r2268_1 +# 2269| r2269_1(glval) = FunctionAddress[call_destructor] : +# 2269| r2269_2(glval) = VariableAddress[i] : +# 2269| r2269_3(int &) = CopyValue : r2269_2 +# 2269| v2269_4(void) = Call[call_destructor] : func:r2269_1, 0:r2269_3 +# 2269| mu2269_5(unknown) = ^CallSideEffect : ~m? +# 2269| v2269_6(void) = ^BufferReadSideEffect[0] : &:r2269_3, ~m? +# 2269| mu2269_7(unknown) = ^BufferMayWriteSideEffect[0] : &:r2269_3 +# 2270| v2270_1(void) = NoOp : +# 2267| v2267_4(void) = ReturnVoid : +# 2267| v2267_5(void) = AliasedUse : ~m? +# 2267| v2267_6(void) = ExitFunction : + +# 2273| void TryCatchDestructors(bool) +# 2273| Block 0 +# 2273| v2273_1(void) = EnterFunction : +# 2273| mu2273_2(unknown) = AliasedDefinition : +# 2273| mu2273_3(unknown) = InitializeNonLocal : +# 2273| r2273_4(glval) = VariableAddress[b] : +# 2273| mu2273_5(bool) = InitializeParameter[b] : &:r2273_4 +# 2275| r2275_1(glval) = VariableAddress[s] : +# 2275| mu2275_2(String) = Uninitialized[s] : &:r2275_1 +# 2275| r2275_3(glval) = FunctionAddress[String] : +# 2275| v2275_4(void) = Call[String] : func:r2275_3, this:r2275_1 +# 2275| mu2275_5(unknown) = ^CallSideEffect : ~m? +# 2275| mu2275_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2275_1 +# 2276| r2276_1(glval) = VariableAddress[b] : +# 2276| r2276_2(bool) = Load[b] : &:r2276_1, ~m? +# 2276| v2276_3(void) = ConditionalBranch : r2276_2 #-----| False -> Block 4 #-----| True -> Block 3 -# 2259| Block 1 -# 2259| v2259_6(void) = AliasedUse : ~m? -# 2259| v2259_7(void) = ExitFunction : +# 2273| Block 1 +# 2273| v2273_6(void) = AliasedUse : ~m? +# 2273| v2273_7(void) = ExitFunction : -# 2259| Block 2 -# 2259| v2259_8(void) = Unwind : +# 2273| Block 2 +# 2273| v2273_8(void) = Unwind : #-----| Goto -> Block 1 -# 2263| Block 3 -# 2263| r2263_1(glval) = VariableAddress[#throw2263:7] : -# 2263| r2263_2(glval) = StringConstant["string literal"] : -# 2263| r2263_3(char *) = Convert : r2263_2 -# 2263| mu2263_4(char *) = Store[#throw2263:7] : &:r2263_1, r2263_3 -# 2263| v2263_5(void) = ThrowValue : &:r2263_1, ~m? +# 2277| Block 3 +# 2277| r2277_1(glval) = VariableAddress[#throw2277:7] : +# 2277| r2277_2(glval) = StringConstant["string literal"] : +# 2277| r2277_3(char *) = Convert : r2277_2 +# 2277| mu2277_4(char *) = Store[#throw2277:7] : &:r2277_1, r2277_3 +# 2277| v2277_5(void) = ThrowValue : &:r2277_1, ~m? #-----| Exception -> Block 5 -# 2265| Block 4 -# 2265| r2265_1(glval) = VariableAddress[s2] : -# 2265| mu2265_2(String) = Uninitialized[s2] : &:r2265_1 -# 2265| r2265_3(glval) = FunctionAddress[String] : -# 2265| v2265_4(void) = Call[String] : func:r2265_3, this:r2265_1 -# 2265| mu2265_5(unknown) = ^CallSideEffect : ~m? -# 2265| mu2265_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2265_1 -# 2266| r2266_1(glval) = VariableAddress[s2] : -# 2266| r2266_2(glval) = FunctionAddress[~String] : -# 2266| v2266_3(void) = Call[~String] : func:r2266_2, this:r2266_1 -# 2266| mu2266_4(unknown) = ^CallSideEffect : ~m? -# 2266| v2266_5(void) = ^IndirectReadSideEffect[-1] : &:r2266_1, ~m? -# 2266| mu2266_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_1 -# 2266| r2266_7(glval) = VariableAddress[s] : -# 2266| r2266_8(glval) = FunctionAddress[~String] : -# 2266| v2266_9(void) = Call[~String] : func:r2266_8, this:r2266_7 -# 2266| mu2266_10(unknown) = ^CallSideEffect : ~m? -# 2266| v2266_11(void) = ^IndirectReadSideEffect[-1] : &:r2266_7, ~m? -# 2266| mu2266_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2266_7 +# 2279| Block 4 +# 2279| r2279_1(glval) = VariableAddress[s2] : +# 2279| mu2279_2(String) = Uninitialized[s2] : &:r2279_1 +# 2279| r2279_3(glval) = FunctionAddress[String] : +# 2279| v2279_4(void) = Call[String] : func:r2279_3, this:r2279_1 +# 2279| mu2279_5(unknown) = ^CallSideEffect : ~m? +# 2279| mu2279_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2279_1 +# 2280| r2280_1(glval) = VariableAddress[s2] : +# 2280| r2280_2(glval) = FunctionAddress[~String] : +# 2280| v2280_3(void) = Call[~String] : func:r2280_2, this:r2280_1 +# 2280| mu2280_4(unknown) = ^CallSideEffect : ~m? +# 2280| v2280_5(void) = ^IndirectReadSideEffect[-1] : &:r2280_1, ~m? +# 2280| mu2280_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 +# 2280| r2280_7(glval) = VariableAddress[s] : +# 2280| r2280_8(glval) = FunctionAddress[~String] : +# 2280| v2280_9(void) = Call[~String] : func:r2280_8, this:r2280_7 +# 2280| mu2280_10(unknown) = ^CallSideEffect : ~m? +# 2280| v2280_11(void) = ^IndirectReadSideEffect[-1] : &:r2280_7, ~m? +# 2280| mu2280_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_7 #-----| Goto -> Block 10 -# 2267| Block 5 -# 2267| v2267_1(void) = CatchByType[const char *] : +# 2281| Block 5 +# 2281| v2281_1(void) = CatchByType[const char *] : #-----| Exception -> Block 7 #-----| Goto -> Block 6 -# 2267| Block 6 -# 2267| r2267_2(glval) = VariableAddress[s] : -# 2267| mu2267_3(char *) = InitializeParameter[s] : &:r2267_2 -# 2267| r2267_4(char *) = Load[s] : &:r2267_2, ~m? -# 2267| mu2267_5(unknown) = InitializeIndirection[s] : &:r2267_4 -# 2268| r2268_1(glval) = VariableAddress[#throw2268:5] : -# 2268| mu2268_2(String) = Uninitialized[#throw2268:5] : &:r2268_1 -# 2268| r2268_3(glval) = FunctionAddress[String] : -# 2268| r2268_4(glval) = VariableAddress[s] : -# 2268| r2268_5(char *) = Load[s] : &:r2268_4, ~m? -# 2268| v2268_6(void) = Call[String] : func:r2268_3, this:r2268_1, 0:r2268_5 -# 2268| mu2268_7(unknown) = ^CallSideEffect : ~m? -# 2268| v2268_8(void) = ^BufferReadSideEffect[0] : &:r2268_5, ~m? -# 2268| mu2268_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2268_1 -# 2268| v2268_10(void) = ThrowValue : &:r2268_1, ~m? +# 2281| Block 6 +# 2281| r2281_2(glval) = VariableAddress[s] : +# 2281| mu2281_3(char *) = InitializeParameter[s] : &:r2281_2 +# 2281| r2281_4(char *) = Load[s] : &:r2281_2, ~m? +# 2281| mu2281_5(unknown) = InitializeIndirection[s] : &:r2281_4 +# 2282| r2282_1(glval) = VariableAddress[#throw2282:5] : +# 2282| mu2282_2(String) = Uninitialized[#throw2282:5] : &:r2282_1 +# 2282| r2282_3(glval) = FunctionAddress[String] : +# 2282| r2282_4(glval) = VariableAddress[s] : +# 2282| r2282_5(char *) = Load[s] : &:r2282_4, ~m? +# 2282| v2282_6(void) = Call[String] : func:r2282_3, this:r2282_1, 0:r2282_5 +# 2282| mu2282_7(unknown) = ^CallSideEffect : ~m? +# 2282| v2282_8(void) = ^BufferReadSideEffect[0] : &:r2282_5, ~m? +# 2282| mu2282_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 +# 2282| v2282_10(void) = ThrowValue : &:r2282_1, ~m? #-----| Exception -> Block 2 -# 2270| Block 7 -# 2270| v2270_1(void) = CatchByType[const String &] : +# 2284| Block 7 +# 2284| v2284_1(void) = CatchByType[const String &] : #-----| Exception -> Block 9 #-----| Goto -> Block 8 -# 2270| Block 8 -# 2270| r2270_2(glval) = VariableAddress[e] : -# 2270| mu2270_3(String &) = InitializeParameter[e] : &:r2270_2 -# 2270| r2270_4(String &) = Load[e] : &:r2270_2, ~m? -# 2270| mu2270_5(unknown) = InitializeIndirection[e] : &:r2270_4 -# 2270| v2270_6(void) = NoOp : +# 2284| Block 8 +# 2284| r2284_2(glval) = VariableAddress[e] : +# 2284| mu2284_3(String &) = InitializeParameter[e] : &:r2284_2 +# 2284| r2284_4(String &) = Load[e] : &:r2284_2, ~m? +# 2284| mu2284_5(unknown) = InitializeIndirection[e] : &:r2284_4 +# 2284| v2284_6(void) = NoOp : #-----| Goto -> Block 10 -# 2272| Block 9 -# 2272| v2272_1(void) = CatchAny : -# 2273| v2273_1(void) = ReThrow : +# 2286| Block 9 +# 2286| v2286_1(void) = CatchAny : +# 2287| v2287_1(void) = ReThrow : #-----| Exception -> Block 2 -# 2275| Block 10 -# 2275| v2275_1(void) = NoOp : -# 2259| v2259_9(void) = ReturnVoid : +# 2289| Block 10 +# 2289| v2289_1(void) = NoOp : +# 2273| v2273_9(void) = ReturnVoid : #-----| Goto -> Block 1 -# 2277| void IfDestructors(bool) -# 2277| Block 0 -# 2277| v2277_1(void) = EnterFunction : -# 2277| mu2277_2(unknown) = AliasedDefinition : -# 2277| mu2277_3(unknown) = InitializeNonLocal : -# 2277| r2277_4(glval) = VariableAddress[b] : -# 2277| mu2277_5(bool) = InitializeParameter[b] : &:r2277_4 -# 2278| r2278_1(glval) = VariableAddress[s1] : -# 2278| mu2278_2(String) = Uninitialized[s1] : &:r2278_1 -# 2278| r2278_3(glval) = FunctionAddress[String] : -# 2278| v2278_4(void) = Call[String] : func:r2278_3, this:r2278_1 -# 2278| mu2278_5(unknown) = ^CallSideEffect : ~m? -# 2278| mu2278_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2278_1 -# 2279| r2279_1(glval) = VariableAddress[b] : -# 2279| r2279_2(bool) = Load[b] : &:r2279_1, ~m? -# 2279| v2279_3(void) = ConditionalBranch : r2279_2 +# 2291| void IfDestructors(bool) +# 2291| Block 0 +# 2291| v2291_1(void) = EnterFunction : +# 2291| mu2291_2(unknown) = AliasedDefinition : +# 2291| mu2291_3(unknown) = InitializeNonLocal : +# 2291| r2291_4(glval) = VariableAddress[b] : +# 2291| mu2291_5(bool) = InitializeParameter[b] : &:r2291_4 +# 2292| r2292_1(glval) = VariableAddress[s1] : +# 2292| mu2292_2(String) = Uninitialized[s1] : &:r2292_1 +# 2292| r2292_3(glval) = FunctionAddress[String] : +# 2292| v2292_4(void) = Call[String] : func:r2292_3, this:r2292_1 +# 2292| mu2292_5(unknown) = ^CallSideEffect : ~m? +# 2292| mu2292_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2292_1 +# 2293| r2293_1(glval) = VariableAddress[b] : +# 2293| r2293_2(bool) = Load[b] : &:r2293_1, ~m? +# 2293| v2293_3(void) = ConditionalBranch : r2293_2 #-----| False -> Block 2 #-----| True -> Block 1 -# 2280| Block 1 -# 2280| r2280_1(glval) = VariableAddress[s2] : -# 2280| mu2280_2(String) = Uninitialized[s2] : &:r2280_1 -# 2280| r2280_3(glval) = FunctionAddress[String] : -# 2280| v2280_4(void) = Call[String] : func:r2280_3, this:r2280_1 -# 2280| mu2280_5(unknown) = ^CallSideEffect : ~m? -# 2280| mu2280_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2280_1 -# 2281| r2281_1(glval) = VariableAddress[s2] : -# 2281| r2281_2(glval) = FunctionAddress[~String] : -# 2281| v2281_3(void) = Call[~String] : func:r2281_2, this:r2281_1 -# 2281| mu2281_4(unknown) = ^CallSideEffect : ~m? -# 2281| v2281_5(void) = ^IndirectReadSideEffect[-1] : &:r2281_1, ~m? -# 2281| mu2281_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2281_1 +# 2294| Block 1 +# 2294| r2294_1(glval) = VariableAddress[s2] : +# 2294| mu2294_2(String) = Uninitialized[s2] : &:r2294_1 +# 2294| r2294_3(glval) = FunctionAddress[String] : +# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 +# 2294| mu2294_5(unknown) = ^CallSideEffect : ~m? +# 2294| mu2294_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 +# 2295| r2295_1(glval) = VariableAddress[s2] : +# 2295| r2295_2(glval) = FunctionAddress[~String] : +# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 +# 2295| mu2295_4(unknown) = ^CallSideEffect : ~m? +# 2295| v2295_5(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, ~m? +# 2295| mu2295_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 #-----| Goto -> Block 3 -# 2282| Block 2 -# 2282| r2282_1(glval) = VariableAddress[s3] : -# 2282| mu2282_2(String) = Uninitialized[s3] : &:r2282_1 -# 2282| r2282_3(glval) = FunctionAddress[String] : -# 2282| v2282_4(void) = Call[String] : func:r2282_3, this:r2282_1 -# 2282| mu2282_5(unknown) = ^CallSideEffect : ~m? -# 2282| mu2282_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2282_1 -# 2283| r2283_1(glval) = VariableAddress[s3] : -# 2283| r2283_2(glval) = FunctionAddress[~String] : -# 2283| v2283_3(void) = Call[~String] : func:r2283_2, this:r2283_1 -# 2283| mu2283_4(unknown) = ^CallSideEffect : ~m? -# 2283| v2283_5(void) = ^IndirectReadSideEffect[-1] : &:r2283_1, ~m? -# 2283| mu2283_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2283_1 +# 2296| Block 2 +# 2296| r2296_1(glval) = VariableAddress[s3] : +# 2296| mu2296_2(String) = Uninitialized[s3] : &:r2296_1 +# 2296| r2296_3(glval) = FunctionAddress[String] : +# 2296| v2296_4(void) = Call[String] : func:r2296_3, this:r2296_1 +# 2296| mu2296_5(unknown) = ^CallSideEffect : ~m? +# 2296| mu2296_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2296_1 +# 2297| r2297_1(glval) = VariableAddress[s3] : +# 2297| r2297_2(glval) = FunctionAddress[~String] : +# 2297| v2297_3(void) = Call[~String] : func:r2297_2, this:r2297_1 +# 2297| mu2297_4(unknown) = ^CallSideEffect : ~m? +# 2297| v2297_5(void) = ^IndirectReadSideEffect[-1] : &:r2297_1, ~m? +# 2297| mu2297_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 #-----| Goto -> Block 3 -# 2284| Block 3 -# 2284| r2284_1(glval) = VariableAddress[s4] : -# 2284| mu2284_2(String) = Uninitialized[s4] : &:r2284_1 -# 2284| r2284_3(glval) = FunctionAddress[String] : -# 2284| v2284_4(void) = Call[String] : func:r2284_3, this:r2284_1 -# 2284| mu2284_5(unknown) = ^CallSideEffect : ~m? -# 2284| mu2284_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2284_1 -# 2285| v2285_1(void) = NoOp : -# 2285| r2285_2(glval) = VariableAddress[s4] : -# 2285| r2285_3(glval) = FunctionAddress[~String] : -# 2285| v2285_4(void) = Call[~String] : func:r2285_3, this:r2285_2 -# 2285| mu2285_5(unknown) = ^CallSideEffect : ~m? -# 2285| v2285_6(void) = ^IndirectReadSideEffect[-1] : &:r2285_2, ~m? -# 2285| mu2285_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_2 -# 2285| r2285_8(glval) = VariableAddress[s1] : -# 2285| r2285_9(glval) = FunctionAddress[~String] : -# 2285| v2285_10(void) = Call[~String] : func:r2285_9, this:r2285_8 -# 2285| mu2285_11(unknown) = ^CallSideEffect : ~m? -# 2285| v2285_12(void) = ^IndirectReadSideEffect[-1] : &:r2285_8, ~m? -# 2285| mu2285_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2285_8 -# 2277| v2277_6(void) = ReturnVoid : -# 2277| v2277_7(void) = AliasedUse : ~m? -# 2277| v2277_8(void) = ExitFunction : - -# 2287| void ForDestructors() -# 2287| Block 0 -# 2287| v2287_1(void) = EnterFunction : -# 2287| mu2287_2(unknown) = AliasedDefinition : -# 2287| mu2287_3(unknown) = InitializeNonLocal : -# 2288| r2288_1(glval) = VariableAddress[c] : -# 2288| r2288_2(char) = Constant[97] : -# 2288| mu2288_3(char) = Store[c] : &:r2288_1, r2288_2 -# 2289| r2289_1(glval) = VariableAddress[s] : -# 2289| mu2289_2(String) = Uninitialized[s] : &:r2289_1 -# 2289| r2289_3(glval) = FunctionAddress[String] : -# 2289| r2289_4(glval) = StringConstant["hello"] : -# 2289| r2289_5(char *) = Convert : r2289_4 -# 2289| v2289_6(void) = Call[String] : func:r2289_3, this:r2289_1, 0:r2289_5 -# 2289| mu2289_7(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_8(void) = ^BufferReadSideEffect[0] : &:r2289_5, ~m? -# 2289| mu2289_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_1 +# 2298| Block 3 +# 2298| r2298_1(glval) = VariableAddress[s4] : +# 2298| mu2298_2(String) = Uninitialized[s4] : &:r2298_1 +# 2298| r2298_3(glval) = FunctionAddress[String] : +# 2298| v2298_4(void) = Call[String] : func:r2298_3, this:r2298_1 +# 2298| mu2298_5(unknown) = ^CallSideEffect : ~m? +# 2298| mu2298_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2298_1 +# 2299| v2299_1(void) = NoOp : +# 2299| r2299_2(glval) = VariableAddress[s4] : +# 2299| r2299_3(glval) = FunctionAddress[~String] : +# 2299| v2299_4(void) = Call[~String] : func:r2299_3, this:r2299_2 +# 2299| mu2299_5(unknown) = ^CallSideEffect : ~m? +# 2299| v2299_6(void) = ^IndirectReadSideEffect[-1] : &:r2299_2, ~m? +# 2299| mu2299_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2299_2 +# 2299| r2299_8(glval) = VariableAddress[s1] : +# 2299| r2299_9(glval) = FunctionAddress[~String] : +# 2299| v2299_10(void) = Call[~String] : func:r2299_9, this:r2299_8 +# 2299| mu2299_11(unknown) = ^CallSideEffect : ~m? +# 2299| v2299_12(void) = ^IndirectReadSideEffect[-1] : &:r2299_8, ~m? +# 2299| mu2299_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2299_8 +# 2291| v2291_6(void) = ReturnVoid : +# 2291| v2291_7(void) = AliasedUse : ~m? +# 2291| v2291_8(void) = ExitFunction : + +# 2301| void ForDestructors() +# 2301| Block 0 +# 2301| v2301_1(void) = EnterFunction : +# 2301| mu2301_2(unknown) = AliasedDefinition : +# 2301| mu2301_3(unknown) = InitializeNonLocal : +# 2302| r2302_1(glval) = VariableAddress[c] : +# 2302| r2302_2(char) = Constant[97] : +# 2302| mu2302_3(char) = Store[c] : &:r2302_1, r2302_2 +# 2303| r2303_1(glval) = VariableAddress[s] : +# 2303| mu2303_2(String) = Uninitialized[s] : &:r2303_1 +# 2303| r2303_3(glval) = FunctionAddress[String] : +# 2303| r2303_4(glval) = StringConstant["hello"] : +# 2303| r2303_5(char *) = Convert : r2303_4 +# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 +# 2303| mu2303_7(unknown) = ^CallSideEffect : ~m? +# 2303| v2303_8(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m? +# 2303| mu2303_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 #-----| Goto -> Block 1 -# 2289| Block 1 -# 2289| r2289_10(glval) = VariableAddress[c] : -# 2289| r2289_11(char) = Load[c] : &:r2289_10, ~m? -# 2289| r2289_12(int) = Convert : r2289_11 -# 2289| r2289_13(int) = Constant[0] : -# 2289| r2289_14(bool) = CompareNE : r2289_12, r2289_13 -# 2289| v2289_15(void) = ConditionalBranch : r2289_14 +# 2303| Block 1 +# 2303| r2303_10(glval) = VariableAddress[c] : +# 2303| r2303_11(char) = Load[c] : &:r2303_10, ~m? +# 2303| r2303_12(int) = Convert : r2303_11 +# 2303| r2303_13(int) = Constant[0] : +# 2303| r2303_14(bool) = CompareNE : r2303_12, r2303_13 +# 2303| v2303_15(void) = ConditionalBranch : r2303_14 #-----| False -> Block 3 #-----| True -> Block 2 -# 2290| Block 2 -# 2290| r2290_1(glval) = VariableAddress[s2] : -# 2290| mu2290_2(String) = Uninitialized[s2] : &:r2290_1 -# 2290| r2290_3(glval) = FunctionAddress[String] : -# 2290| v2290_4(void) = Call[String] : func:r2290_3, this:r2290_1 -# 2290| mu2290_5(unknown) = ^CallSideEffect : ~m? -# 2290| mu2290_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2290_1 -# 2291| r2291_1(glval) = VariableAddress[s2] : -# 2291| r2291_2(glval) = FunctionAddress[~String] : -# 2291| v2291_3(void) = Call[~String] : func:r2291_2, this:r2291_1 -# 2291| mu2291_4(unknown) = ^CallSideEffect : ~m? -# 2291| v2291_5(void) = ^IndirectReadSideEffect[-1] : &:r2291_1, ~m? -# 2291| mu2291_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2291_1 -# 2289| r2289_16(glval) = VariableAddress[s] : -# 2289| r2289_17(glval) = FunctionAddress[pop_back] : -# 2289| r2289_18(char) = Call[pop_back] : func:r2289_17, this:r2289_16 -# 2289| mu2289_19(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_20(void) = ^IndirectReadSideEffect[-1] : &:r2289_16, ~m? -# 2289| mu2289_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_16 -# 2289| r2289_22(glval) = VariableAddress[c] : -# 2289| mu2289_23(char) = Store[c] : &:r2289_22, r2289_18 +# 2304| Block 2 +# 2304| r2304_1(glval) = VariableAddress[s2] : +# 2304| mu2304_2(String) = Uninitialized[s2] : &:r2304_1 +# 2304| r2304_3(glval) = FunctionAddress[String] : +# 2304| v2304_4(void) = Call[String] : func:r2304_3, this:r2304_1 +# 2304| mu2304_5(unknown) = ^CallSideEffect : ~m? +# 2304| mu2304_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2304_1 +# 2305| r2305_1(glval) = VariableAddress[s2] : +# 2305| r2305_2(glval) = FunctionAddress[~String] : +# 2305| v2305_3(void) = Call[~String] : func:r2305_2, this:r2305_1 +# 2305| mu2305_4(unknown) = ^CallSideEffect : ~m? +# 2305| v2305_5(void) = ^IndirectReadSideEffect[-1] : &:r2305_1, ~m? +# 2305| mu2305_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2305_1 +# 2303| r2303_16(glval) = VariableAddress[s] : +# 2303| r2303_17(glval) = FunctionAddress[pop_back] : +# 2303| r2303_18(char) = Call[pop_back] : func:r2303_17, this:r2303_16 +# 2303| mu2303_19(unknown) = ^CallSideEffect : ~m? +# 2303| v2303_20(void) = ^IndirectReadSideEffect[-1] : &:r2303_16, ~m? +# 2303| mu2303_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_16 +# 2303| r2303_22(glval) = VariableAddress[c] : +# 2303| mu2303_23(char) = Store[c] : &:r2303_22, r2303_18 #-----| Goto (back edge) -> Block 1 -# 2289| Block 3 -# 2289| r2289_24(glval) = VariableAddress[s] : -# 2289| r2289_25(glval) = FunctionAddress[~String] : -# 2289| v2289_26(void) = Call[~String] : func:r2289_25, this:r2289_24 -# 2289| mu2289_27(unknown) = ^CallSideEffect : ~m? -# 2289| v2289_28(void) = ^IndirectReadSideEffect[-1] : &:r2289_24, ~m? -# 2289| mu2289_29(String) = ^IndirectMayWriteSideEffect[-1] : &:r2289_24 -# 2293| r2293_1(glval &&>) = VariableAddress[(__range)] : -# 2293| r2293_2(glval>) = VariableAddress[#temp2293:20] : -# 2293| mu2293_3(vector) = Uninitialized[#temp2293:20] : &:r2293_2 -# 2293| r2293_4(glval) = FunctionAddress[vector] : -# 2293| r2293_5(glval) = VariableAddress[#temp2293:40] : -# 2293| mu2293_6(String) = Uninitialized[#temp2293:40] : &:r2293_5 -# 2293| r2293_7(glval) = FunctionAddress[String] : -# 2293| r2293_8(glval) = StringConstant["hello"] : -# 2293| r2293_9(char *) = Convert : r2293_8 -# 2293| v2293_10(void) = Call[String] : func:r2293_7, this:r2293_5, 0:r2293_9 -# 2293| mu2293_11(unknown) = ^CallSideEffect : ~m? -# 2293| v2293_12(void) = ^BufferReadSideEffect[0] : &:r2293_9, ~m? -# 2293| mu2293_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_5 -# 2293| r2293_14(String) = Load[#temp2293:40] : &:r2293_5, ~m? -# 2293| v2293_15(void) = Call[vector] : func:r2293_4, this:r2293_2, 0:r2293_14 -# 2293| mu2293_16(unknown) = ^CallSideEffect : ~m? -# 2293| mu2293_17(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2293_2 -# 2293| r2293_18(vector &) = CopyValue : r2293_2 -# 2293| mu2293_19(vector &&) = Store[(__range)] : &:r2293_1, r2293_18 -# 2293| r2293_20(glval>) = VariableAddress[(__begin)] : -# 2293| r2293_21(glval &&>) = VariableAddress[(__range)] : -# 2293| r2293_22(vector &&) = Load[(__range)] : &:r2293_21, ~m? -#-----| r0_1(glval>) = CopyValue : r2293_22 +# 2303| Block 3 +# 2303| r2303_24(glval) = VariableAddress[s] : +# 2303| r2303_25(glval) = FunctionAddress[~String] : +# 2303| v2303_26(void) = Call[~String] : func:r2303_25, this:r2303_24 +# 2303| mu2303_27(unknown) = ^CallSideEffect : ~m? +# 2303| v2303_28(void) = ^IndirectReadSideEffect[-1] : &:r2303_24, ~m? +# 2303| mu2303_29(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_24 +# 2307| r2307_1(glval &&>) = VariableAddress[(__range)] : +# 2307| r2307_2(glval>) = VariableAddress[#temp2307:20] : +# 2307| mu2307_3(vector) = Uninitialized[#temp2307:20] : &:r2307_2 +# 2307| r2307_4(glval) = FunctionAddress[vector] : +# 2307| r2307_5(glval) = VariableAddress[#temp2307:40] : +# 2307| mu2307_6(String) = Uninitialized[#temp2307:40] : &:r2307_5 +# 2307| r2307_7(glval) = FunctionAddress[String] : +# 2307| r2307_8(glval) = StringConstant["hello"] : +# 2307| r2307_9(char *) = Convert : r2307_8 +# 2307| v2307_10(void) = Call[String] : func:r2307_7, this:r2307_5, 0:r2307_9 +# 2307| mu2307_11(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_12(void) = ^BufferReadSideEffect[0] : &:r2307_9, ~m? +# 2307| mu2307_13(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_5 +# 2307| r2307_14(String) = Load[#temp2307:40] : &:r2307_5, ~m? +# 2307| v2307_15(void) = Call[vector] : func:r2307_4, this:r2307_2, 0:r2307_14 +# 2307| mu2307_16(unknown) = ^CallSideEffect : ~m? +# 2307| mu2307_17(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2307_2 +# 2307| r2307_18(vector &) = CopyValue : r2307_2 +# 2307| mu2307_19(vector &&) = Store[(__range)] : &:r2307_1, r2307_18 +# 2307| r2307_20(glval>) = VariableAddress[(__begin)] : +# 2307| r2307_21(glval &&>) = VariableAddress[(__range)] : +# 2307| r2307_22(vector &&) = Load[(__range)] : &:r2307_21, ~m? +#-----| r0_1(glval>) = CopyValue : r2307_22 #-----| r0_2(glval>) = Convert : r0_1 -# 2293| r2293_23(glval) = FunctionAddress[begin] : -# 2293| r2293_24(iterator) = Call[begin] : func:r2293_23, this:r0_2 +# 2307| r2307_23(glval) = FunctionAddress[begin] : +# 2307| r2307_24(iterator) = Call[begin] : func:r2307_23, this:r0_2 #-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2293| mu2293_25(iterator) = Store[(__begin)] : &:r2293_20, r2293_24 -# 2293| r2293_26(glval>) = VariableAddress[(__end)] : -# 2293| r2293_27(glval &&>) = VariableAddress[(__range)] : -# 2293| r2293_28(vector &&) = Load[(__range)] : &:r2293_27, ~m? -#-----| r0_4(glval>) = CopyValue : r2293_28 +# 2307| mu2307_25(iterator) = Store[(__begin)] : &:r2307_20, r2307_24 +# 2307| r2307_26(glval>) = VariableAddress[(__end)] : +# 2307| r2307_27(glval &&>) = VariableAddress[(__range)] : +# 2307| r2307_28(vector &&) = Load[(__range)] : &:r2307_27, ~m? +#-----| r0_4(glval>) = CopyValue : r2307_28 #-----| r0_5(glval>) = Convert : r0_4 -# 2293| r2293_29(glval) = FunctionAddress[end] : -# 2293| r2293_30(iterator) = Call[end] : func:r2293_29, this:r0_5 +# 2307| r2307_29(glval) = FunctionAddress[end] : +# 2307| r2307_30(iterator) = Call[end] : func:r2307_29, this:r0_5 #-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2293| mu2293_31(iterator) = Store[(__end)] : &:r2293_26, r2293_30 +# 2307| mu2307_31(iterator) = Store[(__end)] : &:r2307_26, r2307_30 #-----| Goto -> Block 4 -# 2293| Block 4 -# 2293| r2293_32(glval>) = VariableAddress[(__begin)] : -#-----| r0_7(glval>) = Convert : r2293_32 -# 2293| r2293_33(glval) = FunctionAddress[operator!=] : +# 2307| Block 4 +# 2307| r2307_32(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2307_32 +# 2307| r2307_33(glval) = FunctionAddress[operator!=] : #-----| r0_8(glval>) = VariableAddress[#temp0:0] : #-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 -# 2293| r2293_34(glval) = FunctionAddress[iterator] : -# 2293| r2293_35(glval>) = VariableAddress[(__end)] : -#-----| r0_10(glval>) = Convert : r2293_35 +# 2307| r2307_34(glval) = FunctionAddress[iterator] : +# 2307| r2307_35(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2307_35 #-----| r0_11(iterator &) = CopyValue : r0_10 -# 2293| v2293_36(void) = Call[iterator] : func:r2293_34, this:r0_8, 0:r0_11 -# 2293| mu2293_37(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_36(void) = Call[iterator] : func:r2307_34, this:r0_8, 0:r0_11 +# 2307| mu2307_37(unknown) = ^CallSideEffect : ~m? #-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? -# 2293| mu2293_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2307| mu2307_38(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 #-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? -# 2293| r2293_39(bool) = Call[operator!=] : func:r2293_33, this:r0_7, 0:r0_13 -# 2293| mu2293_40(unknown) = ^CallSideEffect : ~m? +# 2307| r2307_39(bool) = Call[operator!=] : func:r2307_33, this:r0_7, 0:r0_13 +# 2307| mu2307_40(unknown) = ^CallSideEffect : ~m? #-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2293| v2293_41(void) = ConditionalBranch : r2293_39 +# 2307| v2307_41(void) = ConditionalBranch : r2307_39 #-----| False -> Block 6 #-----| True -> Block 5 -# 2293| Block 5 -# 2293| r2293_42(glval) = VariableAddress[s] : -# 2293| mu2293_43(String) = Uninitialized[s] : &:r2293_42 -# 2293| r2293_44(glval) = FunctionAddress[String] : -# 2293| r2293_45(glval>) = VariableAddress[(__begin)] : -#-----| r0_15(glval>) = Convert : r2293_45 -# 2293| r2293_46(glval) = FunctionAddress[operator*] : -# 2293| r2293_47(String &) = Call[operator*] : func:r2293_46, this:r0_15 -# 2293| mu2293_48(unknown) = ^CallSideEffect : ~m? +# 2307| Block 5 +# 2307| r2307_42(glval) = VariableAddress[s] : +# 2307| mu2307_43(String) = Uninitialized[s] : &:r2307_42 +# 2307| r2307_44(glval) = FunctionAddress[String] : +# 2307| r2307_45(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2307_45 +# 2307| r2307_46(glval) = FunctionAddress[operator*] : +# 2307| r2307_47(String &) = Call[operator*] : func:r2307_46, this:r0_15 +# 2307| mu2307_48(unknown) = ^CallSideEffect : ~m? #-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 2293| r2293_49(glval) = CopyValue : r2293_47 -# 2293| r2293_50(glval) = Convert : r2293_49 -# 2293| r2293_51(String &) = CopyValue : r2293_50 -# 2293| v2293_52(void) = Call[String] : func:r2293_44, this:r2293_42, 0:r2293_51 -# 2293| mu2293_53(unknown) = ^CallSideEffect : ~m? -# 2293| v2293_54(void) = ^BufferReadSideEffect[0] : &:r2293_51, ~m? -# 2293| mu2293_55(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_42 -# 2294| r2294_1(glval) = VariableAddress[s2] : -# 2294| mu2294_2(String) = Uninitialized[s2] : &:r2294_1 -# 2294| r2294_3(glval) = FunctionAddress[String] : -# 2294| v2294_4(void) = Call[String] : func:r2294_3, this:r2294_1 -# 2294| mu2294_5(unknown) = ^CallSideEffect : ~m? -# 2294| mu2294_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2294_1 -# 2295| r2295_1(glval) = VariableAddress[s2] : -# 2295| r2295_2(glval) = FunctionAddress[~String] : -# 2295| v2295_3(void) = Call[~String] : func:r2295_2, this:r2295_1 -# 2295| mu2295_4(unknown) = ^CallSideEffect : ~m? -# 2295| v2295_5(void) = ^IndirectReadSideEffect[-1] : &:r2295_1, ~m? -# 2295| mu2295_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2295_1 -# 2293| r2293_56(glval) = VariableAddress[s] : -# 2293| r2293_57(glval) = FunctionAddress[~String] : -# 2293| v2293_58(void) = Call[~String] : func:r2293_57, this:r2293_56 -# 2293| mu2293_59(unknown) = ^CallSideEffect : ~m? -# 2293| v2293_60(void) = ^IndirectReadSideEffect[-1] : &:r2293_56, ~m? -# 2293| mu2293_61(String) = ^IndirectMayWriteSideEffect[-1] : &:r2293_56 -# 2293| r2293_62(glval>) = VariableAddress[(__begin)] : -# 2293| r2293_63(glval) = FunctionAddress[operator++] : -# 2293| r2293_64(iterator &) = Call[operator++] : func:r2293_63, this:r2293_62 -# 2293| mu2293_65(unknown) = ^CallSideEffect : ~m? -# 2293| v2293_66(void) = ^IndirectReadSideEffect[-1] : &:r2293_62, ~m? -# 2293| mu2293_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2293_62 -# 2293| r2293_68(glval>) = CopyValue : r2293_64 +# 2307| r2307_49(glval) = CopyValue : r2307_47 +# 2307| r2307_50(glval) = Convert : r2307_49 +# 2307| r2307_51(String &) = CopyValue : r2307_50 +# 2307| v2307_52(void) = Call[String] : func:r2307_44, this:r2307_42, 0:r2307_51 +# 2307| mu2307_53(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_54(void) = ^BufferReadSideEffect[0] : &:r2307_51, ~m? +# 2307| mu2307_55(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_42 +# 2308| r2308_1(glval) = VariableAddress[s2] : +# 2308| mu2308_2(String) = Uninitialized[s2] : &:r2308_1 +# 2308| r2308_3(glval) = FunctionAddress[String] : +# 2308| v2308_4(void) = Call[String] : func:r2308_3, this:r2308_1 +# 2308| mu2308_5(unknown) = ^CallSideEffect : ~m? +# 2308| mu2308_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2308_1 +# 2309| r2309_1(glval) = VariableAddress[s2] : +# 2309| r2309_2(glval) = FunctionAddress[~String] : +# 2309| v2309_3(void) = Call[~String] : func:r2309_2, this:r2309_1 +# 2309| mu2309_4(unknown) = ^CallSideEffect : ~m? +# 2309| v2309_5(void) = ^IndirectReadSideEffect[-1] : &:r2309_1, ~m? +# 2309| mu2309_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2309_1 +# 2307| r2307_56(glval) = VariableAddress[s] : +# 2307| r2307_57(glval) = FunctionAddress[~String] : +# 2307| v2307_58(void) = Call[~String] : func:r2307_57, this:r2307_56 +# 2307| mu2307_59(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_60(void) = ^IndirectReadSideEffect[-1] : &:r2307_56, ~m? +# 2307| mu2307_61(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_56 +# 2307| r2307_62(glval>) = VariableAddress[(__begin)] : +# 2307| r2307_63(glval) = FunctionAddress[operator++] : +# 2307| r2307_64(iterator &) = Call[operator++] : func:r2307_63, this:r2307_62 +# 2307| mu2307_65(unknown) = ^CallSideEffect : ~m? +# 2307| v2307_66(void) = ^IndirectReadSideEffect[-1] : &:r2307_62, ~m? +# 2307| mu2307_67(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2307_62 +# 2307| r2307_68(glval>) = CopyValue : r2307_64 #-----| Goto (back edge) -> Block 4 -# 2297| Block 6 -# 2297| r2297_1(glval) = VariableAddress[s] : -# 2297| mu2297_2(String) = Uninitialized[s] : &:r2297_1 -# 2297| r2297_3(glval) = FunctionAddress[String] : -# 2297| r2297_4(glval) = StringConstant["hello"] : -# 2297| r2297_5(char *) = Convert : r2297_4 -# 2297| v2297_6(void) = Call[String] : func:r2297_3, this:r2297_1, 0:r2297_5 -# 2297| mu2297_7(unknown) = ^CallSideEffect : ~m? -# 2297| v2297_8(void) = ^BufferReadSideEffect[0] : &:r2297_5, ~m? -# 2297| mu2297_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_1 -# 2297| r2297_10(glval) = VariableAddress[s2] : -# 2297| mu2297_11(String) = Uninitialized[s2] : &:r2297_10 -# 2297| r2297_12(glval) = FunctionAddress[String] : -# 2297| r2297_13(glval) = StringConstant["world"] : -# 2297| r2297_14(char *) = Convert : r2297_13 -# 2297| v2297_15(void) = Call[String] : func:r2297_12, this:r2297_10, 0:r2297_14 -# 2297| mu2297_16(unknown) = ^CallSideEffect : ~m? -# 2297| v2297_17(void) = ^BufferReadSideEffect[0] : &:r2297_14, ~m? -# 2297| mu2297_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_10 +# 2311| Block 6 +# 2311| r2311_1(glval) = VariableAddress[s] : +# 2311| mu2311_2(String) = Uninitialized[s] : &:r2311_1 +# 2311| r2311_3(glval) = FunctionAddress[String] : +# 2311| r2311_4(glval) = StringConstant["hello"] : +# 2311| r2311_5(char *) = Convert : r2311_4 +# 2311| v2311_6(void) = Call[String] : func:r2311_3, this:r2311_1, 0:r2311_5 +# 2311| mu2311_7(unknown) = ^CallSideEffect : ~m? +# 2311| v2311_8(void) = ^BufferReadSideEffect[0] : &:r2311_5, ~m? +# 2311| mu2311_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_1 +# 2311| r2311_10(glval) = VariableAddress[s2] : +# 2311| mu2311_11(String) = Uninitialized[s2] : &:r2311_10 +# 2311| r2311_12(glval) = FunctionAddress[String] : +# 2311| r2311_13(glval) = StringConstant["world"] : +# 2311| r2311_14(char *) = Convert : r2311_13 +# 2311| v2311_15(void) = Call[String] : func:r2311_12, this:r2311_10, 0:r2311_14 +# 2311| mu2311_16(unknown) = ^CallSideEffect : ~m? +# 2311| v2311_17(void) = ^BufferReadSideEffect[0] : &:r2311_14, ~m? +# 2311| mu2311_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_10 #-----| Goto -> Block 7 -# 2297| Block 7 -# 2297| r2297_19(glval) = VariableAddress[c] : -# 2297| r2297_20(char) = Load[c] : &:r2297_19, ~m? -# 2297| r2297_21(int) = Convert : r2297_20 -# 2297| r2297_22(int) = Constant[0] : -# 2297| r2297_23(bool) = CompareNE : r2297_21, r2297_22 -# 2297| v2297_24(void) = ConditionalBranch : r2297_23 +# 2311| Block 7 +# 2311| r2311_19(glval) = VariableAddress[c] : +# 2311| r2311_20(char) = Load[c] : &:r2311_19, ~m? +# 2311| r2311_21(int) = Convert : r2311_20 +# 2311| r2311_22(int) = Constant[0] : +# 2311| r2311_23(bool) = CompareNE : r2311_21, r2311_22 +# 2311| v2311_24(void) = ConditionalBranch : r2311_23 #-----| False -> Block 9 #-----| True -> Block 8 -# 2298| Block 8 -# 2298| r2298_1(char) = Constant[0] : -# 2298| r2298_2(glval) = VariableAddress[c] : -# 2298| mu2298_3(char) = Store[c] : &:r2298_2, r2298_1 -# 2297| r2297_25(glval) = VariableAddress[s] : -# 2297| r2297_26(glval) = FunctionAddress[pop_back] : -# 2297| r2297_27(char) = Call[pop_back] : func:r2297_26, this:r2297_25 -# 2297| mu2297_28(unknown) = ^CallSideEffect : ~m? -# 2297| v2297_29(void) = ^IndirectReadSideEffect[-1] : &:r2297_25, ~m? -# 2297| mu2297_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_25 -# 2297| r2297_31(glval) = VariableAddress[c] : -# 2297| mu2297_32(char) = Store[c] : &:r2297_31, r2297_27 +# 2312| Block 8 +# 2312| r2312_1(char) = Constant[0] : +# 2312| r2312_2(glval) = VariableAddress[c] : +# 2312| mu2312_3(char) = Store[c] : &:r2312_2, r2312_1 +# 2311| r2311_25(glval) = VariableAddress[s] : +# 2311| r2311_26(glval) = FunctionAddress[pop_back] : +# 2311| r2311_27(char) = Call[pop_back] : func:r2311_26, this:r2311_25 +# 2311| mu2311_28(unknown) = ^CallSideEffect : ~m? +# 2311| v2311_29(void) = ^IndirectReadSideEffect[-1] : &:r2311_25, ~m? +# 2311| mu2311_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_25 +# 2311| r2311_31(glval) = VariableAddress[c] : +# 2311| mu2311_32(char) = Store[c] : &:r2311_31, r2311_27 #-----| Goto (back edge) -> Block 7 -# 2297| Block 9 -# 2297| r2297_33(glval) = VariableAddress[s2] : -# 2297| r2297_34(glval) = FunctionAddress[~String] : -# 2297| v2297_35(void) = Call[~String] : func:r2297_34, this:r2297_33 -# 2297| mu2297_36(unknown) = ^CallSideEffect : ~m? -# 2297| v2297_37(void) = ^IndirectReadSideEffect[-1] : &:r2297_33, ~m? -# 2297| mu2297_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_33 -# 2297| r2297_39(glval) = VariableAddress[s] : -# 2297| r2297_40(glval) = FunctionAddress[~String] : -# 2297| v2297_41(void) = Call[~String] : func:r2297_40, this:r2297_39 -# 2297| mu2297_42(unknown) = ^CallSideEffect : ~m? -# 2297| v2297_43(void) = ^IndirectReadSideEffect[-1] : &:r2297_39, ~m? -# 2297| mu2297_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2297_39 -# 2300| v2300_1(void) = NoOp : -# 2287| v2287_4(void) = ReturnVoid : -# 2287| v2287_5(void) = AliasedUse : ~m? -# 2287| v2287_6(void) = ExitFunction : - -# 2302| void IfDestructors2(bool) -# 2302| Block 0 -# 2302| v2302_1(void) = EnterFunction : -# 2302| mu2302_2(unknown) = AliasedDefinition : -# 2302| mu2302_3(unknown) = InitializeNonLocal : -# 2302| r2302_4(glval) = VariableAddress[b] : -# 2302| mu2302_5(bool) = InitializeParameter[b] : &:r2302_4 -# 2303| r2303_1(glval) = VariableAddress[s] : -# 2303| mu2303_2(String) = Uninitialized[s] : &:r2303_1 -# 2303| r2303_3(glval) = FunctionAddress[String] : -# 2303| r2303_4(glval) = StringConstant["hello"] : -# 2303| r2303_5(char *) = Convert : r2303_4 -# 2303| v2303_6(void) = Call[String] : func:r2303_3, this:r2303_1, 0:r2303_5 -# 2303| mu2303_7(unknown) = ^CallSideEffect : ~m? -# 2303| v2303_8(void) = ^BufferReadSideEffect[0] : &:r2303_5, ~m? -# 2303| mu2303_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2303_1 -# 2303| r2303_10(glval) = VariableAddress[b] : -# 2303| r2303_11(bool) = Load[b] : &:r2303_10, ~m? -# 2303| v2303_12(void) = ConditionalBranch : r2303_11 +# 2311| Block 9 +# 2311| r2311_33(glval) = VariableAddress[s2] : +# 2311| r2311_34(glval) = FunctionAddress[~String] : +# 2311| v2311_35(void) = Call[~String] : func:r2311_34, this:r2311_33 +# 2311| mu2311_36(unknown) = ^CallSideEffect : ~m? +# 2311| v2311_37(void) = ^IndirectReadSideEffect[-1] : &:r2311_33, ~m? +# 2311| mu2311_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_33 +# 2311| r2311_39(glval) = VariableAddress[s] : +# 2311| r2311_40(glval) = FunctionAddress[~String] : +# 2311| v2311_41(void) = Call[~String] : func:r2311_40, this:r2311_39 +# 2311| mu2311_42(unknown) = ^CallSideEffect : ~m? +# 2311| v2311_43(void) = ^IndirectReadSideEffect[-1] : &:r2311_39, ~m? +# 2311| mu2311_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2311_39 +# 2314| v2314_1(void) = NoOp : +# 2301| v2301_4(void) = ReturnVoid : +# 2301| v2301_5(void) = AliasedUse : ~m? +# 2301| v2301_6(void) = ExitFunction : + +# 2316| void IfDestructors2(bool) +# 2316| Block 0 +# 2316| v2316_1(void) = EnterFunction : +# 2316| mu2316_2(unknown) = AliasedDefinition : +# 2316| mu2316_3(unknown) = InitializeNonLocal : +# 2316| r2316_4(glval) = VariableAddress[b] : +# 2316| mu2316_5(bool) = InitializeParameter[b] : &:r2316_4 +# 2317| r2317_1(glval) = VariableAddress[s] : +# 2317| mu2317_2(String) = Uninitialized[s] : &:r2317_1 +# 2317| r2317_3(glval) = FunctionAddress[String] : +# 2317| r2317_4(glval) = StringConstant["hello"] : +# 2317| r2317_5(char *) = Convert : r2317_4 +# 2317| v2317_6(void) = Call[String] : func:r2317_3, this:r2317_1, 0:r2317_5 +# 2317| mu2317_7(unknown) = ^CallSideEffect : ~m? +# 2317| v2317_8(void) = ^BufferReadSideEffect[0] : &:r2317_5, ~m? +# 2317| mu2317_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2317_1 +# 2317| r2317_10(glval) = VariableAddress[b] : +# 2317| r2317_11(bool) = Load[b] : &:r2317_10, ~m? +# 2317| v2317_12(void) = ConditionalBranch : r2317_11 #-----| False -> Block 2 #-----| True -> Block 1 -# 2304| Block 1 -# 2304| r2304_1(glval) = VariableAddress[x] : -# 2304| r2304_2(int) = Constant[0] : -# 2304| mu2304_3(int) = Store[x] : &:r2304_1, r2304_2 +# 2318| Block 1 +# 2318| r2318_1(glval) = VariableAddress[x] : +# 2318| r2318_2(int) = Constant[0] : +# 2318| mu2318_3(int) = Store[x] : &:r2318_1, r2318_2 #-----| Goto -> Block 3 -# 2306| Block 2 -# 2306| r2306_1(glval) = VariableAddress[y] : -# 2306| r2306_2(int) = Constant[0] : -# 2306| mu2306_3(int) = Store[y] : &:r2306_1, r2306_2 +# 2320| Block 2 +# 2320| r2320_1(glval) = VariableAddress[y] : +# 2320| r2320_2(int) = Constant[0] : +# 2320| mu2320_3(int) = Store[y] : &:r2320_1, r2320_2 #-----| Goto -> Block 3 -# 2307| Block 3 -# 2307| r2307_1(glval) = VariableAddress[s] : -# 2307| r2307_2(glval) = FunctionAddress[~String] : -# 2307| v2307_3(void) = Call[~String] : func:r2307_2, this:r2307_1 -# 2307| mu2307_4(unknown) = ^CallSideEffect : ~m? -# 2307| v2307_5(void) = ^IndirectReadSideEffect[-1] : &:r2307_1, ~m? -# 2307| mu2307_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2307_1 -# 2308| v2308_1(void) = NoOp : -# 2302| v2302_6(void) = ReturnVoid : -# 2302| v2302_7(void) = AliasedUse : ~m? -# 2302| v2302_8(void) = ExitFunction : - -# 2317| void IfDestructors3(bool) -# 2317| Block 0 -# 2317| v2317_1(void) = EnterFunction : -# 2317| mu2317_2(unknown) = AliasedDefinition : -# 2317| mu2317_3(unknown) = InitializeNonLocal : -# 2317| r2317_4(glval) = VariableAddress[b] : -# 2317| mu2317_5(bool) = InitializeParameter[b] : &:r2317_4 -# 2318| r2318_1(glval) = VariableAddress[B] : -# 2318| mu2318_2(Bool) = Uninitialized[B] : &:r2318_1 -# 2318| r2318_3(glval) = FunctionAddress[Bool] : -# 2318| r2318_4(glval) = VariableAddress[b] : -# 2318| r2318_5(bool) = Load[b] : &:r2318_4, ~m? -# 2318| v2318_6(void) = Call[Bool] : func:r2318_3, this:r2318_1, 0:r2318_5 -# 2318| mu2318_7(unknown) = ^CallSideEffect : ~m? -# 2318| mu2318_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_1 -# 2318| r2318_9(glval) = VariableAddress[B] : -# 2318| r2318_10(glval) = FunctionAddress[operator bool] : -# 2318| r2318_11(bool) = Call[operator bool] : func:r2318_10, this:r2318_9 -# 2318| mu2318_12(unknown) = ^CallSideEffect : ~m? -# 2318| v2318_13(void) = ^IndirectReadSideEffect[-1] : &:r2318_9, ~m? -# 2318| mu2318_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2318_9 -# 2318| r2318_15(bool) = CopyValue : r2318_11 -# 2318| v2318_16(void) = ConditionalBranch : r2318_15 +# 2321| Block 3 +# 2321| r2321_1(glval) = VariableAddress[s] : +# 2321| r2321_2(glval) = FunctionAddress[~String] : +# 2321| v2321_3(void) = Call[~String] : func:r2321_2, this:r2321_1 +# 2321| mu2321_4(unknown) = ^CallSideEffect : ~m? +# 2321| v2321_5(void) = ^IndirectReadSideEffect[-1] : &:r2321_1, ~m? +# 2321| mu2321_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 +# 2322| v2322_1(void) = NoOp : +# 2316| v2316_6(void) = ReturnVoid : +# 2316| v2316_7(void) = AliasedUse : ~m? +# 2316| v2316_8(void) = ExitFunction : + +# 2331| void IfDestructors3(bool) +# 2331| Block 0 +# 2331| v2331_1(void) = EnterFunction : +# 2331| mu2331_2(unknown) = AliasedDefinition : +# 2331| mu2331_3(unknown) = InitializeNonLocal : +# 2331| r2331_4(glval) = VariableAddress[b] : +# 2331| mu2331_5(bool) = InitializeParameter[b] : &:r2331_4 +# 2332| r2332_1(glval) = VariableAddress[B] : +# 2332| mu2332_2(Bool) = Uninitialized[B] : &:r2332_1 +# 2332| r2332_3(glval) = FunctionAddress[Bool] : +# 2332| r2332_4(glval) = VariableAddress[b] : +# 2332| r2332_5(bool) = Load[b] : &:r2332_4, ~m? +# 2332| v2332_6(void) = Call[Bool] : func:r2332_3, this:r2332_1, 0:r2332_5 +# 2332| mu2332_7(unknown) = ^CallSideEffect : ~m? +# 2332| mu2332_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2332_1 +# 2332| r2332_9(glval) = VariableAddress[B] : +# 2332| r2332_10(glval) = FunctionAddress[operator bool] : +# 2332| r2332_11(bool) = Call[operator bool] : func:r2332_10, this:r2332_9 +# 2332| mu2332_12(unknown) = ^CallSideEffect : ~m? +# 2332| v2332_13(void) = ^IndirectReadSideEffect[-1] : &:r2332_9, ~m? +# 2332| mu2332_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2332_9 +# 2332| r2332_15(bool) = CopyValue : r2332_11 +# 2332| v2332_16(void) = ConditionalBranch : r2332_15 #-----| False -> Block 2 #-----| True -> Block 1 -# 2319| Block 1 -# 2319| r2319_1(glval) = VariableAddress[s1] : -# 2319| mu2319_2(String) = Uninitialized[s1] : &:r2319_1 -# 2319| r2319_3(glval) = FunctionAddress[String] : -# 2319| v2319_4(void) = Call[String] : func:r2319_3, this:r2319_1 -# 2319| mu2319_5(unknown) = ^CallSideEffect : ~m? -# 2319| mu2319_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2319_1 -# 2320| r2320_1(glval) = VariableAddress[s1] : -# 2320| r2320_2(glval) = FunctionAddress[~String] : -# 2320| v2320_3(void) = Call[~String] : func:r2320_2, this:r2320_1 -# 2320| mu2320_4(unknown) = ^CallSideEffect : ~m? -# 2320| v2320_5(void) = ^IndirectReadSideEffect[-1] : &:r2320_1, ~m? -# 2320| mu2320_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2320_1 +# 2333| Block 1 +# 2333| r2333_1(glval) = VariableAddress[s1] : +# 2333| mu2333_2(String) = Uninitialized[s1] : &:r2333_1 +# 2333| r2333_3(glval) = FunctionAddress[String] : +# 2333| v2333_4(void) = Call[String] : func:r2333_3, this:r2333_1 +# 2333| mu2333_5(unknown) = ^CallSideEffect : ~m? +# 2333| mu2333_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2333_1 +# 2334| r2334_1(glval) = VariableAddress[s1] : +# 2334| r2334_2(glval) = FunctionAddress[~String] : +# 2334| v2334_3(void) = Call[~String] : func:r2334_2, this:r2334_1 +# 2334| mu2334_4(unknown) = ^CallSideEffect : ~m? +# 2334| v2334_5(void) = ^IndirectReadSideEffect[-1] : &:r2334_1, ~m? +# 2334| mu2334_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2334_1 #-----| Goto -> Block 3 -# 2321| Block 2 -# 2321| r2321_1(glval) = VariableAddress[s2] : -# 2321| mu2321_2(String) = Uninitialized[s2] : &:r2321_1 -# 2321| r2321_3(glval) = FunctionAddress[String] : -# 2321| v2321_4(void) = Call[String] : func:r2321_3, this:r2321_1 -# 2321| mu2321_5(unknown) = ^CallSideEffect : ~m? -# 2321| mu2321_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2321_1 -# 2322| r2322_1(glval) = VariableAddress[s2] : -# 2322| r2322_2(glval) = FunctionAddress[~String] : -# 2322| v2322_3(void) = Call[~String] : func:r2322_2, this:r2322_1 -# 2322| mu2322_4(unknown) = ^CallSideEffect : ~m? -# 2322| v2322_5(void) = ^IndirectReadSideEffect[-1] : &:r2322_1, ~m? -# 2322| mu2322_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2322_1 +# 2335| Block 2 +# 2335| r2335_1(glval) = VariableAddress[s2] : +# 2335| mu2335_2(String) = Uninitialized[s2] : &:r2335_1 +# 2335| r2335_3(glval) = FunctionAddress[String] : +# 2335| v2335_4(void) = Call[String] : func:r2335_3, this:r2335_1 +# 2335| mu2335_5(unknown) = ^CallSideEffect : ~m? +# 2335| mu2335_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2335_1 +# 2336| r2336_1(glval) = VariableAddress[s2] : +# 2336| r2336_2(glval) = FunctionAddress[~String] : +# 2336| v2336_3(void) = Call[~String] : func:r2336_2, this:r2336_1 +# 2336| mu2336_4(unknown) = ^CallSideEffect : ~m? +# 2336| v2336_5(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, ~m? +# 2336| mu2336_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 #-----| Goto -> Block 3 -# 2322| Block 3 -# 2322| r2322_7(glval) = VariableAddress[B] : -# 2322| r2322_8(glval) = FunctionAddress[~Bool] : -# 2322| v2322_9(void) = Call[~Bool] : func:r2322_8, this:r2322_7 -# 2322| mu2322_10(unknown) = ^CallSideEffect : ~m? -# 2322| v2322_11(void) = ^IndirectReadSideEffect[-1] : &:r2322_7, ~m? -# 2322| mu2322_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2322_7 -# 2323| v2323_1(void) = NoOp : -# 2317| v2317_6(void) = ReturnVoid : -# 2317| v2317_7(void) = AliasedUse : ~m? -# 2317| v2317_8(void) = ExitFunction : - -# 2325| void WhileLoopDestructors(bool) -# 2325| Block 0 -# 2325| v2325_1(void) = EnterFunction : -# 2325| mu2325_2(unknown) = AliasedDefinition : -# 2325| mu2325_3(unknown) = InitializeNonLocal : -# 2325| r2325_4(glval) = VariableAddress[b] : -# 2325| mu2325_5(bool) = InitializeParameter[b] : &:r2325_4 -# 2327| r2327_1(glval) = VariableAddress[s] : -# 2327| mu2327_2(String) = Uninitialized[s] : &:r2327_1 -# 2327| r2327_3(glval) = FunctionAddress[String] : -# 2327| v2327_4(void) = Call[String] : func:r2327_3, this:r2327_1 -# 2327| mu2327_5(unknown) = ^CallSideEffect : ~m? -# 2327| mu2327_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2327_1 +# 2336| Block 3 +# 2336| r2336_7(glval) = VariableAddress[B] : +# 2336| r2336_8(glval) = FunctionAddress[~Bool] : +# 2336| v2336_9(void) = Call[~Bool] : func:r2336_8, this:r2336_7 +# 2336| mu2336_10(unknown) = ^CallSideEffect : ~m? +# 2336| v2336_11(void) = ^IndirectReadSideEffect[-1] : &:r2336_7, ~m? +# 2336| mu2336_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_7 +# 2337| v2337_1(void) = NoOp : +# 2331| v2331_6(void) = ReturnVoid : +# 2331| v2331_7(void) = AliasedUse : ~m? +# 2331| v2331_8(void) = ExitFunction : + +# 2339| void WhileLoopDestructors(bool) +# 2339| Block 0 +# 2339| v2339_1(void) = EnterFunction : +# 2339| mu2339_2(unknown) = AliasedDefinition : +# 2339| mu2339_3(unknown) = InitializeNonLocal : +# 2339| r2339_4(glval) = VariableAddress[b] : +# 2339| mu2339_5(bool) = InitializeParameter[b] : &:r2339_4 +# 2341| r2341_1(glval) = VariableAddress[s] : +# 2341| mu2341_2(String) = Uninitialized[s] : &:r2341_1 +# 2341| r2341_3(glval) = FunctionAddress[String] : +# 2341| v2341_4(void) = Call[String] : func:r2341_3, this:r2341_1 +# 2341| mu2341_5(unknown) = ^CallSideEffect : ~m? +# 2341| mu2341_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2341_1 #-----| Goto -> Block 1 -# 2328| Block 1 -# 2328| r2328_1(glval) = VariableAddress[b] : -# 2328| r2328_2(bool) = Load[b] : &:r2328_1, ~m? -# 2328| v2328_3(void) = ConditionalBranch : r2328_2 +# 2342| Block 1 +# 2342| r2342_1(glval) = VariableAddress[b] : +# 2342| r2342_2(bool) = Load[b] : &:r2342_1, ~m? +# 2342| v2342_3(void) = ConditionalBranch : r2342_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2329| Block 2 -# 2329| r2329_1(bool) = Constant[0] : -# 2329| r2329_2(glval) = VariableAddress[b] : -# 2329| mu2329_3(bool) = Store[b] : &:r2329_2, r2329_1 +# 2343| Block 2 +# 2343| r2343_1(bool) = Constant[0] : +# 2343| r2343_2(glval) = VariableAddress[b] : +# 2343| mu2343_3(bool) = Store[b] : &:r2343_2, r2343_1 #-----| Goto (back edge) -> Block 1 -# 2331| Block 3 -# 2331| r2331_1(glval) = VariableAddress[s] : -# 2331| r2331_2(glval) = FunctionAddress[~String] : -# 2331| v2331_3(void) = Call[~String] : func:r2331_2, this:r2331_1 -# 2331| mu2331_4(unknown) = ^CallSideEffect : ~m? -# 2331| v2331_5(void) = ^IndirectReadSideEffect[-1] : &:r2331_1, ~m? -# 2331| mu2331_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2331_1 +# 2345| Block 3 +# 2345| r2345_1(glval) = VariableAddress[s] : +# 2345| r2345_2(glval) = FunctionAddress[~String] : +# 2345| v2345_3(void) = Call[~String] : func:r2345_2, this:r2345_1 +# 2345| mu2345_4(unknown) = ^CallSideEffect : ~m? +# 2345| v2345_5(void) = ^IndirectReadSideEffect[-1] : &:r2345_1, ~m? +# 2345| mu2345_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2345_1 #-----| Goto -> Block 4 -# 2334| Block 4 -# 2334| r2334_1(glval) = VariableAddress[B] : -# 2334| mu2334_2(Bool) = Uninitialized[B] : &:r2334_1 -# 2334| r2334_3(glval) = FunctionAddress[Bool] : -# 2334| r2334_4(glval) = VariableAddress[b] : -# 2334| r2334_5(bool) = Load[b] : &:r2334_4, ~m? -# 2334| v2334_6(void) = Call[Bool] : func:r2334_3, this:r2334_1, 0:r2334_5 -# 2334| mu2334_7(unknown) = ^CallSideEffect : ~m? -# 2334| mu2334_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_1 -# 2334| r2334_9(glval) = VariableAddress[B] : -# 2334| r2334_10(glval) = FunctionAddress[operator bool] : -# 2334| r2334_11(bool) = Call[operator bool] : func:r2334_10, this:r2334_9 -# 2334| mu2334_12(unknown) = ^CallSideEffect : ~m? -# 2334| v2334_13(void) = ^IndirectReadSideEffect[-1] : &:r2334_9, ~m? -# 2334| mu2334_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2334_9 -# 2334| r2334_15(bool) = CopyValue : r2334_11 -# 2334| v2334_16(void) = ConditionalBranch : r2334_15 +# 2348| Block 4 +# 2348| r2348_1(glval) = VariableAddress[B] : +# 2348| mu2348_2(Bool) = Uninitialized[B] : &:r2348_1 +# 2348| r2348_3(glval) = FunctionAddress[Bool] : +# 2348| r2348_4(glval) = VariableAddress[b] : +# 2348| r2348_5(bool) = Load[b] : &:r2348_4, ~m? +# 2348| v2348_6(void) = Call[Bool] : func:r2348_3, this:r2348_1, 0:r2348_5 +# 2348| mu2348_7(unknown) = ^CallSideEffect : ~m? +# 2348| mu2348_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2348_1 +# 2348| r2348_9(glval) = VariableAddress[B] : +# 2348| r2348_10(glval) = FunctionAddress[operator bool] : +# 2348| r2348_11(bool) = Call[operator bool] : func:r2348_10, this:r2348_9 +# 2348| mu2348_12(unknown) = ^CallSideEffect : ~m? +# 2348| v2348_13(void) = ^IndirectReadSideEffect[-1] : &:r2348_9, ~m? +# 2348| mu2348_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2348_9 +# 2348| r2348_15(bool) = CopyValue : r2348_11 +# 2348| v2348_16(void) = ConditionalBranch : r2348_15 #-----| False -> Block 6 #-----| True -> Block 5 -# 2335| Block 5 -# 2335| r2335_1(bool) = Constant[0] : -# 2335| r2335_2(glval) = VariableAddress[b] : -# 2335| mu2335_3(bool) = Store[b] : &:r2335_2, r2335_1 -# 2336| r2336_1(glval) = VariableAddress[B] : -# 2336| r2336_2(glval) = FunctionAddress[~Bool] : -# 2336| v2336_3(void) = Call[~Bool] : func:r2336_2, this:r2336_1 -# 2336| mu2336_4(unknown) = ^CallSideEffect : ~m? -# 2336| v2336_5(void) = ^IndirectReadSideEffect[-1] : &:r2336_1, ~m? -# 2336| mu2336_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_1 +# 2349| Block 5 +# 2349| r2349_1(bool) = Constant[0] : +# 2349| r2349_2(glval) = VariableAddress[b] : +# 2349| mu2349_3(bool) = Store[b] : &:r2349_2, r2349_1 +# 2350| r2350_1(glval) = VariableAddress[B] : +# 2350| r2350_2(glval) = FunctionAddress[~Bool] : +# 2350| v2350_3(void) = Call[~Bool] : func:r2350_2, this:r2350_1 +# 2350| mu2350_4(unknown) = ^CallSideEffect : ~m? +# 2350| v2350_5(void) = ^IndirectReadSideEffect[-1] : &:r2350_1, ~m? +# 2350| mu2350_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2350_1 #-----| Goto (back edge) -> Block 4 -# 2336| Block 6 -# 2336| r2336_7(glval) = VariableAddress[B] : -# 2336| r2336_8(glval) = FunctionAddress[~Bool] : -# 2336| v2336_9(void) = Call[~Bool] : func:r2336_8, this:r2336_7 -# 2336| mu2336_10(unknown) = ^CallSideEffect : ~m? -# 2336| v2336_11(void) = ^IndirectReadSideEffect[-1] : &:r2336_7, ~m? -# 2336| mu2336_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2336_7 -# 2338| v2338_1(void) = NoOp : -# 2325| v2325_6(void) = ReturnVoid : -# 2325| v2325_7(void) = AliasedUse : ~m? -# 2325| v2325_8(void) = ExitFunction : - -# 2340| void VoidFunc() -# 2340| Block 0 -# 2340| v2340_1(void) = EnterFunction : -# 2340| mu2340_2(unknown) = AliasedDefinition : -# 2340| mu2340_3(unknown) = InitializeNonLocal : -# 2340| v2340_4(void) = NoOp : -# 2340| v2340_5(void) = ReturnVoid : -# 2340| v2340_6(void) = AliasedUse : ~m? -# 2340| v2340_7(void) = ExitFunction : - -# 2342| void IfReturnDestructors(bool) -# 2342| Block 0 -# 2342| v2342_1(void) = EnterFunction : -# 2342| mu2342_2(unknown) = AliasedDefinition : -# 2342| mu2342_3(unknown) = InitializeNonLocal : -# 2342| r2342_4(glval) = VariableAddress[b] : -# 2342| mu2342_5(bool) = InitializeParameter[b] : &:r2342_4 -# 2343| r2343_1(glval) = VariableAddress[s] : -# 2343| mu2343_2(String) = Uninitialized[s] : &:r2343_1 -# 2343| r2343_3(glval) = FunctionAddress[String] : -# 2343| v2343_4(void) = Call[String] : func:r2343_3, this:r2343_1 -# 2343| mu2343_5(unknown) = ^CallSideEffect : ~m? -# 2343| mu2343_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2343_1 -# 2344| r2344_1(glval) = VariableAddress[b] : -# 2344| r2344_2(bool) = Load[b] : &:r2344_1, ~m? -# 2344| v2344_3(void) = ConditionalBranch : r2344_2 +# 2350| Block 6 +# 2350| r2350_7(glval) = VariableAddress[B] : +# 2350| r2350_8(glval) = FunctionAddress[~Bool] : +# 2350| v2350_9(void) = Call[~Bool] : func:r2350_8, this:r2350_7 +# 2350| mu2350_10(unknown) = ^CallSideEffect : ~m? +# 2350| v2350_11(void) = ^IndirectReadSideEffect[-1] : &:r2350_7, ~m? +# 2350| mu2350_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2350_7 +# 2352| v2352_1(void) = NoOp : +# 2339| v2339_6(void) = ReturnVoid : +# 2339| v2339_7(void) = AliasedUse : ~m? +# 2339| v2339_8(void) = ExitFunction : + +# 2354| void VoidFunc() +# 2354| Block 0 +# 2354| v2354_1(void) = EnterFunction : +# 2354| mu2354_2(unknown) = AliasedDefinition : +# 2354| mu2354_3(unknown) = InitializeNonLocal : +# 2354| v2354_4(void) = NoOp : +# 2354| v2354_5(void) = ReturnVoid : +# 2354| v2354_6(void) = AliasedUse : ~m? +# 2354| v2354_7(void) = ExitFunction : + +# 2356| void IfReturnDestructors(bool) +# 2356| Block 0 +# 2356| v2356_1(void) = EnterFunction : +# 2356| mu2356_2(unknown) = AliasedDefinition : +# 2356| mu2356_3(unknown) = InitializeNonLocal : +# 2356| r2356_4(glval) = VariableAddress[b] : +# 2356| mu2356_5(bool) = InitializeParameter[b] : &:r2356_4 +# 2357| r2357_1(glval) = VariableAddress[s] : +# 2357| mu2357_2(String) = Uninitialized[s] : &:r2357_1 +# 2357| r2357_3(glval) = FunctionAddress[String] : +# 2357| v2357_4(void) = Call[String] : func:r2357_3, this:r2357_1 +# 2357| mu2357_5(unknown) = ^CallSideEffect : ~m? +# 2357| mu2357_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2357_1 +# 2358| r2358_1(glval) = VariableAddress[b] : +# 2358| r2358_2(bool) = Load[b] : &:r2358_1, ~m? +# 2358| v2358_3(void) = ConditionalBranch : r2358_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2342| Block 1 -# 2342| v2342_6(void) = ReturnVoid : -# 2342| v2342_7(void) = AliasedUse : ~m? -# 2342| v2342_8(void) = ExitFunction : - -# 2345| Block 2 -# 2345| v2345_1(void) = NoOp : -# 2351| r2351_1(glval) = VariableAddress[s] : -# 2351| r2351_2(glval) = FunctionAddress[~String] : -# 2351| v2351_3(void) = Call[~String] : func:r2351_2, this:r2351_1 -# 2351| mu2351_4(unknown) = ^CallSideEffect : ~m? -# 2351| v2351_5(void) = ^IndirectReadSideEffect[-1] : &:r2351_1, ~m? -# 2351| mu2351_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_1 +# 2356| Block 1 +# 2356| v2356_6(void) = ReturnVoid : +# 2356| v2356_7(void) = AliasedUse : ~m? +# 2356| v2356_8(void) = ExitFunction : + +# 2359| Block 2 +# 2359| v2359_1(void) = NoOp : +# 2365| r2365_1(glval) = VariableAddress[s] : +# 2365| r2365_2(glval) = FunctionAddress[~String] : +# 2365| v2365_3(void) = Call[~String] : func:r2365_2, this:r2365_1 +# 2365| mu2365_4(unknown) = ^CallSideEffect : ~m? +# 2365| v2365_5(void) = ^IndirectReadSideEffect[-1] : &:r2365_1, ~m? +# 2365| mu2365_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_1 #-----| Goto -> Block 1 -# 2347| Block 3 -# 2347| r2347_1(glval) = VariableAddress[b] : -# 2347| r2347_2(bool) = Load[b] : &:r2347_1, ~m? -# 2347| v2347_3(void) = ConditionalBranch : r2347_2 +# 2361| Block 3 +# 2361| r2361_1(glval) = VariableAddress[b] : +# 2361| r2361_2(bool) = Load[b] : &:r2361_1, ~m? +# 2361| v2361_3(void) = ConditionalBranch : r2361_2 #-----| False -> Block 5 #-----| True -> Block 4 -# 2348| Block 4 -# 2348| r2348_1(glval) = FunctionAddress[VoidFunc] : -# 2348| v2348_2(void) = Call[VoidFunc] : func:r2348_1 -# 2348| mu2348_3(unknown) = ^CallSideEffect : ~m? -# 2348| v2348_4(void) = NoOp : -# 2351| r2351_7(glval) = VariableAddress[s] : -# 2351| r2351_8(glval) = FunctionAddress[~String] : -# 2351| v2351_9(void) = Call[~String] : func:r2351_8, this:r2351_7 -# 2351| mu2351_10(unknown) = ^CallSideEffect : ~m? -# 2351| v2351_11(void) = ^IndirectReadSideEffect[-1] : &:r2351_7, ~m? -# 2351| mu2351_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_7 +# 2362| Block 4 +# 2362| r2362_1(glval) = FunctionAddress[VoidFunc] : +# 2362| v2362_2(void) = Call[VoidFunc] : func:r2362_1 +# 2362| mu2362_3(unknown) = ^CallSideEffect : ~m? +# 2362| v2362_4(void) = NoOp : +# 2365| r2365_7(glval) = VariableAddress[s] : +# 2365| r2365_8(glval) = FunctionAddress[~String] : +# 2365| v2365_9(void) = Call[~String] : func:r2365_8, this:r2365_7 +# 2365| mu2365_10(unknown) = ^CallSideEffect : ~m? +# 2365| v2365_11(void) = ^IndirectReadSideEffect[-1] : &:r2365_7, ~m? +# 2365| mu2365_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_7 #-----| Goto -> Block 1 -# 2350| Block 5 -# 2350| r2350_1(glval) = VariableAddress[s] : -# 2351| v2351_13(void) = NoOp : -# 2351| r2351_14(glval) = VariableAddress[s] : -# 2351| r2351_15(glval) = FunctionAddress[~String] : -# 2351| v2351_16(void) = Call[~String] : func:r2351_15, this:r2351_14 -# 2351| mu2351_17(unknown) = ^CallSideEffect : ~m? -# 2351| v2351_18(void) = ^IndirectReadSideEffect[-1] : &:r2351_14, ~m? -# 2351| mu2351_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r2351_14 +# 2364| Block 5 +# 2364| r2364_1(glval) = VariableAddress[s] : +# 2365| v2365_13(void) = NoOp : +# 2365| r2365_14(glval) = VariableAddress[s] : +# 2365| r2365_15(glval) = FunctionAddress[~String] : +# 2365| v2365_16(void) = Call[~String] : func:r2365_15, this:r2365_14 +# 2365| mu2365_17(unknown) = ^CallSideEffect : ~m? +# 2365| v2365_18(void) = ^IndirectReadSideEffect[-1] : &:r2365_14, ~m? +# 2365| mu2365_19(String) = ^IndirectMayWriteSideEffect[-1] : &:r2365_14 #-----| Goto -> Block 1 -# 2353| int IfReturnDestructors3(bool) -# 2353| Block 0 -# 2353| v2353_1(void) = EnterFunction : -# 2353| mu2353_2(unknown) = AliasedDefinition : -# 2353| mu2353_3(unknown) = InitializeNonLocal : -# 2353| r2353_4(glval) = VariableAddress[b] : -# 2353| mu2353_5(bool) = InitializeParameter[b] : &:r2353_4 -# 2354| r2354_1(glval) = VariableAddress[s] : -# 2354| mu2354_2(String) = Uninitialized[s] : &:r2354_1 -# 2354| r2354_3(glval) = FunctionAddress[String] : -# 2354| v2354_4(void) = Call[String] : func:r2354_3, this:r2354_1 -# 2354| mu2354_5(unknown) = ^CallSideEffect : ~m? -# 2354| mu2354_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2354_1 -# 2355| r2355_1(glval) = VariableAddress[b] : -# 2355| r2355_2(bool) = Load[b] : &:r2355_1, ~m? -# 2355| v2355_3(void) = ConditionalBranch : r2355_2 +# 2367| int IfReturnDestructors3(bool) +# 2367| Block 0 +# 2367| v2367_1(void) = EnterFunction : +# 2367| mu2367_2(unknown) = AliasedDefinition : +# 2367| mu2367_3(unknown) = InitializeNonLocal : +# 2367| r2367_4(glval) = VariableAddress[b] : +# 2367| mu2367_5(bool) = InitializeParameter[b] : &:r2367_4 +# 2368| r2368_1(glval) = VariableAddress[s] : +# 2368| mu2368_2(String) = Uninitialized[s] : &:r2368_1 +# 2368| r2368_3(glval) = FunctionAddress[String] : +# 2368| v2368_4(void) = Call[String] : func:r2368_3, this:r2368_1 +# 2368| mu2368_5(unknown) = ^CallSideEffect : ~m? +# 2368| mu2368_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2368_1 +# 2369| r2369_1(glval) = VariableAddress[b] : +# 2369| r2369_2(bool) = Load[b] : &:r2369_1, ~m? +# 2369| v2369_3(void) = ConditionalBranch : r2369_2 #-----| False -> Block 3 #-----| True -> Block 2 -# 2353| Block 1 -# 2353| r2353_6(glval) = VariableAddress[#return] : -# 2353| v2353_7(void) = ReturnValue : &:r2353_6, ~m? -# 2353| v2353_8(void) = AliasedUse : ~m? -# 2353| v2353_9(void) = ExitFunction : - -# 2356| Block 2 -# 2356| r2356_1(glval) = VariableAddress[#return] : -# 2356| r2356_2(int) = Constant[1] : -# 2356| mu2356_3(int) = Store[#return] : &:r2356_1, r2356_2 -# 2359| r2359_1(glval) = VariableAddress[s] : -# 2359| r2359_2(glval) = FunctionAddress[~String] : -# 2359| v2359_3(void) = Call[~String] : func:r2359_2, this:r2359_1 -# 2359| mu2359_4(unknown) = ^CallSideEffect : ~m? -# 2359| v2359_5(void) = ^IndirectReadSideEffect[-1] : &:r2359_1, ~m? -# 2359| mu2359_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_1 +# 2367| Block 1 +# 2367| r2367_6(glval) = VariableAddress[#return] : +# 2367| v2367_7(void) = ReturnValue : &:r2367_6, ~m? +# 2367| v2367_8(void) = AliasedUse : ~m? +# 2367| v2367_9(void) = ExitFunction : + +# 2370| Block 2 +# 2370| r2370_1(glval) = VariableAddress[#return] : +# 2370| r2370_2(int) = Constant[1] : +# 2370| mu2370_3(int) = Store[#return] : &:r2370_1, r2370_2 +# 2373| r2373_1(glval) = VariableAddress[s] : +# 2373| r2373_2(glval) = FunctionAddress[~String] : +# 2373| v2373_3(void) = Call[~String] : func:r2373_2, this:r2373_1 +# 2373| mu2373_4(unknown) = ^CallSideEffect : ~m? +# 2373| v2373_5(void) = ^IndirectReadSideEffect[-1] : &:r2373_1, ~m? +# 2373| mu2373_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2373_1 #-----| Goto -> Block 1 -# 2358| Block 3 -# 2358| r2358_1(glval) = VariableAddress[#return] : -# 2358| r2358_2(int) = Constant[0] : -# 2358| mu2358_3(int) = Store[#return] : &:r2358_1, r2358_2 -# 2359| r2359_7(glval) = VariableAddress[s] : -# 2359| r2359_8(glval) = FunctionAddress[~String] : -# 2359| v2359_9(void) = Call[~String] : func:r2359_8, this:r2359_7 -# 2359| mu2359_10(unknown) = ^CallSideEffect : ~m? -# 2359| v2359_11(void) = ^IndirectReadSideEffect[-1] : &:r2359_7, ~m? -# 2359| mu2359_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2359_7 +# 2372| Block 3 +# 2372| r2372_1(glval) = VariableAddress[#return] : +# 2372| r2372_2(int) = Constant[0] : +# 2372| mu2372_3(int) = Store[#return] : &:r2372_1, r2372_2 +# 2373| r2373_7(glval) = VariableAddress[s] : +# 2373| r2373_8(glval) = FunctionAddress[~String] : +# 2373| v2373_9(void) = Call[~String] : func:r2373_8, this:r2373_7 +# 2373| mu2373_10(unknown) = ^CallSideEffect : ~m? +# 2373| v2373_11(void) = ^IndirectReadSideEffect[-1] : &:r2373_7, ~m? +# 2373| mu2373_12(String) = ^IndirectMayWriteSideEffect[-1] : &:r2373_7 #-----| Goto -> Block 1 -# 2361| void VoidReturnDestructors() -# 2361| Block 0 -# 2361| v2361_1(void) = EnterFunction : -# 2361| mu2361_2(unknown) = AliasedDefinition : -# 2361| mu2361_3(unknown) = InitializeNonLocal : -# 2362| r2362_1(glval) = VariableAddress[s] : -# 2362| mu2362_2(String) = Uninitialized[s] : &:r2362_1 -# 2362| r2362_3(glval) = FunctionAddress[String] : -# 2362| v2362_4(void) = Call[String] : func:r2362_3, this:r2362_1 -# 2362| mu2362_5(unknown) = ^CallSideEffect : ~m? -# 2362| mu2362_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2362_1 -# 2363| r2363_1(glval) = FunctionAddress[VoidFunc] : -# 2363| v2363_2(void) = Call[VoidFunc] : func:r2363_1 -# 2363| mu2363_3(unknown) = ^CallSideEffect : ~m? -# 2363| v2363_4(void) = NoOp : -# 2364| r2364_1(glval) = VariableAddress[s] : -# 2364| r2364_2(glval) = FunctionAddress[~String] : -# 2364| v2364_3(void) = Call[~String] : func:r2364_2, this:r2364_1 -# 2364| mu2364_4(unknown) = ^CallSideEffect : ~m? -# 2364| v2364_5(void) = ^IndirectReadSideEffect[-1] : &:r2364_1, ~m? -# 2364| mu2364_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2364_1 -# 2361| v2361_4(void) = ReturnVoid : -# 2361| v2361_5(void) = AliasedUse : ~m? -# 2361| v2361_6(void) = ExitFunction : - -# 2374| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() -# 2374| Block 0 -# 2374| v2374_1(void) = EnterFunction : -# 2374| mu2374_2(unknown) = AliasedDefinition : -# 2374| mu2374_3(unknown) = InitializeNonLocal : -# 2376| r2376_1(glval<..:: *>) = VariableAddress[#return] : -# 2376| r2376_2(..()(..)) = FunctionAddress[VoidToInt] : -# 2376| mu2376_3(..:: *) = Store[#return] : &:r2376_1, r2376_2 -# 2374| r2374_4(glval<..:: *>) = VariableAddress[#return] : -# 2374| v2374_5(void) = ReturnValue : &:r2374_4, ~m? -# 2374| v2374_6(void) = AliasedUse : ~m? -# 2374| v2374_7(void) = ExitFunction : - -# 2381| int small_operation_should_not_be_constant_folded() -# 2381| Block 0 -# 2381| v2381_1(void) = EnterFunction : -# 2381| mu2381_2(unknown) = AliasedDefinition : -# 2381| mu2381_3(unknown) = InitializeNonLocal : -# 2382| r2382_1(glval) = VariableAddress[#return] : -# 2382| r2382_2(int) = Constant[1] : -# 2382| r2382_3(int) = Constant[2] : -# 2382| r2382_4(int) = BitXor : r2382_2, r2382_3 -# 2382| mu2382_5(int) = Store[#return] : &:r2382_1, r2382_4 -# 2381| r2381_4(glval) = VariableAddress[#return] : -# 2381| v2381_5(void) = ReturnValue : &:r2381_4, ~m? -# 2381| v2381_6(void) = AliasedUse : ~m? -# 2381| v2381_7(void) = ExitFunction : - -# 2392| int large_operation_should_be_constant_folded() -# 2392| Block 0 -# 2392| v2392_1(void) = EnterFunction : -# 2392| mu2392_2(unknown) = AliasedDefinition : -# 2392| mu2392_3(unknown) = InitializeNonLocal : -# 2393| r2393_1(glval) = VariableAddress[#return] : -# 2393| r2393_2(int) = Constant[0] : -# 2393| mu2393_3(int) = Store[#return] : &:r2393_1, r2393_2 -# 2392| r2392_4(glval) = VariableAddress[#return] : -# 2392| v2392_5(void) = ReturnValue : &:r2392_4, ~m? -# 2392| v2392_6(void) = AliasedUse : ~m? -# 2392| v2392_7(void) = ExitFunction : - -# 2396| void initialization_with_temp_destructor() -# 2396| Block 0 -# 2396| v2396_1(void) = EnterFunction : -# 2396| mu2396_2(unknown) = AliasedDefinition : -# 2396| mu2396_3(unknown) = InitializeNonLocal : -# 2397| r2397_1(glval) = VariableAddress[x] : -# 2397| r2397_2(glval) = VariableAddress[#temp2397:18] : -# 2397| mu2397_3(ClassWithDestructor) = Uninitialized[#temp2397:18] : &:r2397_2 -# 2397| r2397_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2397| v2397_5(void) = Call[ClassWithDestructor] : func:r2397_4, this:r2397_2 -# 2397| mu2397_6(unknown) = ^CallSideEffect : ~m? -# 2397| mu2397_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 -# 2397| r2397_8(glval) = FunctionAddress[get_x] : -# 2397| r2397_9(char) = Call[get_x] : func:r2397_8, this:r2397_2 -# 2397| mu2397_10(unknown) = ^CallSideEffect : ~m? -# 2397| v2397_11(void) = ^IndirectReadSideEffect[-1] : &:r2397_2, ~m? -# 2397| mu2397_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2397_2 -# 2397| mu2397_13(char) = Store[x] : &:r2397_1, r2397_9 -# 2397| r2397_14(glval) = VariableAddress[x] : -# 2397| r2397_15(char) = Load[x] : &:r2397_14, ~m? -# 2397| r2397_16(char) = Constant[0] : -# 2397| r2397_17(bool) = CompareNE : r2397_15, r2397_16 -# 2397| r2397_18(bool) = CopyValue : r2397_17 -# 2397| v2397_19(void) = ConditionalBranch : r2397_18 +# 2375| void VoidReturnDestructors() +# 2375| Block 0 +# 2375| v2375_1(void) = EnterFunction : +# 2375| mu2375_2(unknown) = AliasedDefinition : +# 2375| mu2375_3(unknown) = InitializeNonLocal : +# 2376| r2376_1(glval) = VariableAddress[s] : +# 2376| mu2376_2(String) = Uninitialized[s] : &:r2376_1 +# 2376| r2376_3(glval) = FunctionAddress[String] : +# 2376| v2376_4(void) = Call[String] : func:r2376_3, this:r2376_1 +# 2376| mu2376_5(unknown) = ^CallSideEffect : ~m? +# 2376| mu2376_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2376_1 +# 2377| r2377_1(glval) = FunctionAddress[VoidFunc] : +# 2377| v2377_2(void) = Call[VoidFunc] : func:r2377_1 +# 2377| mu2377_3(unknown) = ^CallSideEffect : ~m? +# 2377| v2377_4(void) = NoOp : +# 2378| r2378_1(glval) = VariableAddress[s] : +# 2378| r2378_2(glval) = FunctionAddress[~String] : +# 2378| v2378_3(void) = Call[~String] : func:r2378_2, this:r2378_1 +# 2378| mu2378_4(unknown) = ^CallSideEffect : ~m? +# 2378| v2378_5(void) = ^IndirectReadSideEffect[-1] : &:r2378_1, ~m? +# 2378| mu2378_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2378_1 +# 2375| v2375_4(void) = ReturnVoid : +# 2375| v2375_5(void) = AliasedUse : ~m? +# 2375| v2375_6(void) = ExitFunction : + +# 2388| return_routine_type::VoidToIntMemberFunc return_routine_type::GetVoidToIntFunc() +# 2388| Block 0 +# 2388| v2388_1(void) = EnterFunction : +# 2388| mu2388_2(unknown) = AliasedDefinition : +# 2388| mu2388_3(unknown) = InitializeNonLocal : +# 2390| r2390_1(glval<..:: *>) = VariableAddress[#return] : +# 2390| r2390_2(..()(..)) = FunctionAddress[VoidToInt] : +# 2390| mu2390_3(..:: *) = Store[#return] : &:r2390_1, r2390_2 +# 2388| r2388_4(glval<..:: *>) = VariableAddress[#return] : +# 2388| v2388_5(void) = ReturnValue : &:r2388_4, ~m? +# 2388| v2388_6(void) = AliasedUse : ~m? +# 2388| v2388_7(void) = ExitFunction : + +# 2395| int small_operation_should_not_be_constant_folded() +# 2395| Block 0 +# 2395| v2395_1(void) = EnterFunction : +# 2395| mu2395_2(unknown) = AliasedDefinition : +# 2395| mu2395_3(unknown) = InitializeNonLocal : +# 2396| r2396_1(glval) = VariableAddress[#return] : +# 2396| r2396_2(int) = Constant[1] : +# 2396| r2396_3(int) = Constant[2] : +# 2396| r2396_4(int) = BitXor : r2396_2, r2396_3 +# 2396| mu2396_5(int) = Store[#return] : &:r2396_1, r2396_4 +# 2395| r2395_4(glval) = VariableAddress[#return] : +# 2395| v2395_5(void) = ReturnValue : &:r2395_4, ~m? +# 2395| v2395_6(void) = AliasedUse : ~m? +# 2395| v2395_7(void) = ExitFunction : + +# 2406| int large_operation_should_be_constant_folded() +# 2406| Block 0 +# 2406| v2406_1(void) = EnterFunction : +# 2406| mu2406_2(unknown) = AliasedDefinition : +# 2406| mu2406_3(unknown) = InitializeNonLocal : +# 2407| r2407_1(glval) = VariableAddress[#return] : +# 2407| r2407_2(int) = Constant[0] : +# 2407| mu2407_3(int) = Store[#return] : &:r2407_1, r2407_2 +# 2406| r2406_4(glval) = VariableAddress[#return] : +# 2406| v2406_5(void) = ReturnValue : &:r2406_4, ~m? +# 2406| v2406_6(void) = AliasedUse : ~m? +# 2406| v2406_7(void) = ExitFunction : + +# 2410| void initialization_with_temp_destructor() +# 2410| Block 0 +# 2410| v2410_1(void) = EnterFunction : +# 2410| mu2410_2(unknown) = AliasedDefinition : +# 2410| mu2410_3(unknown) = InitializeNonLocal : +# 2411| r2411_1(glval) = VariableAddress[x] : +# 2411| r2411_2(glval) = VariableAddress[#temp2411:18] : +# 2411| mu2411_3(ClassWithDestructor) = Uninitialized[#temp2411:18] : &:r2411_2 +# 2411| r2411_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2 +# 2411| mu2411_6(unknown) = ^CallSideEffect : ~m? +# 2411| mu2411_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| r2411_8(glval) = FunctionAddress[get_x] : +# 2411| r2411_9(char) = Call[get_x] : func:r2411_8, this:r2411_2 +# 2411| mu2411_10(unknown) = ^CallSideEffect : ~m? +# 2411| v2411_11(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, ~m? +# 2411| mu2411_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 +# 2411| mu2411_13(char) = Store[x] : &:r2411_1, r2411_9 +# 2411| r2411_14(glval) = VariableAddress[x] : +# 2411| r2411_15(char) = Load[x] : &:r2411_14, ~m? +# 2411| r2411_16(char) = Constant[0] : +# 2411| r2411_17(bool) = CompareNE : r2411_15, r2411_16 +# 2411| r2411_18(bool) = CopyValue : r2411_17 +# 2411| v2411_19(void) = ConditionalBranch : r2411_18 #-----| False -> Block 2 #-----| True -> Block 1 -# 2398| Block 1 -# 2398| r2398_1(glval) = VariableAddress[x] : -# 2398| r2398_2(char) = Load[x] : &:r2398_1, ~m? -# 2398| r2398_3(char) = Constant[1] : -# 2398| r2398_4(char) = Add : r2398_2, r2398_3 -# 2398| mu2398_5(char) = Store[x] : &:r2398_1, r2398_4 +# 2412| Block 1 +# 2412| r2412_1(glval) = VariableAddress[x] : +# 2412| r2412_2(char) = Load[x] : &:r2412_1, ~m? +# 2412| r2412_3(char) = Constant[1] : +# 2412| r2412_4(char) = Add : r2412_2, r2412_3 +# 2412| mu2412_5(char) = Store[x] : &:r2412_1, r2412_4 #-----| Goto -> Block 2 -# 2400| Block 2 -# 2400| r2400_1(glval) = VariableAddress[x] : -# 2400| r2400_2(glval) = VariableAddress[#temp2400:18] : -# 2400| mu2400_3(ClassWithDestructor) = Uninitialized[#temp2400:18] : &:r2400_2 -# 2400| r2400_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2400| v2400_5(void) = Call[ClassWithDestructor] : func:r2400_4, this:r2400_2 -# 2400| mu2400_6(unknown) = ^CallSideEffect : ~m? -# 2400| mu2400_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 -# 2400| r2400_8(glval) = FunctionAddress[get_x] : -# 2400| r2400_9(char) = Call[get_x] : func:r2400_8, this:r2400_2 -# 2400| mu2400_10(unknown) = ^CallSideEffect : ~m? -# 2400| v2400_11(void) = ^IndirectReadSideEffect[-1] : &:r2400_2, ~m? -# 2400| mu2400_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2400_2 -# 2400| mu2400_13(char) = Store[x] : &:r2400_1, r2400_9 -# 2400| r2400_14(glval) = VariableAddress[x] : -# 2400| r2400_15(char) = Load[x] : &:r2400_14, ~m? -# 2400| r2400_16(char) = Constant[0] : -# 2400| r2400_17(bool) = CompareNE : r2400_15, r2400_16 -# 2400| v2400_18(void) = ConditionalBranch : r2400_17 +# 2414| Block 2 +# 2414| r2414_1(glval) = VariableAddress[x] : +# 2414| r2414_2(glval) = VariableAddress[#temp2414:18] : +# 2414| mu2414_3(ClassWithDestructor) = Uninitialized[#temp2414:18] : &:r2414_2 +# 2414| r2414_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2414| v2414_5(void) = Call[ClassWithDestructor] : func:r2414_4, this:r2414_2 +# 2414| mu2414_6(unknown) = ^CallSideEffect : ~m? +# 2414| mu2414_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_2 +# 2414| r2414_8(glval) = FunctionAddress[get_x] : +# 2414| r2414_9(char) = Call[get_x] : func:r2414_8, this:r2414_2 +# 2414| mu2414_10(unknown) = ^CallSideEffect : ~m? +# 2414| v2414_11(void) = ^IndirectReadSideEffect[-1] : &:r2414_2, ~m? +# 2414| mu2414_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2414_2 +# 2414| mu2414_13(char) = Store[x] : &:r2414_1, r2414_9 +# 2414| r2414_14(glval) = VariableAddress[x] : +# 2414| r2414_15(char) = Load[x] : &:r2414_14, ~m? +# 2414| r2414_16(char) = Constant[0] : +# 2414| r2414_17(bool) = CompareNE : r2414_15, r2414_16 +# 2414| v2414_18(void) = ConditionalBranch : r2414_17 #-----| False -> Block 4 #-----| True -> Block 3 -# 2401| Block 3 -# 2401| r2401_1(glval) = VariableAddress[x] : -# 2401| r2401_2(char) = Load[x] : &:r2401_1, ~m? -# 2401| r2401_3(char) = Constant[1] : -# 2401| r2401_4(char) = Add : r2401_2, r2401_3 -# 2401| mu2401_5(char) = Store[x] : &:r2401_1, r2401_4 +# 2415| Block 3 +# 2415| r2415_1(glval) = VariableAddress[x] : +# 2415| r2415_2(char) = Load[x] : &:r2415_1, ~m? +# 2415| r2415_3(char) = Constant[1] : +# 2415| r2415_4(char) = Add : r2415_2, r2415_3 +# 2415| mu2415_5(char) = Store[x] : &:r2415_1, r2415_4 #-----| Goto -> Block 4 -# 2403| Block 4 -# 2403| r2403_1(glval) = VariableAddress[x] : -# 2403| r2403_2(glval) = VariableAddress[#temp2403:28] : -# 2403| mu2403_3(ClassWithDestructor) = Uninitialized[#temp2403:28] : &:r2403_2 -# 2403| r2403_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2403| v2403_5(void) = Call[ClassWithDestructor] : func:r2403_4, this:r2403_2 -# 2403| mu2403_6(unknown) = ^CallSideEffect : ~m? -# 2403| mu2403_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 -# 2403| r2403_8(glval) = FunctionAddress[get_x] : -# 2403| r2403_9(char) = Call[get_x] : func:r2403_8, this:r2403_2 -# 2403| mu2403_10(unknown) = ^CallSideEffect : ~m? -# 2403| v2403_11(void) = ^IndirectReadSideEffect[-1] : &:r2403_2, ~m? -# 2403| mu2403_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2403_2 -# 2403| mu2403_13(char) = Store[x] : &:r2403_1, r2403_9 -# 2403| r2403_14(bool) = Constant[1] : -# 2403| v2403_15(void) = ConditionalBranch : r2403_14 +# 2417| Block 4 +# 2417| r2417_1(glval) = VariableAddress[x] : +# 2417| r2417_2(glval) = VariableAddress[#temp2417:28] : +# 2417| mu2417_3(ClassWithDestructor) = Uninitialized[#temp2417:28] : &:r2417_2 +# 2417| r2417_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2417| v2417_5(void) = Call[ClassWithDestructor] : func:r2417_4, this:r2417_2 +# 2417| mu2417_6(unknown) = ^CallSideEffect : ~m? +# 2417| mu2417_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_2 +# 2417| r2417_8(glval) = FunctionAddress[get_x] : +# 2417| r2417_9(char) = Call[get_x] : func:r2417_8, this:r2417_2 +# 2417| mu2417_10(unknown) = ^CallSideEffect : ~m? +# 2417| v2417_11(void) = ^IndirectReadSideEffect[-1] : &:r2417_2, ~m? +# 2417| mu2417_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2417_2 +# 2417| mu2417_13(char) = Store[x] : &:r2417_1, r2417_9 +# 2417| r2417_14(bool) = Constant[1] : +# 2417| v2417_15(void) = ConditionalBranch : r2417_14 #-----| False -> Block 6 #-----| True -> Block 5 -# 2404| Block 5 -# 2404| r2404_1(glval) = VariableAddress[x] : -# 2404| r2404_2(char) = Load[x] : &:r2404_1, ~m? -# 2404| r2404_3(char) = Constant[1] : -# 2404| r2404_4(char) = Add : r2404_2, r2404_3 -# 2404| mu2404_5(char) = Store[x] : &:r2404_1, r2404_4 +# 2418| Block 5 +# 2418| r2418_1(glval) = VariableAddress[x] : +# 2418| r2418_2(char) = Load[x] : &:r2418_1, ~m? +# 2418| r2418_3(char) = Constant[1] : +# 2418| r2418_4(char) = Add : r2418_2, r2418_3 +# 2418| mu2418_5(char) = Store[x] : &:r2418_1, r2418_4 #-----| Goto -> Block 6 -# 2406| Block 6 -# 2406| r2406_1(glval) = VariableAddress[x] : -# 2406| r2406_2(glval) = VariableAddress[#temp2406:21] : -# 2406| mu2406_3(ClassWithDestructor) = Uninitialized[#temp2406:21] : &:r2406_2 -# 2406| r2406_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2406| v2406_5(void) = Call[ClassWithDestructor] : func:r2406_4, this:r2406_2 -# 2406| mu2406_6(unknown) = ^CallSideEffect : ~m? -# 2406| mu2406_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 -# 2406| r2406_8(glval) = FunctionAddress[get_x] : -# 2406| r2406_9(char) = Call[get_x] : func:r2406_8, this:r2406_2 -# 2406| mu2406_10(unknown) = ^CallSideEffect : ~m? -# 2406| v2406_11(void) = ^IndirectReadSideEffect[-1] : &:r2406_2, ~m? -# 2406| mu2406_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2406_2 -# 2406| mu2406_13(char) = Store[x] : &:r2406_1, r2406_9 -# 2406| r2406_14(glval) = VariableAddress[x] : -# 2406| r2406_15(char) = Load[x] : &:r2406_14, ~m? -# 2406| r2406_16(int) = Convert : r2406_15 -# 2406| r2406_17(int) = CopyValue : r2406_16 -# 2406| v2406_18(void) = Switch : r2406_17 +# 2420| Block 6 +# 2420| r2420_1(glval) = VariableAddress[x] : +# 2420| r2420_2(glval) = VariableAddress[#temp2420:21] : +# 2420| mu2420_3(ClassWithDestructor) = Uninitialized[#temp2420:21] : &:r2420_2 +# 2420| r2420_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2420| v2420_5(void) = Call[ClassWithDestructor] : func:r2420_4, this:r2420_2 +# 2420| mu2420_6(unknown) = ^CallSideEffect : ~m? +# 2420| mu2420_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_2 +# 2420| r2420_8(glval) = FunctionAddress[get_x] : +# 2420| r2420_9(char) = Call[get_x] : func:r2420_8, this:r2420_2 +# 2420| mu2420_10(unknown) = ^CallSideEffect : ~m? +# 2420| v2420_11(void) = ^IndirectReadSideEffect[-1] : &:r2420_2, ~m? +# 2420| mu2420_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2420_2 +# 2420| mu2420_13(char) = Store[x] : &:r2420_1, r2420_9 +# 2420| r2420_14(glval) = VariableAddress[x] : +# 2420| r2420_15(char) = Load[x] : &:r2420_14, ~m? +# 2420| r2420_16(int) = Convert : r2420_15 +# 2420| r2420_17(int) = CopyValue : r2420_16 +# 2420| v2420_18(void) = Switch : r2420_17 #-----| Case[97] -> Block 7 #-----| Default -> Block 8 -# 2407| Block 7 -# 2407| v2407_1(void) = NoOp : -# 2408| r2408_1(glval) = VariableAddress[x] : -# 2408| r2408_2(char) = Load[x] : &:r2408_1, ~m? -# 2408| r2408_3(char) = Constant[1] : -# 2408| r2408_4(char) = Add : r2408_2, r2408_3 -# 2408| mu2408_5(char) = Store[x] : &:r2408_1, r2408_4 +# 2421| Block 7 +# 2421| v2421_1(void) = NoOp : +# 2422| r2422_1(glval) = VariableAddress[x] : +# 2422| r2422_2(char) = Load[x] : &:r2422_1, ~m? +# 2422| r2422_3(char) = Constant[1] : +# 2422| r2422_4(char) = Add : r2422_2, r2422_3 +# 2422| mu2422_5(char) = Store[x] : &:r2422_1, r2422_4 #-----| Goto -> Block 8 -# 2411| Block 8 -# 2411| r2411_1(glval) = VariableAddress[x] : -# 2411| r2411_2(glval) = VariableAddress[#temp2411:21] : -# 2411| mu2411_3(ClassWithDestructor) = Uninitialized[#temp2411:21] : &:r2411_2 -# 2411| r2411_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2411| v2411_5(void) = Call[ClassWithDestructor] : func:r2411_4, this:r2411_2 -# 2411| mu2411_6(unknown) = ^CallSideEffect : ~m? -# 2411| mu2411_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 -# 2411| r2411_8(glval) = FunctionAddress[get_x] : -# 2411| r2411_9(char) = Call[get_x] : func:r2411_8, this:r2411_2 -# 2411| mu2411_10(unknown) = ^CallSideEffect : ~m? -# 2411| v2411_11(void) = ^IndirectReadSideEffect[-1] : &:r2411_2, ~m? -# 2411| mu2411_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2411_2 -# 2411| mu2411_13(char) = Store[x] : &:r2411_1, r2411_9 -# 2411| r2411_14(glval) = VariableAddress[x] : -# 2411| r2411_15(char) = Load[x] : &:r2411_14, ~m? -# 2411| r2411_16(int) = Convert : r2411_15 -# 2411| v2411_17(void) = Switch : r2411_16 +# 2425| Block 8 +# 2425| r2425_1(glval) = VariableAddress[x] : +# 2425| r2425_2(glval) = VariableAddress[#temp2425:21] : +# 2425| mu2425_3(ClassWithDestructor) = Uninitialized[#temp2425:21] : &:r2425_2 +# 2425| r2425_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2425| v2425_5(void) = Call[ClassWithDestructor] : func:r2425_4, this:r2425_2 +# 2425| mu2425_6(unknown) = ^CallSideEffect : ~m? +# 2425| mu2425_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_2 +# 2425| r2425_8(glval) = FunctionAddress[get_x] : +# 2425| r2425_9(char) = Call[get_x] : func:r2425_8, this:r2425_2 +# 2425| mu2425_10(unknown) = ^CallSideEffect : ~m? +# 2425| v2425_11(void) = ^IndirectReadSideEffect[-1] : &:r2425_2, ~m? +# 2425| mu2425_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2425_2 +# 2425| mu2425_13(char) = Store[x] : &:r2425_1, r2425_9 +# 2425| r2425_14(glval) = VariableAddress[x] : +# 2425| r2425_15(char) = Load[x] : &:r2425_14, ~m? +# 2425| r2425_16(int) = Convert : r2425_15 +# 2425| v2425_17(void) = Switch : r2425_16 #-----| Case[97] -> Block 9 #-----| Default -> Block 10 -# 2412| Block 9 -# 2412| v2412_1(void) = NoOp : -# 2413| r2413_1(glval) = VariableAddress[x] : -# 2413| r2413_2(char) = Load[x] : &:r2413_1, ~m? -# 2413| r2413_3(char) = Constant[1] : -# 2413| r2413_4(char) = Add : r2413_2, r2413_3 -# 2413| mu2413_5(char) = Store[x] : &:r2413_1, r2413_4 +# 2426| Block 9 +# 2426| v2426_1(void) = NoOp : +# 2427| r2427_1(glval) = VariableAddress[x] : +# 2427| r2427_2(char) = Load[x] : &:r2427_1, ~m? +# 2427| r2427_3(char) = Constant[1] : +# 2427| r2427_4(char) = Add : r2427_2, r2427_3 +# 2427| mu2427_5(char) = Store[x] : &:r2427_1, r2427_4 #-----| Goto -> Block 10 -# 2416| Block 10 -# 2416| r2416_1(glval) = VariableAddress[x] : -# 2416| r2416_2(glval) = VariableAddress[#temp2416:18] : -# 2416| mu2416_3(ClassWithDestructor) = Uninitialized[#temp2416:18] : &:r2416_2 -# 2416| r2416_4(glval) = FunctionAddress[ClassWithDestructor] : -# 2416| v2416_5(void) = Call[ClassWithDestructor] : func:r2416_4, this:r2416_2 -# 2416| mu2416_6(unknown) = ^CallSideEffect : ~m? -# 2416| mu2416_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 -# 2416| r2416_8(glval) = FunctionAddress[get_x] : -# 2416| r2416_9(char) = Call[get_x] : func:r2416_8, this:r2416_2 -# 2416| mu2416_10(unknown) = ^CallSideEffect : ~m? -# 2416| v2416_11(void) = ^IndirectReadSideEffect[-1] : &:r2416_2, ~m? -# 2416| mu2416_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2416_2 -# 2416| mu2416_13(char) = Store[x] : &:r2416_1, r2416_9 -# 2416| r2416_14(glval &&>) = VariableAddress[(__range)] : -# 2416| r2416_15(glval>) = VariableAddress[#temp2416:58] : -# 2416| mu2416_16(vector) = Uninitialized[#temp2416:58] : &:r2416_15 -# 2416| r2416_17(glval) = FunctionAddress[vector] : -# 2416| r2416_18(glval) = VariableAddress[x] : -# 2416| r2416_19(char) = Load[x] : &:r2416_18, ~m? -# 2416| v2416_20(void) = Call[vector] : func:r2416_17, this:r2416_15, 0:r2416_19 -# 2416| mu2416_21(unknown) = ^CallSideEffect : ~m? -# 2416| mu2416_22(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2416_15 -# 2416| r2416_23(vector &) = CopyValue : r2416_15 -# 2416| mu2416_24(vector &&) = Store[(__range)] : &:r2416_14, r2416_23 -# 2416| r2416_25(glval>) = VariableAddress[(__begin)] : -# 2416| r2416_26(glval &&>) = VariableAddress[(__range)] : -# 2416| r2416_27(vector &&) = Load[(__range)] : &:r2416_26, ~m? -#-----| r0_1(glval>) = CopyValue : r2416_27 +# 2430| Block 10 +# 2430| r2430_1(glval) = VariableAddress[x] : +# 2430| r2430_2(glval) = VariableAddress[#temp2430:18] : +# 2430| mu2430_3(ClassWithDestructor) = Uninitialized[#temp2430:18] : &:r2430_2 +# 2430| r2430_4(glval) = FunctionAddress[ClassWithDestructor] : +# 2430| v2430_5(void) = Call[ClassWithDestructor] : func:r2430_4, this:r2430_2 +# 2430| mu2430_6(unknown) = ^CallSideEffect : ~m? +# 2430| mu2430_7(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_2 +# 2430| r2430_8(glval) = FunctionAddress[get_x] : +# 2430| r2430_9(char) = Call[get_x] : func:r2430_8, this:r2430_2 +# 2430| mu2430_10(unknown) = ^CallSideEffect : ~m? +# 2430| v2430_11(void) = ^IndirectReadSideEffect[-1] : &:r2430_2, ~m? +# 2430| mu2430_12(ClassWithDestructor) = ^IndirectMayWriteSideEffect[-1] : &:r2430_2 +# 2430| mu2430_13(char) = Store[x] : &:r2430_1, r2430_9 +# 2430| r2430_14(glval &&>) = VariableAddress[(__range)] : +# 2430| r2430_15(glval>) = VariableAddress[#temp2430:58] : +# 2430| mu2430_16(vector) = Uninitialized[#temp2430:58] : &:r2430_15 +# 2430| r2430_17(glval) = FunctionAddress[vector] : +# 2430| r2430_18(glval) = VariableAddress[x] : +# 2430| r2430_19(char) = Load[x] : &:r2430_18, ~m? +# 2430| v2430_20(void) = Call[vector] : func:r2430_17, this:r2430_15, 0:r2430_19 +# 2430| mu2430_21(unknown) = ^CallSideEffect : ~m? +# 2430| mu2430_22(vector) = ^IndirectMayWriteSideEffect[-1] : &:r2430_15 +# 2430| r2430_23(vector &) = CopyValue : r2430_15 +# 2430| mu2430_24(vector &&) = Store[(__range)] : &:r2430_14, r2430_23 +# 2430| r2430_25(glval>) = VariableAddress[(__begin)] : +# 2430| r2430_26(glval &&>) = VariableAddress[(__range)] : +# 2430| r2430_27(vector &&) = Load[(__range)] : &:r2430_26, ~m? +#-----| r0_1(glval>) = CopyValue : r2430_27 #-----| r0_2(glval>) = Convert : r0_1 -# 2416| r2416_28(glval) = FunctionAddress[begin] : -# 2416| r2416_29(iterator) = Call[begin] : func:r2416_28, this:r0_2 +# 2430| r2430_28(glval) = FunctionAddress[begin] : +# 2430| r2430_29(iterator) = Call[begin] : func:r2430_28, this:r0_2 #-----| v0_3(void) = ^IndirectReadSideEffect[-1] : &:r0_2, ~m? -# 2416| mu2416_30(iterator) = Store[(__begin)] : &:r2416_25, r2416_29 -# 2416| r2416_31(glval>) = VariableAddress[(__end)] : -# 2416| r2416_32(glval &&>) = VariableAddress[(__range)] : -# 2416| r2416_33(vector &&) = Load[(__range)] : &:r2416_32, ~m? -#-----| r0_4(glval>) = CopyValue : r2416_33 +# 2430| mu2430_30(iterator) = Store[(__begin)] : &:r2430_25, r2430_29 +# 2430| r2430_31(glval>) = VariableAddress[(__end)] : +# 2430| r2430_32(glval &&>) = VariableAddress[(__range)] : +# 2430| r2430_33(vector &&) = Load[(__range)] : &:r2430_32, ~m? +#-----| r0_4(glval>) = CopyValue : r2430_33 #-----| r0_5(glval>) = Convert : r0_4 -# 2416| r2416_34(glval) = FunctionAddress[end] : -# 2416| r2416_35(iterator) = Call[end] : func:r2416_34, this:r0_5 +# 2430| r2430_34(glval) = FunctionAddress[end] : +# 2430| r2430_35(iterator) = Call[end] : func:r2430_34, this:r0_5 #-----| v0_6(void) = ^IndirectReadSideEffect[-1] : &:r0_5, ~m? -# 2416| mu2416_36(iterator) = Store[(__end)] : &:r2416_31, r2416_35 +# 2430| mu2430_36(iterator) = Store[(__end)] : &:r2430_31, r2430_35 #-----| Goto -> Block 11 -# 2416| Block 11 -# 2416| r2416_37(glval>) = VariableAddress[(__begin)] : -#-----| r0_7(glval>) = Convert : r2416_37 -# 2416| r2416_38(glval) = FunctionAddress[operator!=] : +# 2430| Block 11 +# 2430| r2430_37(glval>) = VariableAddress[(__begin)] : +#-----| r0_7(glval>) = Convert : r2430_37 +# 2430| r2430_38(glval) = FunctionAddress[operator!=] : #-----| r0_8(glval>) = VariableAddress[#temp0:0] : #-----| mu0_9(iterator) = Uninitialized[#temp0:0] : &:r0_8 -# 2416| r2416_39(glval) = FunctionAddress[iterator] : -# 2416| r2416_40(glval>) = VariableAddress[(__end)] : -#-----| r0_10(glval>) = Convert : r2416_40 +# 2430| r2430_39(glval) = FunctionAddress[iterator] : +# 2430| r2430_40(glval>) = VariableAddress[(__end)] : +#-----| r0_10(glval>) = Convert : r2430_40 #-----| r0_11(iterator &) = CopyValue : r0_10 -# 2416| v2416_41(void) = Call[iterator] : func:r2416_39, this:r0_8, 0:r0_11 -# 2416| mu2416_42(unknown) = ^CallSideEffect : ~m? +# 2430| v2430_41(void) = Call[iterator] : func:r2430_39, this:r0_8, 0:r0_11 +# 2430| mu2430_42(unknown) = ^CallSideEffect : ~m? #-----| v0_12(void) = ^BufferReadSideEffect[0] : &:r0_11, ~m? -# 2416| mu2416_43(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 +# 2430| mu2430_43(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r0_8 #-----| r0_13(iterator) = Load[#temp0:0] : &:r0_8, ~m? -# 2416| r2416_44(bool) = Call[operator!=] : func:r2416_38, this:r0_7, 0:r0_13 -# 2416| mu2416_45(unknown) = ^CallSideEffect : ~m? +# 2430| r2430_44(bool) = Call[operator!=] : func:r2430_38, this:r0_7, 0:r0_13 +# 2430| mu2430_45(unknown) = ^CallSideEffect : ~m? #-----| v0_14(void) = ^IndirectReadSideEffect[-1] : &:r0_7, ~m? -# 2416| v2416_46(void) = ConditionalBranch : r2416_44 +# 2430| v2430_46(void) = ConditionalBranch : r2430_44 #-----| False -> Block 13 #-----| True -> Block 12 -# 2416| Block 12 -# 2416| r2416_47(glval) = VariableAddress[y] : -# 2416| r2416_48(glval>) = VariableAddress[(__begin)] : -#-----| r0_15(glval>) = Convert : r2416_48 -# 2416| r2416_49(glval) = FunctionAddress[operator*] : -# 2416| r2416_50(char &) = Call[operator*] : func:r2416_49, this:r0_15 -# 2416| mu2416_51(unknown) = ^CallSideEffect : ~m? +# 2430| Block 12 +# 2430| r2430_47(glval) = VariableAddress[y] : +# 2430| r2430_48(glval>) = VariableAddress[(__begin)] : +#-----| r0_15(glval>) = Convert : r2430_48 +# 2430| r2430_49(glval) = FunctionAddress[operator*] : +# 2430| r2430_50(char &) = Call[operator*] : func:r2430_49, this:r0_15 +# 2430| mu2430_51(unknown) = ^CallSideEffect : ~m? #-----| v0_16(void) = ^IndirectReadSideEffect[-1] : &:r0_15, ~m? -# 2416| r2416_52(char) = Load[?] : &:r2416_50, ~m? -# 2416| mu2416_53(char) = Store[y] : &:r2416_47, r2416_52 -# 2417| r2417_1(glval) = VariableAddress[x] : -# 2417| r2417_2(char) = Load[x] : &:r2417_1, ~m? -# 2417| r2417_3(int) = Convert : r2417_2 -# 2417| r2417_4(glval) = VariableAddress[y] : -# 2417| r2417_5(char) = Load[y] : &:r2417_4, ~m? -# 2417| r2417_6(int) = Convert : r2417_5 -# 2417| r2417_7(int) = Add : r2417_6, r2417_3 -# 2417| r2417_8(char) = Convert : r2417_7 -# 2417| mu2417_9(char) = Store[y] : &:r2417_4, r2417_8 -# 2416| r2416_54(glval>) = VariableAddress[(__begin)] : -# 2416| r2416_55(glval) = FunctionAddress[operator++] : -# 2416| r2416_56(iterator &) = Call[operator++] : func:r2416_55, this:r2416_54 -# 2416| mu2416_57(unknown) = ^CallSideEffect : ~m? -# 2416| v2416_58(void) = ^IndirectReadSideEffect[-1] : &:r2416_54, ~m? -# 2416| mu2416_59(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2416_54 -# 2416| r2416_60(glval>) = CopyValue : r2416_56 +# 2430| r2430_52(char) = Load[?] : &:r2430_50, ~m? +# 2430| mu2430_53(char) = Store[y] : &:r2430_47, r2430_52 +# 2431| r2431_1(glval) = VariableAddress[x] : +# 2431| r2431_2(char) = Load[x] : &:r2431_1, ~m? +# 2431| r2431_3(int) = Convert : r2431_2 +# 2431| r2431_4(glval) = VariableAddress[y] : +# 2431| r2431_5(char) = Load[y] : &:r2431_4, ~m? +# 2431| r2431_6(int) = Convert : r2431_5 +# 2431| r2431_7(int) = Add : r2431_6, r2431_3 +# 2431| r2431_8(char) = Convert : r2431_7 +# 2431| mu2431_9(char) = Store[y] : &:r2431_4, r2431_8 +# 2430| r2430_54(glval>) = VariableAddress[(__begin)] : +# 2430| r2430_55(glval) = FunctionAddress[operator++] : +# 2430| r2430_56(iterator &) = Call[operator++] : func:r2430_55, this:r2430_54 +# 2430| mu2430_57(unknown) = ^CallSideEffect : ~m? +# 2430| v2430_58(void) = ^IndirectReadSideEffect[-1] : &:r2430_54, ~m? +# 2430| mu2430_59(iterator) = ^IndirectMayWriteSideEffect[-1] : &:r2430_54 +# 2430| r2430_60(glval>) = CopyValue : r2430_56 #-----| Goto (back edge) -> Block 11 -# 2418| Block 13 -# 2418| v2418_1(void) = NoOp : -# 2396| v2396_4(void) = ReturnVoid : -# 2396| v2396_5(void) = AliasedUse : ~m? -# 2396| v2396_6(void) = ExitFunction : +# 2432| Block 13 +# 2432| v2432_1(void) = NoOp : +# 2410| v2410_4(void) = ReturnVoid : +# 2410| v2410_5(void) = AliasedUse : ~m? +# 2410| v2410_6(void) = ExitFunction : perf-regression.cpp: # 6| void Big::Big()