mirror of
https://github.com/github/codeql.git
synced 2026-04-22 15:25:18 +02:00
C++: test for multiple for loop variables with destructors
This commit is contained in:
@@ -16449,208 +16449,291 @@ ir.cpp:
|
||||
# 2157| getUpdate().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2157| Type = [NestedStruct] iterator
|
||||
# 2157| ValueCategory = lvalue
|
||||
# 2160| getStmt(3): [ReturnStmt] return ...
|
||||
# 2162| [TopLevelFunction] void IfDestructors2(bool)
|
||||
# 2162| <params>:
|
||||
# 2162| getParameter(0): [Parameter] b
|
||||
# 2162| Type = [BoolType] bool
|
||||
# 2162| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2163| getStmt(0): [IfStmt] if (...) ...
|
||||
# 2163| getInitialization(): [DeclStmt] declaration
|
||||
# 2163| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s
|
||||
# 2163| Type = [Struct] String
|
||||
# 2163| getVariable().getInitializer(): [Initializer] initializer for s
|
||||
# 2163| getExpr(): [ConstructorCall] call to String
|
||||
# 2163| Type = [VoidType] void
|
||||
# 2163| ValueCategory = prvalue
|
||||
# 2163| getArgument(0): hello
|
||||
# 2163| Type = [ArrayType] const char[6]
|
||||
# 2163| Value = [StringLiteral] "hello"
|
||||
# 2163| ValueCategory = lvalue
|
||||
# 2163| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
|
||||
# 2163| Type = [PointerType] const char *
|
||||
# 2163| ValueCategory = prvalue
|
||||
# 2163| getCondition(): [VariableAccess] b
|
||||
# 2163| Type = [BoolType] bool
|
||||
# 2163| ValueCategory = prvalue(load)
|
||||
# 2163| getThen(): [BlockStmt] { ... }
|
||||
# 2164| getStmt(0): [DeclStmt] declaration
|
||||
# 2164| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
|
||||
# 2164| Type = [IntType] int
|
||||
# 2164| getVariable().getInitializer(): [Initializer] initializer for x
|
||||
# 2164| getExpr(): [Literal] 0
|
||||
# 2164| Type = [IntType] int
|
||||
# 2164| Value = [Literal] 0
|
||||
# 2164| ValueCategory = prvalue
|
||||
# 2165| getElse(): [BlockStmt] { ... }
|
||||
# 2166| getStmt(0): [DeclStmt] declaration
|
||||
# 2166| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y
|
||||
# 2166| Type = [IntType] int
|
||||
# 2166| getVariable().getInitializer(): [Initializer] initializer for y
|
||||
# 2166| getExpr(): [Literal] 0
|
||||
# 2166| Type = [IntType] int
|
||||
# 2166| Value = [Literal] 0
|
||||
# 2166| ValueCategory = prvalue
|
||||
# 2167| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2167| Type = [VoidType] void
|
||||
# 2167| ValueCategory = prvalue
|
||||
# 2167| getQualifier(): [VariableAccess] s
|
||||
# 2161| getStmt(3): [ForStmt] for(...;...;...) ...
|
||||
# 2161| getInitialization(): [DeclStmt] declaration
|
||||
# 2161| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s
|
||||
# 2161| Type = [Struct] String
|
||||
# 2161| getVariable().getInitializer(): [Initializer] initializer for s
|
||||
# 2161| getExpr(): [ConstructorCall] call to String
|
||||
# 2161| Type = [VoidType] void
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getArgument(0): hello
|
||||
# 2161| Type = [ArrayType] const char[6]
|
||||
# 2161| Value = [StringLiteral] "hello"
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2161| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
|
||||
# 2161| Type = [PointerType] const char *
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getDeclarationEntry(1): [VariableDeclarationEntry] definition of s2
|
||||
# 2161| Type = [Struct] String
|
||||
# 2161| getVariable().getInitializer(): [Initializer] initializer for s2
|
||||
# 2161| getExpr(): [ConstructorCall] call to String
|
||||
# 2161| Type = [VoidType] void
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getArgument(0): world
|
||||
# 2161| Type = [ArrayType] const char[6]
|
||||
# 2161| Value = [StringLiteral] "world"
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2161| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
|
||||
# 2161| Type = [PointerType] const char *
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getCondition(): [NEExpr] ... != ...
|
||||
# 2161| Type = [BoolType] bool
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getLeftOperand(): [VariableAccess] c
|
||||
# 2161| Type = [PlainCharType] char
|
||||
# 2161| ValueCategory = prvalue(load)
|
||||
# 2161| getRightOperand(): [Literal] 0
|
||||
# 2161| Type = [IntType] int
|
||||
# 2161| Value = [Literal] 0
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getLeftOperand().getFullyConverted(): [CStyleCast] (int)...
|
||||
# 2161| Conversion = [IntegralConversion] integral conversion
|
||||
# 2161| Type = [IntType] int
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getUpdate(): [AssignExpr] ... = ...
|
||||
# 2161| Type = [PlainCharType] char
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2161| getLValue(): [VariableAccess] c
|
||||
# 2161| Type = [PlainCharType] char
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2161| getRValue(): [FunctionCall] call to pop_back
|
||||
# 2161| Type = [PlainCharType] char
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getQualifier(): [VariableAccess] s
|
||||
# 2161| Type = [Struct] String
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2161| getStmt(): [BlockStmt] { ... }
|
||||
# 2162| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2162| getExpr(): [AssignExpr] ... = ...
|
||||
# 2162| Type = [PlainCharType] char
|
||||
# 2162| ValueCategory = lvalue
|
||||
# 2162| getLValue(): [VariableAccess] c
|
||||
# 2162| Type = [PlainCharType] char
|
||||
# 2162| ValueCategory = lvalue
|
||||
# 2162| getRValue(): [Literal] 0
|
||||
# 2162| Type = [IntType] int
|
||||
# 2162| Value = [Literal] 0
|
||||
# 2162| ValueCategory = prvalue
|
||||
# 2162| getRValue().getFullyConverted(): [CStyleCast] (char)...
|
||||
# 2162| Conversion = [IntegralConversion] integral conversion
|
||||
# 2162| Type = [PlainCharType] char
|
||||
# 2162| Value = [CStyleCast] 0
|
||||
# 2162| ValueCategory = prvalue
|
||||
# 2161| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2161| Type = [VoidType] void
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getQualifier(): [VariableAccess] s2
|
||||
# 2161| Type = [Struct] String
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2161| getImplicitDestructorCall(1): [DestructorCall] call to ~String
|
||||
# 2161| Type = [VoidType] void
|
||||
# 2161| ValueCategory = prvalue
|
||||
# 2161| getQualifier(): [VariableAccess] s
|
||||
# 2161| Type = [Struct] String
|
||||
# 2161| ValueCategory = lvalue
|
||||
# 2164| getStmt(4): [ReturnStmt] return ...
|
||||
# 2166| [TopLevelFunction] void IfDestructors2(bool)
|
||||
# 2166| <params>:
|
||||
# 2166| getParameter(0): [Parameter] b
|
||||
# 2166| Type = [BoolType] bool
|
||||
# 2166| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2167| getStmt(0): [IfStmt] if (...) ...
|
||||
# 2167| getInitialization(): [DeclStmt] declaration
|
||||
# 2167| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s
|
||||
# 2167| Type = [Struct] String
|
||||
# 2167| ValueCategory = lvalue
|
||||
# 2168| getStmt(1): [ReturnStmt] return ...
|
||||
# 2170| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&)
|
||||
# 2170| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool &
|
||||
# 2170| [CopyConstructor] void Bool::Bool(Bool const&)
|
||||
# 2170| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool &
|
||||
# 2172| [Constructor] void Bool::Bool(bool)
|
||||
# 2172| <params>:
|
||||
# 2172| getParameter(0): [Parameter] b_
|
||||
# 2172| Type = [BoolType] bool
|
||||
# 2173| [ConversionOperator] bool Bool::operator bool()
|
||||
# 2173| <params>:
|
||||
# 2174| [Destructor] void Bool::~Bool()
|
||||
# 2167| getVariable().getInitializer(): [Initializer] initializer for s
|
||||
# 2167| getExpr(): [ConstructorCall] call to String
|
||||
# 2167| Type = [VoidType] void
|
||||
# 2167| ValueCategory = prvalue
|
||||
# 2167| getArgument(0): hello
|
||||
# 2167| Type = [ArrayType] const char[6]
|
||||
# 2167| Value = [StringLiteral] "hello"
|
||||
# 2167| ValueCategory = lvalue
|
||||
# 2167| getArgument(0).getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
|
||||
# 2167| Type = [PointerType] const char *
|
||||
# 2167| ValueCategory = prvalue
|
||||
# 2167| getCondition(): [VariableAccess] b
|
||||
# 2167| Type = [BoolType] bool
|
||||
# 2167| ValueCategory = prvalue(load)
|
||||
# 2167| getThen(): [BlockStmt] { ... }
|
||||
# 2168| getStmt(0): [DeclStmt] declaration
|
||||
# 2168| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
|
||||
# 2168| Type = [IntType] int
|
||||
# 2168| getVariable().getInitializer(): [Initializer] initializer for x
|
||||
# 2168| getExpr(): [Literal] 0
|
||||
# 2168| Type = [IntType] int
|
||||
# 2168| Value = [Literal] 0
|
||||
# 2168| ValueCategory = prvalue
|
||||
# 2169| getElse(): [BlockStmt] { ... }
|
||||
# 2170| getStmt(0): [DeclStmt] declaration
|
||||
# 2170| getDeclarationEntry(0): [VariableDeclarationEntry] definition of y
|
||||
# 2170| Type = [IntType] int
|
||||
# 2170| getVariable().getInitializer(): [Initializer] initializer for y
|
||||
# 2170| getExpr(): [Literal] 0
|
||||
# 2170| Type = [IntType] int
|
||||
# 2170| Value = [Literal] 0
|
||||
# 2170| ValueCategory = prvalue
|
||||
# 2171| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2171| Type = [VoidType] void
|
||||
# 2171| ValueCategory = prvalue
|
||||
# 2171| getQualifier(): [VariableAccess] s
|
||||
# 2171| Type = [Struct] String
|
||||
# 2171| ValueCategory = lvalue
|
||||
# 2172| getStmt(1): [ReturnStmt] return ...
|
||||
# 2174| [CopyAssignmentOperator] Bool& Bool::operator=(Bool const&)
|
||||
# 2174| <params>:
|
||||
# 2177| [TopLevelFunction] void IfDestructors3(bool)
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool &
|
||||
# 2174| [CopyConstructor] void Bool::Bool(Bool const&)
|
||||
# 2174| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool &
|
||||
# 2176| [Constructor] void Bool::Bool(bool)
|
||||
# 2176| <params>:
|
||||
# 2176| getParameter(0): [Parameter] b_
|
||||
# 2176| Type = [BoolType] bool
|
||||
# 2177| [ConversionOperator] bool Bool::operator bool()
|
||||
# 2177| <params>:
|
||||
# 2177| getParameter(0): [Parameter] b
|
||||
# 2177| Type = [BoolType] bool
|
||||
# 2177| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2178| getStmt(0): [IfStmt] if (...) ...
|
||||
# 2178| getCondition(): [ConditionDeclExpr] (condition decl)
|
||||
# 2178| Type = [BoolType] bool
|
||||
# 2178| ValueCategory = prvalue
|
||||
# 2178| getChild(0): [FunctionCall] call to operator bool
|
||||
# 2178| Type = [BoolType] bool
|
||||
# 2178| ValueCategory = prvalue
|
||||
# 2178| getQualifier(): [VariableAccess] B
|
||||
# 2178| Type = [Class] Bool
|
||||
# 2178| ValueCategory = prvalue(load)
|
||||
# 2178| getThen(): [BlockStmt] { ... }
|
||||
# 2179| getStmt(0): [DeclStmt] declaration
|
||||
# 2179| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1
|
||||
# 2179| Type = [Struct] String
|
||||
# 2179| getVariable().getInitializer(): [Initializer] initializer for s1
|
||||
# 2179| getExpr(): [ConstructorCall] call to String
|
||||
# 2179| Type = [VoidType] void
|
||||
# 2179| ValueCategory = prvalue
|
||||
# 2180| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2180| Type = [VoidType] void
|
||||
# 2180| ValueCategory = prvalue
|
||||
# 2180| getQualifier(): [VariableAccess] s1
|
||||
# 2180| Type = [Struct] String
|
||||
# 2180| ValueCategory = lvalue
|
||||
# 2180| getElse(): [BlockStmt] { ... }
|
||||
# 2181| getStmt(0): [DeclStmt] declaration
|
||||
# 2181| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2
|
||||
# 2181| Type = [Struct] String
|
||||
# 2181| getVariable().getInitializer(): [Initializer] initializer for s2
|
||||
# 2181| getExpr(): [ConstructorCall] call to String
|
||||
# 2181| Type = [VoidType] void
|
||||
# 2181| ValueCategory = prvalue
|
||||
# 2182| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2182| Type = [VoidType] void
|
||||
# 2182| ValueCategory = prvalue
|
||||
# 2182| getQualifier(): [VariableAccess] s2
|
||||
# 2182| Type = [Struct] String
|
||||
# 2182| ValueCategory = lvalue
|
||||
# 2182| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool
|
||||
# 2182| Type = [VoidType] void
|
||||
# 2178| [Destructor] void Bool::~Bool()
|
||||
# 2178| <params>:
|
||||
# 2181| [TopLevelFunction] void IfDestructors3(bool)
|
||||
# 2181| <params>:
|
||||
# 2181| getParameter(0): [Parameter] b
|
||||
# 2181| Type = [BoolType] bool
|
||||
# 2181| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2182| getStmt(0): [IfStmt] if (...) ...
|
||||
# 2182| getCondition(): [ConditionDeclExpr] (condition decl)
|
||||
# 2182| Type = [BoolType] bool
|
||||
# 2182| ValueCategory = prvalue
|
||||
# 2182| getQualifier(): [VariableAccess] B
|
||||
# 2182| Type = [Class] Bool
|
||||
# 2182| ValueCategory = lvalue
|
||||
# 2183| getStmt(1): [ReturnStmt] return ...
|
||||
# 2186| [CopyAssignmentOperator] Bool2& Bool2::operator=(Bool2 const&)
|
||||
# 2186| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool2 &
|
||||
# 2186| [CopyConstructor] void Bool2::Bool2(Bool2 const&)
|
||||
# 2186| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool2 &
|
||||
# 2188| [Constructor] void Bool2::Bool2(bool)
|
||||
# 2188| <params>:
|
||||
# 2188| getParameter(0): [Parameter] b_
|
||||
# 2188| Type = [BoolType] bool
|
||||
# 2189| [ConversionOperator] bool Bool2::operator bool()
|
||||
# 2189| <params>:
|
||||
# 2190| [Destructor] void Bool2::~Bool2()
|
||||
# 2182| getChild(0): [FunctionCall] call to operator bool
|
||||
# 2182| Type = [BoolType] bool
|
||||
# 2182| ValueCategory = prvalue
|
||||
# 2182| getQualifier(): [VariableAccess] B
|
||||
# 2182| Type = [Class] Bool
|
||||
# 2182| ValueCategory = prvalue(load)
|
||||
# 2182| getThen(): [BlockStmt] { ... }
|
||||
# 2183| getStmt(0): [DeclStmt] declaration
|
||||
# 2183| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s1
|
||||
# 2183| Type = [Struct] String
|
||||
# 2183| getVariable().getInitializer(): [Initializer] initializer for s1
|
||||
# 2183| getExpr(): [ConstructorCall] call to String
|
||||
# 2183| Type = [VoidType] void
|
||||
# 2183| ValueCategory = prvalue
|
||||
# 2184| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2184| Type = [VoidType] void
|
||||
# 2184| ValueCategory = prvalue
|
||||
# 2184| getQualifier(): [VariableAccess] s1
|
||||
# 2184| Type = [Struct] String
|
||||
# 2184| ValueCategory = lvalue
|
||||
# 2184| getElse(): [BlockStmt] { ... }
|
||||
# 2185| getStmt(0): [DeclStmt] declaration
|
||||
# 2185| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s2
|
||||
# 2185| Type = [Struct] String
|
||||
# 2185| getVariable().getInitializer(): [Initializer] initializer for s2
|
||||
# 2185| getExpr(): [ConstructorCall] call to String
|
||||
# 2185| Type = [VoidType] void
|
||||
# 2185| ValueCategory = prvalue
|
||||
# 2186| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2186| Type = [VoidType] void
|
||||
# 2186| ValueCategory = prvalue
|
||||
# 2186| getQualifier(): [VariableAccess] s2
|
||||
# 2186| Type = [Struct] String
|
||||
# 2186| ValueCategory = lvalue
|
||||
# 2186| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool
|
||||
# 2186| Type = [VoidType] void
|
||||
# 2186| ValueCategory = prvalue
|
||||
# 2186| getQualifier(): [VariableAccess] B
|
||||
# 2186| Type = [Class] Bool
|
||||
# 2186| ValueCategory = lvalue
|
||||
# 2187| getStmt(1): [ReturnStmt] return ...
|
||||
# 2190| [CopyAssignmentOperator] Bool2& Bool2::operator=(Bool2 const&)
|
||||
# 2190| <params>:
|
||||
# 2193| [TopLevelFunction] void WhileLoopDestructors(bool)
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool2 &
|
||||
# 2190| [CopyConstructor] void Bool2::Bool2(Bool2 const&)
|
||||
# 2190| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const Bool2 &
|
||||
# 2192| [Constructor] void Bool2::Bool2(bool)
|
||||
# 2192| <params>:
|
||||
# 2192| getParameter(0): [Parameter] b_
|
||||
# 2192| Type = [BoolType] bool
|
||||
# 2193| [ConversionOperator] bool Bool2::operator bool()
|
||||
# 2193| <params>:
|
||||
# 2193| getParameter(0): [Parameter] b
|
||||
# 2193| Type = [BoolType] bool
|
||||
# 2193| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2194| getStmt(0): [BlockStmt] { ... }
|
||||
# 2195| getStmt(0): [DeclStmt] declaration
|
||||
# 2195| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s
|
||||
# 2195| Type = [Struct] String
|
||||
# 2195| getVariable().getInitializer(): [Initializer] initializer for s
|
||||
# 2195| getExpr(): [ConstructorCall] call to String
|
||||
# 2195| Type = [VoidType] void
|
||||
# 2195| ValueCategory = prvalue
|
||||
# 2196| getStmt(1): [WhileStmt] while (...) ...
|
||||
# 2196| getCondition(): [VariableAccess] b
|
||||
# 2196| Type = [BoolType] bool
|
||||
# 2196| ValueCategory = prvalue(load)
|
||||
# 2196| getStmt(): [BlockStmt] { ... }
|
||||
# 2197| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2197| getExpr(): [AssignExpr] ... = ...
|
||||
# 2197| Type = [BoolType] bool
|
||||
# 2197| ValueCategory = lvalue
|
||||
# 2197| getLValue(): [VariableAccess] b
|
||||
# 2197| Type = [BoolType] bool
|
||||
# 2197| ValueCategory = lvalue
|
||||
# 2197| getRValue(): [Literal] 0
|
||||
# 2197| Type = [BoolType] bool
|
||||
# 2197| Value = [Literal] 0
|
||||
# 2197| ValueCategory = prvalue
|
||||
# 2199| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2199| Type = [VoidType] void
|
||||
# 2199| ValueCategory = prvalue
|
||||
# 2199| getQualifier(): [VariableAccess] s
|
||||
# 2194| [Destructor] void Bool2::~Bool2()
|
||||
# 2194| <params>:
|
||||
# 2197| [TopLevelFunction] void WhileLoopDestructors(bool)
|
||||
# 2197| <params>:
|
||||
# 2197| getParameter(0): [Parameter] b
|
||||
# 2197| Type = [BoolType] bool
|
||||
# 2197| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2198| getStmt(0): [BlockStmt] { ... }
|
||||
# 2199| getStmt(0): [DeclStmt] declaration
|
||||
# 2199| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s
|
||||
# 2199| Type = [Struct] String
|
||||
# 2199| ValueCategory = lvalue
|
||||
# 2201| getStmt(1): [BlockStmt] { ... }
|
||||
# 2202| getStmt(0): [WhileStmt] while (...) ...
|
||||
# 2202| getCondition(): [ConditionDeclExpr] (condition decl)
|
||||
# 2202| Type = [BoolType] bool
|
||||
# 2202| ValueCategory = prvalue
|
||||
# 2202| getChild(0): [FunctionCall] call to operator bool
|
||||
# 2202| Type = [BoolType] bool
|
||||
# 2202| ValueCategory = prvalue
|
||||
# 2202| getQualifier(): [VariableAccess] B
|
||||
# 2202| Type = [Class] Bool
|
||||
# 2202| ValueCategory = prvalue(load)
|
||||
# 2202| getStmt(): [BlockStmt] { ... }
|
||||
# 2203| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2203| getExpr(): [AssignExpr] ... = ...
|
||||
# 2203| Type = [BoolType] bool
|
||||
# 2203| ValueCategory = lvalue
|
||||
# 2203| getLValue(): [VariableAccess] b
|
||||
# 2203| Type = [BoolType] bool
|
||||
# 2203| ValueCategory = lvalue
|
||||
# 2203| getRValue(): [Literal] 0
|
||||
# 2203| Type = [BoolType] bool
|
||||
# 2203| Value = [Literal] 0
|
||||
# 2203| ValueCategory = prvalue
|
||||
# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool
|
||||
# 2204| Type = [VoidType] void
|
||||
# 2204| ValueCategory = prvalue
|
||||
# 2204| getQualifier(): [VariableAccess] B
|
||||
# 2204| Type = [Class] Bool
|
||||
# 2204| ValueCategory = lvalue
|
||||
# 2204| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool
|
||||
# 2204| Type = [VoidType] void
|
||||
# 2204| ValueCategory = prvalue
|
||||
# 2204| getQualifier(): [VariableAccess] B
|
||||
# 2204| Type = [Class] Bool
|
||||
# 2204| ValueCategory = lvalue
|
||||
# 2206| getStmt(2): [ReturnStmt] return ...
|
||||
# 2199| getVariable().getInitializer(): [Initializer] initializer for s
|
||||
# 2199| getExpr(): [ConstructorCall] call to String
|
||||
# 2199| Type = [VoidType] void
|
||||
# 2199| ValueCategory = prvalue
|
||||
# 2200| getStmt(1): [WhileStmt] while (...) ...
|
||||
# 2200| getCondition(): [VariableAccess] b
|
||||
# 2200| Type = [BoolType] bool
|
||||
# 2200| ValueCategory = prvalue(load)
|
||||
# 2200| getStmt(): [BlockStmt] { ... }
|
||||
# 2201| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2201| getExpr(): [AssignExpr] ... = ...
|
||||
# 2201| Type = [BoolType] bool
|
||||
# 2201| ValueCategory = lvalue
|
||||
# 2201| getLValue(): [VariableAccess] b
|
||||
# 2201| Type = [BoolType] bool
|
||||
# 2201| ValueCategory = lvalue
|
||||
# 2201| getRValue(): [Literal] 0
|
||||
# 2201| Type = [BoolType] bool
|
||||
# 2201| Value = [Literal] 0
|
||||
# 2201| ValueCategory = prvalue
|
||||
# 2203| getImplicitDestructorCall(0): [DestructorCall] call to ~String
|
||||
# 2203| Type = [VoidType] void
|
||||
# 2203| ValueCategory = prvalue
|
||||
# 2203| getQualifier(): [VariableAccess] s
|
||||
# 2203| Type = [Struct] String
|
||||
# 2203| ValueCategory = lvalue
|
||||
# 2205| getStmt(1): [BlockStmt] { ... }
|
||||
# 2206| getStmt(0): [WhileStmt] while (...) ...
|
||||
# 2206| getCondition(): [ConditionDeclExpr] (condition decl)
|
||||
# 2206| Type = [BoolType] bool
|
||||
# 2206| ValueCategory = prvalue
|
||||
# 2206| getChild(0): [FunctionCall] call to operator bool
|
||||
# 2206| Type = [BoolType] bool
|
||||
# 2206| ValueCategory = prvalue
|
||||
# 2206| getQualifier(): [VariableAccess] B
|
||||
# 2206| Type = [Class] Bool
|
||||
# 2206| ValueCategory = prvalue(load)
|
||||
# 2206| getStmt(): [BlockStmt] { ... }
|
||||
# 2207| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2207| getExpr(): [AssignExpr] ... = ...
|
||||
# 2207| Type = [BoolType] bool
|
||||
# 2207| ValueCategory = lvalue
|
||||
# 2207| getLValue(): [VariableAccess] b
|
||||
# 2207| Type = [BoolType] bool
|
||||
# 2207| ValueCategory = lvalue
|
||||
# 2207| getRValue(): [Literal] 0
|
||||
# 2207| Type = [BoolType] bool
|
||||
# 2207| Value = [Literal] 0
|
||||
# 2207| ValueCategory = prvalue
|
||||
# 2208| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool
|
||||
# 2208| Type = [VoidType] void
|
||||
# 2208| ValueCategory = prvalue
|
||||
# 2208| getQualifier(): [VariableAccess] B
|
||||
# 2208| Type = [Class] Bool
|
||||
# 2208| ValueCategory = lvalue
|
||||
# 2208| getImplicitDestructorCall(0): [DestructorCall] call to ~Bool
|
||||
# 2208| Type = [VoidType] void
|
||||
# 2208| ValueCategory = prvalue
|
||||
# 2208| getQualifier(): [VariableAccess] B
|
||||
# 2208| Type = [Class] Bool
|
||||
# 2208| ValueCategory = lvalue
|
||||
# 2210| getStmt(2): [ReturnStmt] return ...
|
||||
perf-regression.cpp:
|
||||
# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
|
||||
# 4| <params>:
|
||||
|
||||
@@ -13022,243 +13022,301 @@ ir.cpp:
|
||||
# 2157| r2157_75(glval<iterator>) = CopyValue : r2157_69
|
||||
#-----| Goto (back edge) -> Block 4
|
||||
|
||||
# 2160| Block 6
|
||||
# 2160| v2160_1(void) = NoOp :
|
||||
# 2151| v2151_5(void) = ReturnVoid :
|
||||
# 2151| v2151_6(void) = AliasedUse : ~m2157_48
|
||||
# 2151| v2151_7(void) = ExitFunction :
|
||||
# 2161| Block 6
|
||||
# 2161| r2161_1(glval<String>) = VariableAddress[s] :
|
||||
# 2161| m2161_2(String) = Uninitialized[s] : &:r2161_1
|
||||
# 2161| r2161_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2161| r2161_4(glval<char[6]>) = StringConstant["hello"] :
|
||||
# 2161| r2161_5(char *) = Convert : r2161_4
|
||||
# 2161| v2161_6(void) = Call[String] : func:r2161_3, this:r2161_1, 0:r2161_5
|
||||
# 2161| m2161_7(unknown) = ^CallSideEffect : ~m2157_48
|
||||
# 2161| m2161_8(unknown) = Chi : total:m2157_48, partial:m2161_7
|
||||
# 2161| v2161_9(void) = ^BufferReadSideEffect[0] : &:r2161_5, ~m2151_3
|
||||
# 2161| m2161_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_1
|
||||
# 2161| m2161_11(String) = Chi : total:m2161_2, partial:m2161_10
|
||||
# 2161| r2161_12(glval<String>) = VariableAddress[s2] :
|
||||
# 2161| m2161_13(String) = Uninitialized[s2] : &:r2161_12
|
||||
# 2161| r2161_14(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2161| r2161_15(glval<char[6]>) = StringConstant["world"] :
|
||||
# 2161| r2161_16(char *) = Convert : r2161_15
|
||||
# 2161| v2161_17(void) = Call[String] : func:r2161_14, this:r2161_12, 0:r2161_16
|
||||
# 2161| m2161_18(unknown) = ^CallSideEffect : ~m2161_8
|
||||
# 2161| m2161_19(unknown) = Chi : total:m2161_8, partial:m2161_18
|
||||
# 2161| v2161_20(void) = ^BufferReadSideEffect[0] : &:r2161_16, ~m2151_3
|
||||
# 2161| m2161_21(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_12
|
||||
# 2161| m2161_22(String) = Chi : total:m2161_13, partial:m2161_21
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2162| void IfDestructors2(bool)
|
||||
# 2162| Block 0
|
||||
# 2162| v2162_1(void) = EnterFunction :
|
||||
# 2162| m2162_2(unknown) = AliasedDefinition :
|
||||
# 2162| m2162_3(unknown) = InitializeNonLocal :
|
||||
# 2162| m2162_4(unknown) = Chi : total:m2162_2, partial:m2162_3
|
||||
# 2162| r2162_5(glval<bool>) = VariableAddress[b] :
|
||||
# 2162| m2162_6(bool) = InitializeParameter[b] : &:r2162_5
|
||||
# 2163| r2163_1(glval<String>) = VariableAddress[s] :
|
||||
# 2163| m2163_2(String) = Uninitialized[s] : &:r2163_1
|
||||
# 2163| r2163_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2163| r2163_4(glval<char[6]>) = StringConstant["hello"] :
|
||||
# 2163| r2163_5(char *) = Convert : r2163_4
|
||||
# 2163| v2163_6(void) = Call[String] : func:r2163_3, this:r2163_1, 0:r2163_5
|
||||
# 2163| m2163_7(unknown) = ^CallSideEffect : ~m2162_4
|
||||
# 2163| m2163_8(unknown) = Chi : total:m2162_4, partial:m2163_7
|
||||
# 2163| v2163_9(void) = ^BufferReadSideEffect[0] : &:r2163_5, ~m2162_3
|
||||
# 2163| m2163_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2163_1
|
||||
# 2163| m2163_11(String) = Chi : total:m2163_2, partial:m2163_10
|
||||
# 2163| r2163_12(glval<bool>) = VariableAddress[b] :
|
||||
# 2163| r2163_13(bool) = Load[b] : &:r2163_12, m2162_6
|
||||
# 2163| v2163_14(void) = ConditionalBranch : r2163_13
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
# 2161| Block 7
|
||||
# 2161| m2161_23(String) = Phi : from 6:m2161_11, from 8:m2161_39
|
||||
# 2161| m2161_24(unknown) = Phi : from 6:~m2161_19, from 8:~m2161_36
|
||||
# 2161| m2161_25(char) = Phi : from 6:m2153_14, from 8:m2161_41
|
||||
# 2161| r2161_26(glval<char>) = VariableAddress[c] :
|
||||
# 2161| r2161_27(char) = Load[c] : &:r2161_26, m2161_25
|
||||
# 2161| r2161_28(int) = Convert : r2161_27
|
||||
# 2161| r2161_29(int) = Constant[0] :
|
||||
# 2161| r2161_30(bool) = CompareNE : r2161_28, r2161_29
|
||||
# 2161| v2161_31(void) = ConditionalBranch : r2161_30
|
||||
#-----| False -> Block 9
|
||||
#-----| True -> Block 8
|
||||
|
||||
# 2164| Block 1
|
||||
# 2164| r2164_1(glval<int>) = VariableAddress[x] :
|
||||
# 2164| r2164_2(int) = Constant[0] :
|
||||
# 2164| m2164_3(int) = Store[x] : &:r2164_1, r2164_2
|
||||
#-----| Goto -> Block 3
|
||||
# 2162| Block 8
|
||||
# 2162| r2162_1(char) = Constant[0] :
|
||||
# 2162| r2162_2(glval<char>) = VariableAddress[c] :
|
||||
# 2162| m2162_3(char) = Store[c] : &:r2162_2, r2162_1
|
||||
# 2161| r2161_32(glval<String>) = VariableAddress[s] :
|
||||
# 2161| r2161_33(glval<unknown>) = FunctionAddress[pop_back] :
|
||||
# 2161| r2161_34(char) = Call[pop_back] : func:r2161_33, this:r2161_32
|
||||
# 2161| m2161_35(unknown) = ^CallSideEffect : ~m2161_24
|
||||
# 2161| m2161_36(unknown) = Chi : total:m2161_24, partial:m2161_35
|
||||
# 2161| v2161_37(void) = ^IndirectReadSideEffect[-1] : &:r2161_32, m2161_23
|
||||
# 2161| m2161_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_32
|
||||
# 2161| m2161_39(String) = Chi : total:m2161_23, partial:m2161_38
|
||||
# 2161| r2161_40(glval<char>) = VariableAddress[c] :
|
||||
# 2161| m2161_41(char) = Store[c] : &:r2161_40, r2161_34
|
||||
#-----| Goto (back edge) -> Block 7
|
||||
|
||||
# 2166| Block 2
|
||||
# 2166| r2166_1(glval<int>) = VariableAddress[y] :
|
||||
# 2166| r2166_2(int) = Constant[0] :
|
||||
# 2166| m2166_3(int) = Store[y] : &:r2166_1, r2166_2
|
||||
#-----| Goto -> Block 3
|
||||
# 2161| Block 9
|
||||
# 2161| r2161_42(glval<String>) = VariableAddress[s2] :
|
||||
# 2161| r2161_43(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2161| v2161_44(void) = Call[~String] : func:r2161_43, this:r2161_42
|
||||
# 2161| m2161_45(unknown) = ^CallSideEffect : ~m2161_24
|
||||
# 2161| m2161_46(unknown) = Chi : total:m2161_24, partial:m2161_45
|
||||
# 2161| v2161_47(void) = ^IndirectReadSideEffect[-1] : &:r2161_42, m2161_22
|
||||
# 2161| m2161_48(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_42
|
||||
# 2161| m2161_49(String) = Chi : total:m2161_22, partial:m2161_48
|
||||
|
||||
# 2167| Block 3
|
||||
# 2166| void IfDestructors2(bool)
|
||||
# 2166| Block 0
|
||||
# 2166| v2166_1(void) = EnterFunction :
|
||||
# 2166| m2166_2(unknown) = AliasedDefinition :
|
||||
# 2166| m2166_3(unknown) = InitializeNonLocal :
|
||||
# 2166| m2166_4(unknown) = Chi : total:m2166_2, partial:m2166_3
|
||||
# 2166| r2166_5(glval<bool>) = VariableAddress[b] :
|
||||
# 2166| m2166_6(bool) = InitializeParameter[b] : &:r2166_5
|
||||
# 2167| r2167_1(glval<String>) = VariableAddress[s] :
|
||||
# 2167| r2167_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2167| v2167_3(void) = Call[~String] : func:r2167_2, this:r2167_1
|
||||
# 2167| m2167_4(unknown) = ^CallSideEffect : ~m2163_8
|
||||
# 2167| m2167_5(unknown) = Chi : total:m2163_8, partial:m2167_4
|
||||
# 2167| v2167_6(void) = ^IndirectReadSideEffect[-1] : &:r2167_1, m2163_11
|
||||
# 2167| m2167_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2167_1
|
||||
# 2167| m2167_8(String) = Chi : total:m2163_11, partial:m2167_7
|
||||
# 2168| v2168_1(void) = NoOp :
|
||||
# 2162| v2162_7(void) = ReturnVoid :
|
||||
# 2162| v2162_8(void) = AliasedUse : ~m2167_5
|
||||
# 2162| v2162_9(void) = ExitFunction :
|
||||
|
||||
# 2177| void IfDestructors3(bool)
|
||||
# 2177| Block 0
|
||||
# 2177| v2177_1(void) = EnterFunction :
|
||||
# 2177| m2177_2(unknown) = AliasedDefinition :
|
||||
# 2177| m2177_3(unknown) = InitializeNonLocal :
|
||||
# 2177| m2177_4(unknown) = Chi : total:m2177_2, partial:m2177_3
|
||||
# 2177| r2177_5(glval<bool>) = VariableAddress[b] :
|
||||
# 2177| m2177_6(bool) = InitializeParameter[b] : &:r2177_5
|
||||
# 2178| r2178_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2178| m2178_2(Bool) = Uninitialized[B] : &:r2178_1
|
||||
# 2178| r2178_3(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2178| r2178_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2178| r2178_5(bool) = Load[b] : &:r2178_4, m2177_6
|
||||
# 2178| v2178_6(void) = Call[Bool] : func:r2178_3, this:r2178_1, 0:r2178_5
|
||||
# 2178| m2178_7(unknown) = ^CallSideEffect : ~m2177_4
|
||||
# 2178| m2178_8(unknown) = Chi : total:m2177_4, partial:m2178_7
|
||||
# 2178| m2178_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2178_1
|
||||
# 2178| m2178_10(Bool) = Chi : total:m2178_2, partial:m2178_9
|
||||
# 2178| r2178_11(glval<Bool>) = VariableAddress[B] :
|
||||
# 2178| r2178_12(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2178| r2178_13(bool) = Call[operator bool] : func:r2178_12, this:r2178_11
|
||||
# 2178| m2178_14(unknown) = ^CallSideEffect : ~m2178_8
|
||||
# 2178| m2178_15(unknown) = Chi : total:m2178_8, partial:m2178_14
|
||||
# 2178| v2178_16(void) = ^IndirectReadSideEffect[-1] : &:r2178_11, m2178_10
|
||||
# 2178| m2178_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2178_11
|
||||
# 2178| m2178_18(Bool) = Chi : total:m2178_10, partial:m2178_17
|
||||
# 2178| r2178_19(bool) = CopyValue : r2178_13
|
||||
# 2178| v2178_20(void) = ConditionalBranch : r2178_19
|
||||
# 2167| m2167_2(String) = Uninitialized[s] : &:r2167_1
|
||||
# 2167| r2167_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2167| r2167_4(glval<char[6]>) = StringConstant["hello"] :
|
||||
# 2167| r2167_5(char *) = Convert : r2167_4
|
||||
# 2167| v2167_6(void) = Call[String] : func:r2167_3, this:r2167_1, 0:r2167_5
|
||||
# 2167| m2167_7(unknown) = ^CallSideEffect : ~m2166_4
|
||||
# 2167| m2167_8(unknown) = Chi : total:m2166_4, partial:m2167_7
|
||||
# 2167| v2167_9(void) = ^BufferReadSideEffect[0] : &:r2167_5, ~m2166_3
|
||||
# 2167| m2167_10(String) = ^IndirectMayWriteSideEffect[-1] : &:r2167_1
|
||||
# 2167| m2167_11(String) = Chi : total:m2167_2, partial:m2167_10
|
||||
# 2167| r2167_12(glval<bool>) = VariableAddress[b] :
|
||||
# 2167| r2167_13(bool) = Load[b] : &:r2167_12, m2166_6
|
||||
# 2167| v2167_14(void) = ConditionalBranch : r2167_13
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 2179| Block 1
|
||||
# 2179| r2179_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2179| m2179_2(String) = Uninitialized[s1] : &:r2179_1
|
||||
# 2179| r2179_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2179| v2179_4(void) = Call[String] : func:r2179_3, this:r2179_1
|
||||
# 2179| m2179_5(unknown) = ^CallSideEffect : ~m2178_15
|
||||
# 2179| m2179_6(unknown) = Chi : total:m2178_15, partial:m2179_5
|
||||
# 2179| m2179_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2179_1
|
||||
# 2179| m2179_8(String) = Chi : total:m2179_2, partial:m2179_7
|
||||
# 2180| r2180_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2180| r2180_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2180| v2180_3(void) = Call[~String] : func:r2180_2, this:r2180_1
|
||||
# 2180| m2180_4(unknown) = ^CallSideEffect : ~m2179_6
|
||||
# 2180| m2180_5(unknown) = Chi : total:m2179_6, partial:m2180_4
|
||||
# 2180| v2180_6(void) = ^IndirectReadSideEffect[-1] : &:r2180_1, m2179_8
|
||||
# 2180| m2180_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2180_1
|
||||
# 2180| m2180_8(String) = Chi : total:m2179_8, partial:m2180_7
|
||||
# 2168| Block 1
|
||||
# 2168| r2168_1(glval<int>) = VariableAddress[x] :
|
||||
# 2168| r2168_2(int) = Constant[0] :
|
||||
# 2168| m2168_3(int) = Store[x] : &:r2168_1, r2168_2
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2181| Block 2
|
||||
# 2181| r2181_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2181| m2181_2(String) = Uninitialized[s2] : &:r2181_1
|
||||
# 2181| r2181_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2181| v2181_4(void) = Call[String] : func:r2181_3, this:r2181_1
|
||||
# 2181| m2181_5(unknown) = ^CallSideEffect : ~m2178_15
|
||||
# 2181| m2181_6(unknown) = Chi : total:m2178_15, partial:m2181_5
|
||||
# 2181| m2181_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2181_1
|
||||
# 2181| m2181_8(String) = Chi : total:m2181_2, partial:m2181_7
|
||||
# 2182| r2182_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2182| r2182_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2182| v2182_3(void) = Call[~String] : func:r2182_2, this:r2182_1
|
||||
# 2182| m2182_4(unknown) = ^CallSideEffect : ~m2181_6
|
||||
# 2182| m2182_5(unknown) = Chi : total:m2181_6, partial:m2182_4
|
||||
# 2182| v2182_6(void) = ^IndirectReadSideEffect[-1] : &:r2182_1, m2181_8
|
||||
# 2182| m2182_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2182_1
|
||||
# 2182| m2182_8(String) = Chi : total:m2181_8, partial:m2182_7
|
||||
# 2170| Block 2
|
||||
# 2170| r2170_1(glval<int>) = VariableAddress[y] :
|
||||
# 2170| r2170_2(int) = Constant[0] :
|
||||
# 2170| m2170_3(int) = Store[y] : &:r2170_1, r2170_2
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2182| Block 3
|
||||
# 2182| m2182_9(unknown) = Phi : from 1:~m2180_5, from 2:~m2182_5
|
||||
# 2182| r2182_10(glval<Bool>) = VariableAddress[B] :
|
||||
# 2182| r2182_11(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2182| v2182_12(void) = Call[~Bool] : func:r2182_11, this:r2182_10
|
||||
# 2182| m2182_13(unknown) = ^CallSideEffect : ~m2182_9
|
||||
# 2182| m2182_14(unknown) = Chi : total:m2182_9, partial:m2182_13
|
||||
# 2182| v2182_15(void) = ^IndirectReadSideEffect[-1] : &:r2182_10, m2178_18
|
||||
# 2182| m2182_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2182_10
|
||||
# 2182| m2182_17(Bool) = Chi : total:m2178_18, partial:m2182_16
|
||||
# 2183| v2183_1(void) = NoOp :
|
||||
# 2177| v2177_7(void) = ReturnVoid :
|
||||
# 2177| v2177_8(void) = AliasedUse : ~m2182_14
|
||||
# 2177| v2177_9(void) = ExitFunction :
|
||||
# 2171| Block 3
|
||||
# 2171| r2171_1(glval<String>) = VariableAddress[s] :
|
||||
# 2171| r2171_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2171| v2171_3(void) = Call[~String] : func:r2171_2, this:r2171_1
|
||||
# 2171| m2171_4(unknown) = ^CallSideEffect : ~m2167_8
|
||||
# 2171| m2171_5(unknown) = Chi : total:m2167_8, partial:m2171_4
|
||||
# 2171| v2171_6(void) = ^IndirectReadSideEffect[-1] : &:r2171_1, m2167_11
|
||||
# 2171| m2171_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2171_1
|
||||
# 2171| m2171_8(String) = Chi : total:m2167_11, partial:m2171_7
|
||||
# 2172| v2172_1(void) = NoOp :
|
||||
# 2166| v2166_7(void) = ReturnVoid :
|
||||
# 2166| v2166_8(void) = AliasedUse : ~m2171_5
|
||||
# 2166| v2166_9(void) = ExitFunction :
|
||||
|
||||
# 2193| void WhileLoopDestructors(bool)
|
||||
# 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<bool>) = VariableAddress[b] :
|
||||
# 2193| m2193_6(bool) = InitializeParameter[b] : &:r2193_5
|
||||
# 2195| r2195_1(glval<String>) = VariableAddress[s] :
|
||||
# 2195| m2195_2(String) = Uninitialized[s] : &:r2195_1
|
||||
# 2195| r2195_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2195| v2195_4(void) = Call[String] : func:r2195_3, this:r2195_1
|
||||
# 2195| m2195_5(unknown) = ^CallSideEffect : ~m2193_4
|
||||
# 2195| m2195_6(unknown) = Chi : total:m2193_4, partial:m2195_5
|
||||
# 2195| m2195_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2195_1
|
||||
# 2195| m2195_8(String) = Chi : total:m2195_2, partial:m2195_7
|
||||
# 2181| void IfDestructors3(bool)
|
||||
# 2181| Block 0
|
||||
# 2181| v2181_1(void) = EnterFunction :
|
||||
# 2181| m2181_2(unknown) = AliasedDefinition :
|
||||
# 2181| m2181_3(unknown) = InitializeNonLocal :
|
||||
# 2181| m2181_4(unknown) = Chi : total:m2181_2, partial:m2181_3
|
||||
# 2181| r2181_5(glval<bool>) = VariableAddress[b] :
|
||||
# 2181| m2181_6(bool) = InitializeParameter[b] : &:r2181_5
|
||||
# 2182| r2182_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2182| m2182_2(Bool) = Uninitialized[B] : &:r2182_1
|
||||
# 2182| r2182_3(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2182| r2182_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2182| r2182_5(bool) = Load[b] : &:r2182_4, m2181_6
|
||||
# 2182| v2182_6(void) = Call[Bool] : func:r2182_3, this:r2182_1, 0:r2182_5
|
||||
# 2182| m2182_7(unknown) = ^CallSideEffect : ~m2181_4
|
||||
# 2182| m2182_8(unknown) = Chi : total:m2181_4, partial:m2182_7
|
||||
# 2182| m2182_9(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2182_1
|
||||
# 2182| m2182_10(Bool) = Chi : total:m2182_2, partial:m2182_9
|
||||
# 2182| r2182_11(glval<Bool>) = VariableAddress[B] :
|
||||
# 2182| r2182_12(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2182| r2182_13(bool) = Call[operator bool] : func:r2182_12, this:r2182_11
|
||||
# 2182| m2182_14(unknown) = ^CallSideEffect : ~m2182_8
|
||||
# 2182| m2182_15(unknown) = Chi : total:m2182_8, partial:m2182_14
|
||||
# 2182| v2182_16(void) = ^IndirectReadSideEffect[-1] : &:r2182_11, m2182_10
|
||||
# 2182| m2182_17(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2182_11
|
||||
# 2182| m2182_18(Bool) = Chi : total:m2182_10, partial:m2182_17
|
||||
# 2182| r2182_19(bool) = CopyValue : r2182_13
|
||||
# 2182| v2182_20(void) = ConditionalBranch : r2182_19
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 2183| Block 1
|
||||
# 2183| r2183_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2183| m2183_2(String) = Uninitialized[s1] : &:r2183_1
|
||||
# 2183| r2183_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2183| v2183_4(void) = Call[String] : func:r2183_3, this:r2183_1
|
||||
# 2183| m2183_5(unknown) = ^CallSideEffect : ~m2182_15
|
||||
# 2183| m2183_6(unknown) = Chi : total:m2182_15, partial:m2183_5
|
||||
# 2183| m2183_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2183_1
|
||||
# 2183| m2183_8(String) = Chi : total:m2183_2, partial:m2183_7
|
||||
# 2184| r2184_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2184| r2184_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2184| v2184_3(void) = Call[~String] : func:r2184_2, this:r2184_1
|
||||
# 2184| m2184_4(unknown) = ^CallSideEffect : ~m2183_6
|
||||
# 2184| m2184_5(unknown) = Chi : total:m2183_6, partial:m2184_4
|
||||
# 2184| v2184_6(void) = ^IndirectReadSideEffect[-1] : &:r2184_1, m2183_8
|
||||
# 2184| m2184_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2184_1
|
||||
# 2184| m2184_8(String) = Chi : total:m2183_8, partial:m2184_7
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2185| Block 2
|
||||
# 2185| r2185_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2185| m2185_2(String) = Uninitialized[s2] : &:r2185_1
|
||||
# 2185| r2185_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2185| v2185_4(void) = Call[String] : func:r2185_3, this:r2185_1
|
||||
# 2185| m2185_5(unknown) = ^CallSideEffect : ~m2182_15
|
||||
# 2185| m2185_6(unknown) = Chi : total:m2182_15, partial:m2185_5
|
||||
# 2185| m2185_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1
|
||||
# 2185| m2185_8(String) = Chi : total:m2185_2, partial:m2185_7
|
||||
# 2186| r2186_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2186| r2186_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2186| v2186_3(void) = Call[~String] : func:r2186_2, this:r2186_1
|
||||
# 2186| m2186_4(unknown) = ^CallSideEffect : ~m2185_6
|
||||
# 2186| m2186_5(unknown) = Chi : total:m2185_6, partial:m2186_4
|
||||
# 2186| v2186_6(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, m2185_8
|
||||
# 2186| m2186_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1
|
||||
# 2186| m2186_8(String) = Chi : total:m2185_8, partial:m2186_7
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2186| Block 3
|
||||
# 2186| m2186_9(unknown) = Phi : from 1:~m2184_5, from 2:~m2186_5
|
||||
# 2186| r2186_10(glval<Bool>) = VariableAddress[B] :
|
||||
# 2186| r2186_11(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2186| v2186_12(void) = Call[~Bool] : func:r2186_11, this:r2186_10
|
||||
# 2186| m2186_13(unknown) = ^CallSideEffect : ~m2186_9
|
||||
# 2186| m2186_14(unknown) = Chi : total:m2186_9, partial:m2186_13
|
||||
# 2186| v2186_15(void) = ^IndirectReadSideEffect[-1] : &:r2186_10, m2182_18
|
||||
# 2186| m2186_16(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2186_10
|
||||
# 2186| m2186_17(Bool) = Chi : total:m2182_18, partial:m2186_16
|
||||
# 2187| v2187_1(void) = NoOp :
|
||||
# 2181| v2181_7(void) = ReturnVoid :
|
||||
# 2181| v2181_8(void) = AliasedUse : ~m2186_14
|
||||
# 2181| v2181_9(void) = ExitFunction :
|
||||
|
||||
# 2197| void WhileLoopDestructors(bool)
|
||||
# 2197| Block 0
|
||||
# 2197| v2197_1(void) = EnterFunction :
|
||||
# 2197| m2197_2(unknown) = AliasedDefinition :
|
||||
# 2197| m2197_3(unknown) = InitializeNonLocal :
|
||||
# 2197| m2197_4(unknown) = Chi : total:m2197_2, partial:m2197_3
|
||||
# 2197| r2197_5(glval<bool>) = VariableAddress[b] :
|
||||
# 2197| m2197_6(bool) = InitializeParameter[b] : &:r2197_5
|
||||
# 2199| r2199_1(glval<String>) = VariableAddress[s] :
|
||||
# 2199| m2199_2(String) = Uninitialized[s] : &:r2199_1
|
||||
# 2199| r2199_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2199| v2199_4(void) = Call[String] : func:r2199_3, this:r2199_1
|
||||
# 2199| m2199_5(unknown) = ^CallSideEffect : ~m2197_4
|
||||
# 2199| m2199_6(unknown) = Chi : total:m2197_4, partial:m2199_5
|
||||
# 2199| m2199_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1
|
||||
# 2199| m2199_8(String) = Chi : total:m2199_2, partial:m2199_7
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 2196| Block 1
|
||||
# 2196| m2196_1(bool) = Phi : from 0:m2193_6, from 2:m2197_3
|
||||
# 2196| r2196_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2196| r2196_3(bool) = Load[b] : &:r2196_2, m2196_1
|
||||
# 2196| v2196_4(void) = ConditionalBranch : r2196_3
|
||||
# 2200| Block 1
|
||||
# 2200| m2200_1(bool) = Phi : from 0:m2197_6, from 2:m2201_3
|
||||
# 2200| r2200_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2200| r2200_3(bool) = Load[b] : &:r2200_2, m2200_1
|
||||
# 2200| v2200_4(void) = ConditionalBranch : r2200_3
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 2197| Block 2
|
||||
# 2197| r2197_1(bool) = Constant[0] :
|
||||
# 2197| r2197_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2197| m2197_3(bool) = Store[b] : &:r2197_2, r2197_1
|
||||
# 2201| Block 2
|
||||
# 2201| r2201_1(bool) = Constant[0] :
|
||||
# 2201| r2201_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2201| m2201_3(bool) = Store[b] : &:r2201_2, r2201_1
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 2199| Block 3
|
||||
# 2199| r2199_1(glval<String>) = VariableAddress[s] :
|
||||
# 2199| r2199_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2199| v2199_3(void) = Call[~String] : func:r2199_2, this:r2199_1
|
||||
# 2199| m2199_4(unknown) = ^CallSideEffect : ~m2195_6
|
||||
# 2199| m2199_5(unknown) = Chi : total:m2195_6, partial:m2199_4
|
||||
# 2199| v2199_6(void) = ^IndirectReadSideEffect[-1] : &:r2199_1, m2195_8
|
||||
# 2199| m2199_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1
|
||||
# 2199| m2199_8(String) = Chi : total:m2195_8, partial:m2199_7
|
||||
# 2203| Block 3
|
||||
# 2203| r2203_1(glval<String>) = VariableAddress[s] :
|
||||
# 2203| r2203_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2203| v2203_3(void) = Call[~String] : func:r2203_2, this:r2203_1
|
||||
# 2203| m2203_4(unknown) = ^CallSideEffect : ~m2199_6
|
||||
# 2203| m2203_5(unknown) = Chi : total:m2199_6, partial:m2203_4
|
||||
# 2203| v2203_6(void) = ^IndirectReadSideEffect[-1] : &:r2203_1, m2199_8
|
||||
# 2203| m2203_7(String) = ^IndirectMayWriteSideEffect[-1] : &:r2203_1
|
||||
# 2203| m2203_8(String) = Chi : total:m2199_8, partial:m2203_7
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 2202| Block 4
|
||||
# 2202| m2202_1(unknown) = Phi : from 3:~m2199_5, from 5:~m2204_5
|
||||
# 2202| m2202_2(bool) = Phi : from 3:m2196_1, from 5:m2203_3
|
||||
# 2202| r2202_3(glval<Bool>) = VariableAddress[B] :
|
||||
# 2202| m2202_4(Bool) = Uninitialized[B] : &:r2202_3
|
||||
# 2202| r2202_5(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2202| r2202_6(glval<bool>) = VariableAddress[b] :
|
||||
# 2202| r2202_7(bool) = Load[b] : &:r2202_6, m2202_2
|
||||
# 2202| v2202_8(void) = Call[Bool] : func:r2202_5, this:r2202_3, 0:r2202_7
|
||||
# 2202| m2202_9(unknown) = ^CallSideEffect : ~m2202_1
|
||||
# 2202| m2202_10(unknown) = Chi : total:m2202_1, partial:m2202_9
|
||||
# 2202| m2202_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2202_3
|
||||
# 2202| m2202_12(Bool) = Chi : total:m2202_4, partial:m2202_11
|
||||
# 2202| r2202_13(glval<Bool>) = VariableAddress[B] :
|
||||
# 2202| r2202_14(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2202| r2202_15(bool) = Call[operator bool] : func:r2202_14, this:r2202_13
|
||||
# 2202| m2202_16(unknown) = ^CallSideEffect : ~m2202_10
|
||||
# 2202| m2202_17(unknown) = Chi : total:m2202_10, partial:m2202_16
|
||||
# 2202| v2202_18(void) = ^IndirectReadSideEffect[-1] : &:r2202_13, m2202_12
|
||||
# 2202| m2202_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2202_13
|
||||
# 2202| m2202_20(Bool) = Chi : total:m2202_12, partial:m2202_19
|
||||
# 2202| r2202_21(bool) = CopyValue : r2202_15
|
||||
# 2202| v2202_22(void) = ConditionalBranch : r2202_21
|
||||
# 2206| Block 4
|
||||
# 2206| m2206_1(unknown) = Phi : from 3:~m2203_5, from 5:~m2208_5
|
||||
# 2206| m2206_2(bool) = Phi : from 3:m2200_1, from 5:m2207_3
|
||||
# 2206| r2206_3(glval<Bool>) = VariableAddress[B] :
|
||||
# 2206| m2206_4(Bool) = Uninitialized[B] : &:r2206_3
|
||||
# 2206| r2206_5(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2206| r2206_6(glval<bool>) = VariableAddress[b] :
|
||||
# 2206| r2206_7(bool) = Load[b] : &:r2206_6, m2206_2
|
||||
# 2206| v2206_8(void) = Call[Bool] : func:r2206_5, this:r2206_3, 0:r2206_7
|
||||
# 2206| m2206_9(unknown) = ^CallSideEffect : ~m2206_1
|
||||
# 2206| m2206_10(unknown) = Chi : total:m2206_1, partial:m2206_9
|
||||
# 2206| m2206_11(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2206_3
|
||||
# 2206| m2206_12(Bool) = Chi : total:m2206_4, partial:m2206_11
|
||||
# 2206| r2206_13(glval<Bool>) = VariableAddress[B] :
|
||||
# 2206| r2206_14(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2206| r2206_15(bool) = Call[operator bool] : func:r2206_14, this:r2206_13
|
||||
# 2206| m2206_16(unknown) = ^CallSideEffect : ~m2206_10
|
||||
# 2206| m2206_17(unknown) = Chi : total:m2206_10, partial:m2206_16
|
||||
# 2206| v2206_18(void) = ^IndirectReadSideEffect[-1] : &:r2206_13, m2206_12
|
||||
# 2206| m2206_19(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2206_13
|
||||
# 2206| m2206_20(Bool) = Chi : total:m2206_12, partial:m2206_19
|
||||
# 2206| r2206_21(bool) = CopyValue : r2206_15
|
||||
# 2206| v2206_22(void) = ConditionalBranch : r2206_21
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 2203| Block 5
|
||||
# 2203| r2203_1(bool) = Constant[0] :
|
||||
# 2203| r2203_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2203| m2203_3(bool) = Store[b] : &:r2203_2, r2203_1
|
||||
# 2204| r2204_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2204| r2204_2(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2204| v2204_3(void) = Call[~Bool] : func:r2204_2, this:r2204_1
|
||||
# 2204| m2204_4(unknown) = ^CallSideEffect : ~m2202_17
|
||||
# 2204| m2204_5(unknown) = Chi : total:m2202_17, partial:m2204_4
|
||||
# 2204| v2204_6(void) = ^IndirectReadSideEffect[-1] : &:r2204_1, m2202_20
|
||||
# 2204| m2204_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1
|
||||
# 2204| m2204_8(Bool) = Chi : total:m2202_20, partial:m2204_7
|
||||
# 2207| Block 5
|
||||
# 2207| r2207_1(bool) = Constant[0] :
|
||||
# 2207| r2207_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2207| m2207_3(bool) = Store[b] : &:r2207_2, r2207_1
|
||||
# 2208| r2208_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2208| r2208_2(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2208| v2208_3(void) = Call[~Bool] : func:r2208_2, this:r2208_1
|
||||
# 2208| m2208_4(unknown) = ^CallSideEffect : ~m2206_17
|
||||
# 2208| m2208_5(unknown) = Chi : total:m2206_17, partial:m2208_4
|
||||
# 2208| v2208_6(void) = ^IndirectReadSideEffect[-1] : &:r2208_1, m2206_20
|
||||
# 2208| m2208_7(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2208_1
|
||||
# 2208| m2208_8(Bool) = Chi : total:m2206_20, partial:m2208_7
|
||||
#-----| Goto (back edge) -> Block 4
|
||||
|
||||
# 2204| Block 6
|
||||
# 2204| r2204_9(glval<Bool>) = VariableAddress[B] :
|
||||
# 2204| r2204_10(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2204| v2204_11(void) = Call[~Bool] : func:r2204_10, this:r2204_9
|
||||
# 2204| m2204_12(unknown) = ^CallSideEffect : ~m2202_17
|
||||
# 2204| m2204_13(unknown) = Chi : total:m2202_17, partial:m2204_12
|
||||
# 2204| v2204_14(void) = ^IndirectReadSideEffect[-1] : &:r2204_9, m2202_20
|
||||
# 2204| m2204_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2204_9
|
||||
# 2204| m2204_16(Bool) = Chi : total:m2202_20, partial:m2204_15
|
||||
# 2206| v2206_1(void) = NoOp :
|
||||
# 2193| v2193_7(void) = ReturnVoid :
|
||||
# 2193| v2193_8(void) = AliasedUse : ~m2204_13
|
||||
# 2193| v2193_9(void) = ExitFunction :
|
||||
# 2208| Block 6
|
||||
# 2208| r2208_9(glval<Bool>) = VariableAddress[B] :
|
||||
# 2208| r2208_10(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2208| v2208_11(void) = Call[~Bool] : func:r2208_10, this:r2208_9
|
||||
# 2208| m2208_12(unknown) = ^CallSideEffect : ~m2206_17
|
||||
# 2208| m2208_13(unknown) = Chi : total:m2206_17, partial:m2208_12
|
||||
# 2208| v2208_14(void) = ^IndirectReadSideEffect[-1] : &:r2208_9, m2206_20
|
||||
# 2208| m2208_15(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2208_9
|
||||
# 2208| m2208_16(Bool) = Chi : total:m2206_20, partial:m2208_15
|
||||
# 2210| v2210_1(void) = NoOp :
|
||||
# 2197| v2197_7(void) = ReturnVoid :
|
||||
# 2197| v2197_8(void) = AliasedUse : ~m2208_13
|
||||
# 2197| v2197_9(void) = ExitFunction :
|
||||
|
||||
perf-regression.cpp:
|
||||
# 6| void Big::Big()
|
||||
|
||||
@@ -6,6 +6,7 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:2161:28:2161:29 | Chi: s2 | Instruction 'Chi: s2' has no successors in function '$@'. | ir.cpp:2151:6:2151:19 | void ForDestructors() | void ForDestructors() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,6 +6,7 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:2161:28:2161:29 | Chi: s2 | Instruction 'Chi: s2' has no successors in function '$@'. | ir.cpp:2151:6:2151:19 | void ForDestructors() | void ForDestructors() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -2157,6 +2157,10 @@ void ForDestructors() {
|
||||
for(String s : vector<String>(String("hello"))) {
|
||||
String s2;
|
||||
}
|
||||
|
||||
for(String s("hello"), s2("world"); c != 0; c = s.pop_back()) {
|
||||
c = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void IfDestructors2(bool b) {
|
||||
|
||||
@@ -10464,7 +10464,6 @@
|
||||
| ir.cpp:2149:1:2149:1 | SideEffect | ~m2149_6 |
|
||||
| ir.cpp:2151:6:2151:19 | ChiPartial | partial:m2151_3 |
|
||||
| ir.cpp:2151:6:2151:19 | ChiTotal | total:m2151_2 |
|
||||
| ir.cpp:2151:6:2151:19 | SideEffect | ~m2157_48 |
|
||||
| ir.cpp:2152:10:2152:10 | Address | &:r2152_1 |
|
||||
| ir.cpp:2152:13:2152:16 | StoreValue | r2152_2 |
|
||||
| ir.cpp:2153:16:2153:16 | Address | &:r2153_1 |
|
||||
@@ -10646,198 +10645,260 @@
|
||||
| ir.cpp:2159:5:2159:5 | ChiTotal | total:m2158_8 |
|
||||
| ir.cpp:2159:5:2159:5 | SideEffect | m2158_8 |
|
||||
| ir.cpp:2159:5:2159:5 | SideEffect | ~m2158_6 |
|
||||
| ir.cpp:2162:6:2162:19 | ChiPartial | partial:m2162_3 |
|
||||
| ir.cpp:2162:6:2162:19 | ChiTotal | total:m2162_2 |
|
||||
| ir.cpp:2162:6:2162:19 | SideEffect | ~m2167_5 |
|
||||
| ir.cpp:2162:26:2162:26 | Address | &:r2162_5 |
|
||||
| ir.cpp:2163:15:2163:15 | Address | &:r2163_1 |
|
||||
| ir.cpp:2163:15:2163:15 | Address | &:r2163_1 |
|
||||
| ir.cpp:2163:15:2163:15 | Arg(this) | this:r2163_1 |
|
||||
| ir.cpp:2163:18:2163:33 | CallTarget | func:r2163_3 |
|
||||
| ir.cpp:2163:18:2163:33 | ChiPartial | partial:m2163_7 |
|
||||
| ir.cpp:2163:18:2163:33 | ChiPartial | partial:m2163_10 |
|
||||
| ir.cpp:2163:18:2163:33 | ChiTotal | total:m2162_4 |
|
||||
| ir.cpp:2163:18:2163:33 | ChiTotal | total:m2163_2 |
|
||||
| ir.cpp:2163:18:2163:33 | SideEffect | ~m2162_4 |
|
||||
| ir.cpp:2163:26:2163:32 | Address | &:r2163_5 |
|
||||
| ir.cpp:2163:26:2163:32 | Arg(0) | 0:r2163_5 |
|
||||
| ir.cpp:2163:26:2163:32 | SideEffect | ~m2162_3 |
|
||||
| ir.cpp:2163:26:2163:32 | Unary | r2163_4 |
|
||||
| ir.cpp:2163:36:2163:36 | Address | &:r2163_12 |
|
||||
| ir.cpp:2163:36:2163:36 | Condition | r2163_13 |
|
||||
| ir.cpp:2163:36:2163:36 | Load | m2162_6 |
|
||||
| ir.cpp:2164:13:2164:13 | Address | &:r2164_1 |
|
||||
| ir.cpp:2164:16:2164:17 | StoreValue | r2164_2 |
|
||||
| ir.cpp:2166:13:2166:13 | Address | &:r2166_1 |
|
||||
| ir.cpp:2166:16:2166:17 | StoreValue | r2166_2 |
|
||||
| ir.cpp:2167:5:2167:5 | Address | &:r2167_1 |
|
||||
| ir.cpp:2167:5:2167:5 | Address | &:r2167_1 |
|
||||
| ir.cpp:2167:5:2167:5 | Arg(this) | this:r2167_1 |
|
||||
| ir.cpp:2167:5:2167:5 | CallTarget | func:r2167_2 |
|
||||
| ir.cpp:2167:5:2167:5 | ChiPartial | partial:m2167_4 |
|
||||
| ir.cpp:2167:5:2167:5 | ChiPartial | partial:m2167_7 |
|
||||
| ir.cpp:2167:5:2167:5 | ChiTotal | total:m2163_8 |
|
||||
| ir.cpp:2167:5:2167:5 | ChiTotal | total:m2163_11 |
|
||||
| ir.cpp:2167:5:2167:5 | SideEffect | m2163_11 |
|
||||
| ir.cpp:2167:5:2167:5 | SideEffect | ~m2163_8 |
|
||||
| ir.cpp:2177:6:2177:19 | ChiPartial | partial:m2177_3 |
|
||||
| ir.cpp:2177:6:2177:19 | ChiTotal | total:m2177_2 |
|
||||
| ir.cpp:2177:6:2177:19 | SideEffect | ~m2182_14 |
|
||||
| ir.cpp:2177:26:2177:26 | Address | &:r2177_5 |
|
||||
| ir.cpp:2178:8:2178:23 | Address | &:r2178_1 |
|
||||
| ir.cpp:2178:8:2178:23 | Address | &:r2178_1 |
|
||||
| ir.cpp:2178:8:2178:23 | Arg(this) | this:r2178_1 |
|
||||
| ir.cpp:2178:8:2178:23 | Condition | r2178_19 |
|
||||
| ir.cpp:2178:13:2178:13 | Address | &:r2178_11 |
|
||||
| ir.cpp:2178:13:2178:13 | Address | &:r2178_11 |
|
||||
| ir.cpp:2178:13:2178:13 | Arg(this) | this:r2178_11 |
|
||||
| ir.cpp:2178:13:2178:13 | CallTarget | func:r2178_12 |
|
||||
| ir.cpp:2178:13:2178:13 | ChiPartial | partial:m2178_14 |
|
||||
| ir.cpp:2178:13:2178:13 | ChiPartial | partial:m2178_17 |
|
||||
| ir.cpp:2178:13:2178:13 | ChiTotal | total:m2178_8 |
|
||||
| ir.cpp:2178:13:2178:13 | ChiTotal | total:m2178_10 |
|
||||
| ir.cpp:2178:13:2178:13 | SideEffect | m2178_10 |
|
||||
| ir.cpp:2178:13:2178:13 | SideEffect | ~m2178_8 |
|
||||
| ir.cpp:2178:13:2178:13 | Unary | r2178_13 |
|
||||
| ir.cpp:2178:16:2178:23 | CallTarget | func:r2178_3 |
|
||||
| ir.cpp:2178:16:2178:23 | ChiPartial | partial:m2178_7 |
|
||||
| ir.cpp:2178:16:2178:23 | ChiPartial | partial:m2178_9 |
|
||||
| ir.cpp:2178:16:2178:23 | ChiTotal | total:m2177_4 |
|
||||
| ir.cpp:2178:16:2178:23 | ChiTotal | total:m2178_2 |
|
||||
| ir.cpp:2178:16:2178:23 | SideEffect | ~m2177_4 |
|
||||
| ir.cpp:2178:22:2178:22 | Address | &:r2178_4 |
|
||||
| ir.cpp:2178:22:2178:22 | Arg(0) | 0:r2178_5 |
|
||||
| ir.cpp:2178:22:2178:22 | Load | m2177_6 |
|
||||
| ir.cpp:2179:16:2179:17 | Address | &:r2179_1 |
|
||||
| ir.cpp:2179:16:2179:17 | Address | &:r2179_1 |
|
||||
| ir.cpp:2179:16:2179:17 | Arg(this) | this:r2179_1 |
|
||||
| ir.cpp:2179:16:2179:17 | CallTarget | func:r2179_3 |
|
||||
| ir.cpp:2179:16:2179:17 | ChiPartial | partial:m2179_5 |
|
||||
| ir.cpp:2179:16:2179:17 | ChiPartial | partial:m2179_7 |
|
||||
| ir.cpp:2179:16:2179:17 | ChiTotal | total:m2178_15 |
|
||||
| ir.cpp:2179:16:2179:17 | ChiTotal | total:m2179_2 |
|
||||
| ir.cpp:2179:16:2179:17 | SideEffect | ~m2178_15 |
|
||||
| ir.cpp:2180:5:2180:5 | Address | &:r2180_1 |
|
||||
| ir.cpp:2180:5:2180:5 | Address | &:r2180_1 |
|
||||
| ir.cpp:2180:5:2180:5 | Arg(this) | this:r2180_1 |
|
||||
| ir.cpp:2180:5:2180:5 | CallTarget | func:r2180_2 |
|
||||
| ir.cpp:2180:5:2180:5 | ChiPartial | partial:m2180_4 |
|
||||
| ir.cpp:2180:5:2180:5 | ChiPartial | partial:m2180_7 |
|
||||
| ir.cpp:2180:5:2180:5 | ChiTotal | total:m2179_6 |
|
||||
| ir.cpp:2180:5:2180:5 | ChiTotal | total:m2179_8 |
|
||||
| ir.cpp:2180:5:2180:5 | SideEffect | m2179_8 |
|
||||
| ir.cpp:2180:5:2180:5 | SideEffect | ~m2179_6 |
|
||||
| ir.cpp:2181:16:2181:17 | Address | &:r2181_1 |
|
||||
| ir.cpp:2181:16:2181:17 | Address | &:r2181_1 |
|
||||
| ir.cpp:2181:16:2181:17 | Arg(this) | this:r2181_1 |
|
||||
| ir.cpp:2181:16:2181:17 | CallTarget | func:r2181_3 |
|
||||
| ir.cpp:2181:16:2181:17 | ChiPartial | partial:m2181_5 |
|
||||
| ir.cpp:2181:16:2181:17 | ChiPartial | partial:m2181_7 |
|
||||
| ir.cpp:2181:16:2181:17 | ChiTotal | total:m2178_15 |
|
||||
| ir.cpp:2181:16:2181:17 | ChiTotal | total:m2181_2 |
|
||||
| ir.cpp:2181:16:2181:17 | SideEffect | ~m2178_15 |
|
||||
| ir.cpp:2182:5:2182:5 | Address | &:r2182_1 |
|
||||
| ir.cpp:2182:5:2182:5 | Address | &:r2182_1 |
|
||||
| ir.cpp:2182:5:2182:5 | Address | &:r2182_10 |
|
||||
| ir.cpp:2182:5:2182:5 | Address | &:r2182_10 |
|
||||
| ir.cpp:2182:5:2182:5 | Arg(this) | this:r2182_1 |
|
||||
| ir.cpp:2182:5:2182:5 | Arg(this) | this:r2182_10 |
|
||||
| ir.cpp:2182:5:2182:5 | CallTarget | func:r2182_2 |
|
||||
| ir.cpp:2182:5:2182:5 | CallTarget | func:r2182_11 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiPartial | partial:m2182_4 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiPartial | partial:m2182_7 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiPartial | partial:m2182_13 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiPartial | partial:m2182_16 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiTotal | total:m2178_18 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiTotal | total:m2181_6 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiTotal | total:m2181_8 |
|
||||
| ir.cpp:2182:5:2182:5 | ChiTotal | total:m2182_9 |
|
||||
| ir.cpp:2182:5:2182:5 | Phi | from 1:~m2180_5 |
|
||||
| ir.cpp:2182:5:2182:5 | Phi | from 2:~m2182_5 |
|
||||
| ir.cpp:2182:5:2182:5 | SideEffect | m2178_18 |
|
||||
| ir.cpp:2182:5:2182:5 | SideEffect | m2181_8 |
|
||||
| ir.cpp:2182:5:2182:5 | SideEffect | ~m2181_6 |
|
||||
| ir.cpp:2182:5:2182:5 | SideEffect | ~m2182_9 |
|
||||
| ir.cpp:2193:6:2193:25 | ChiPartial | partial:m2193_3 |
|
||||
| ir.cpp:2193:6:2193:25 | ChiTotal | total:m2193_2 |
|
||||
| ir.cpp:2193:6:2193:25 | SideEffect | ~m2204_13 |
|
||||
| ir.cpp:2193:32:2193:32 | Address | &:r2193_5 |
|
||||
| ir.cpp:2195:16:2195:16 | Address | &:r2195_1 |
|
||||
| ir.cpp:2195:16:2195:16 | Address | &:r2195_1 |
|
||||
| ir.cpp:2195:16:2195:16 | Arg(this) | this:r2195_1 |
|
||||
| ir.cpp:2195:16:2195:16 | CallTarget | func:r2195_3 |
|
||||
| ir.cpp:2195:16:2195:16 | ChiPartial | partial:m2195_5 |
|
||||
| ir.cpp:2195:16:2195:16 | ChiPartial | partial:m2195_7 |
|
||||
| ir.cpp:2195:16:2195:16 | ChiTotal | total:m2193_4 |
|
||||
| ir.cpp:2195:16:2195:16 | ChiTotal | total:m2195_2 |
|
||||
| ir.cpp:2195:16:2195:16 | SideEffect | ~m2193_4 |
|
||||
| ir.cpp:2196:15:2196:15 | Address | &:r2196_2 |
|
||||
| ir.cpp:2196:15:2196:15 | Condition | r2196_3 |
|
||||
| ir.cpp:2196:15:2196:15 | Load | m2196_1 |
|
||||
| ir.cpp:2196:15:2196:15 | Phi | from 0:m2193_6 |
|
||||
| ir.cpp:2196:15:2196:15 | Phi | from 2:m2197_3 |
|
||||
| ir.cpp:2197:13:2197:13 | Address | &:r2197_2 |
|
||||
| ir.cpp:2197:17:2197:21 | StoreValue | r2197_1 |
|
||||
| ir.cpp:2199:5:2199:5 | Address | &:r2199_1 |
|
||||
| ir.cpp:2199:5:2199:5 | Address | &:r2199_1 |
|
||||
| ir.cpp:2199:5:2199:5 | Arg(this) | this:r2199_1 |
|
||||
| ir.cpp:2199:5:2199:5 | CallTarget | func:r2199_2 |
|
||||
| ir.cpp:2199:5:2199:5 | ChiPartial | partial:m2199_4 |
|
||||
| ir.cpp:2199:5:2199:5 | ChiPartial | partial:m2199_7 |
|
||||
| ir.cpp:2199:5:2199:5 | ChiTotal | total:m2195_6 |
|
||||
| ir.cpp:2199:5:2199:5 | ChiTotal | total:m2195_8 |
|
||||
| ir.cpp:2199:5:2199:5 | SideEffect | m2195_8 |
|
||||
| ir.cpp:2199:5:2199:5 | SideEffect | ~m2195_6 |
|
||||
| ir.cpp:2202:16:2202:31 | Address | &:r2202_3 |
|
||||
| ir.cpp:2202:16:2202:31 | Address | &:r2202_3 |
|
||||
| ir.cpp:2202:16:2202:31 | Arg(this) | this:r2202_3 |
|
||||
| ir.cpp:2202:16:2202:31 | Condition | r2202_21 |
|
||||
| ir.cpp:2202:16:2202:31 | Phi | from 3:m2196_1 |
|
||||
| ir.cpp:2202:16:2202:31 | Phi | from 3:~m2199_5 |
|
||||
| ir.cpp:2202:16:2202:31 | Phi | from 5:m2203_3 |
|
||||
| ir.cpp:2202:16:2202:31 | Phi | from 5:~m2204_5 |
|
||||
| ir.cpp:2202:21:2202:21 | Address | &:r2202_13 |
|
||||
| ir.cpp:2202:21:2202:21 | Address | &:r2202_13 |
|
||||
| ir.cpp:2202:21:2202:21 | Arg(this) | this:r2202_13 |
|
||||
| ir.cpp:2202:21:2202:21 | CallTarget | func:r2202_14 |
|
||||
| ir.cpp:2202:21:2202:21 | ChiPartial | partial:m2202_16 |
|
||||
| ir.cpp:2202:21:2202:21 | ChiPartial | partial:m2202_19 |
|
||||
| ir.cpp:2202:21:2202:21 | ChiTotal | total:m2202_10 |
|
||||
| ir.cpp:2202:21:2202:21 | ChiTotal | total:m2202_12 |
|
||||
| ir.cpp:2202:21:2202:21 | SideEffect | m2202_12 |
|
||||
| ir.cpp:2202:21:2202:21 | SideEffect | ~m2202_10 |
|
||||
| ir.cpp:2202:21:2202:21 | Unary | r2202_15 |
|
||||
| ir.cpp:2202:24:2202:31 | CallTarget | func:r2202_5 |
|
||||
| ir.cpp:2202:24:2202:31 | ChiPartial | partial:m2202_9 |
|
||||
| ir.cpp:2202:24:2202:31 | ChiPartial | partial:m2202_11 |
|
||||
| ir.cpp:2202:24:2202:31 | ChiTotal | total:m2202_1 |
|
||||
| ir.cpp:2202:24:2202:31 | ChiTotal | total:m2202_4 |
|
||||
| ir.cpp:2202:24:2202:31 | SideEffect | ~m2202_1 |
|
||||
| ir.cpp:2202:30:2202:30 | Address | &:r2202_6 |
|
||||
| ir.cpp:2202:30:2202:30 | Arg(0) | 0:r2202_7 |
|
||||
| ir.cpp:2202:30:2202:30 | Load | m2202_2 |
|
||||
| ir.cpp:2203:13:2203:13 | Address | &:r2203_2 |
|
||||
| ir.cpp:2203:17:2203:21 | StoreValue | r2203_1 |
|
||||
| ir.cpp:2204:9:2204:9 | Address | &:r2204_1 |
|
||||
| ir.cpp:2204:9:2204:9 | Address | &:r2204_1 |
|
||||
| ir.cpp:2204:9:2204:9 | Address | &:r2204_9 |
|
||||
| ir.cpp:2204:9:2204:9 | Address | &:r2204_9 |
|
||||
| ir.cpp:2204:9:2204:9 | Arg(this) | this:r2204_1 |
|
||||
| ir.cpp:2204:9:2204:9 | Arg(this) | this:r2204_9 |
|
||||
| ir.cpp:2204:9:2204:9 | CallTarget | func:r2204_2 |
|
||||
| ir.cpp:2204:9:2204:9 | CallTarget | func:r2204_10 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiPartial | partial:m2204_4 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiPartial | partial:m2204_7 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiPartial | partial:m2204_12 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiPartial | partial:m2204_15 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiTotal | total:m2202_17 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiTotal | total:m2202_17 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiTotal | total:m2202_20 |
|
||||
| ir.cpp:2204:9:2204:9 | ChiTotal | total:m2202_20 |
|
||||
| ir.cpp:2204:9:2204:9 | SideEffect | m2202_20 |
|
||||
| ir.cpp:2204:9:2204:9 | SideEffect | m2202_20 |
|
||||
| ir.cpp:2204:9:2204:9 | SideEffect | ~m2202_17 |
|
||||
| ir.cpp:2204:9:2204:9 | SideEffect | ~m2202_17 |
|
||||
| ir.cpp:2161:16:2161:16 | Address | &:r2161_1 |
|
||||
| ir.cpp:2161:16:2161:16 | Address | &:r2161_1 |
|
||||
| ir.cpp:2161:16:2161:16 | Arg(this) | this:r2161_1 |
|
||||
| ir.cpp:2161:18:2161:24 | Address | &:r2161_5 |
|
||||
| ir.cpp:2161:18:2161:24 | Arg(0) | 0:r2161_5 |
|
||||
| ir.cpp:2161:18:2161:24 | SideEffect | ~m2151_3 |
|
||||
| ir.cpp:2161:18:2161:24 | Unary | r2161_4 |
|
||||
| ir.cpp:2161:18:2161:25 | CallTarget | func:r2161_3 |
|
||||
| ir.cpp:2161:18:2161:25 | ChiPartial | partial:m2161_7 |
|
||||
| ir.cpp:2161:18:2161:25 | ChiPartial | partial:m2161_10 |
|
||||
| ir.cpp:2161:18:2161:25 | ChiTotal | total:m2157_48 |
|
||||
| ir.cpp:2161:18:2161:25 | ChiTotal | total:m2161_2 |
|
||||
| ir.cpp:2161:18:2161:25 | SideEffect | ~m2157_48 |
|
||||
| ir.cpp:2161:28:2161:29 | Address | &:r2161_12 |
|
||||
| ir.cpp:2161:28:2161:29 | Address | &:r2161_12 |
|
||||
| ir.cpp:2161:28:2161:29 | Address | &:r2161_42 |
|
||||
| ir.cpp:2161:28:2161:29 | Address | &:r2161_42 |
|
||||
| ir.cpp:2161:28:2161:29 | Arg(this) | this:r2161_12 |
|
||||
| ir.cpp:2161:28:2161:29 | Arg(this) | this:r2161_42 |
|
||||
| ir.cpp:2161:28:2161:29 | CallTarget | func:r2161_43 |
|
||||
| ir.cpp:2161:28:2161:29 | ChiPartial | partial:m2161_45 |
|
||||
| ir.cpp:2161:28:2161:29 | ChiPartial | partial:m2161_48 |
|
||||
| ir.cpp:2161:28:2161:29 | ChiTotal | total:m2161_22 |
|
||||
| ir.cpp:2161:28:2161:29 | ChiTotal | total:m2161_24 |
|
||||
| ir.cpp:2161:28:2161:29 | SideEffect | m2161_22 |
|
||||
| ir.cpp:2161:28:2161:29 | SideEffect | ~m2161_24 |
|
||||
| ir.cpp:2161:31:2161:37 | Address | &:r2161_16 |
|
||||
| ir.cpp:2161:31:2161:37 | Arg(0) | 0:r2161_16 |
|
||||
| ir.cpp:2161:31:2161:37 | SideEffect | ~m2151_3 |
|
||||
| ir.cpp:2161:31:2161:37 | Unary | r2161_15 |
|
||||
| ir.cpp:2161:31:2161:38 | CallTarget | func:r2161_14 |
|
||||
| ir.cpp:2161:31:2161:38 | ChiPartial | partial:m2161_18 |
|
||||
| ir.cpp:2161:31:2161:38 | ChiPartial | partial:m2161_21 |
|
||||
| ir.cpp:2161:31:2161:38 | ChiTotal | total:m2161_8 |
|
||||
| ir.cpp:2161:31:2161:38 | ChiTotal | total:m2161_13 |
|
||||
| ir.cpp:2161:31:2161:38 | SideEffect | ~m2161_8 |
|
||||
| ir.cpp:2161:41:2161:41 | Address | &:r2161_26 |
|
||||
| ir.cpp:2161:41:2161:41 | Left | r2161_28 |
|
||||
| ir.cpp:2161:41:2161:41 | Load | m2161_25 |
|
||||
| ir.cpp:2161:41:2161:41 | Phi | from 6:m2153_14 |
|
||||
| ir.cpp:2161:41:2161:41 | Phi | from 6:m2161_11 |
|
||||
| ir.cpp:2161:41:2161:41 | Phi | from 6:~m2161_19 |
|
||||
| ir.cpp:2161:41:2161:41 | Phi | from 8:m2161_39 |
|
||||
| ir.cpp:2161:41:2161:41 | Phi | from 8:m2161_41 |
|
||||
| ir.cpp:2161:41:2161:41 | Phi | from 8:~m2161_36 |
|
||||
| ir.cpp:2161:41:2161:41 | Unary | r2161_27 |
|
||||
| ir.cpp:2161:41:2161:46 | Condition | r2161_30 |
|
||||
| ir.cpp:2161:46:2161:46 | Right | r2161_29 |
|
||||
| ir.cpp:2161:49:2161:49 | Address | &:r2161_40 |
|
||||
| ir.cpp:2161:53:2161:53 | Address | &:r2161_32 |
|
||||
| ir.cpp:2161:53:2161:53 | Address | &:r2161_32 |
|
||||
| ir.cpp:2161:53:2161:53 | Arg(this) | this:r2161_32 |
|
||||
| ir.cpp:2161:53:2161:53 | ChiPartial | partial:m2161_38 |
|
||||
| ir.cpp:2161:53:2161:53 | ChiTotal | total:m2161_23 |
|
||||
| ir.cpp:2161:53:2161:53 | SideEffect | m2161_23 |
|
||||
| ir.cpp:2161:55:2161:62 | CallTarget | func:r2161_33 |
|
||||
| ir.cpp:2161:55:2161:62 | ChiPartial | partial:m2161_35 |
|
||||
| ir.cpp:2161:55:2161:62 | ChiTotal | total:m2161_24 |
|
||||
| ir.cpp:2161:55:2161:62 | SideEffect | ~m2161_24 |
|
||||
| ir.cpp:2161:55:2161:62 | StoreValue | r2161_34 |
|
||||
| ir.cpp:2162:9:2162:9 | Address | &:r2162_2 |
|
||||
| ir.cpp:2162:13:2162:13 | StoreValue | r2162_1 |
|
||||
| ir.cpp:2166:6:2166:19 | ChiPartial | partial:m2166_3 |
|
||||
| ir.cpp:2166:6:2166:19 | ChiTotal | total:m2166_2 |
|
||||
| ir.cpp:2166:6:2166:19 | SideEffect | ~m2171_5 |
|
||||
| ir.cpp:2166:26:2166:26 | Address | &:r2166_5 |
|
||||
| ir.cpp:2167:15:2167:15 | Address | &:r2167_1 |
|
||||
| ir.cpp:2167:15:2167:15 | Address | &:r2167_1 |
|
||||
| ir.cpp:2167:15:2167:15 | Arg(this) | this:r2167_1 |
|
||||
| ir.cpp:2167:18:2167:33 | CallTarget | func:r2167_3 |
|
||||
| ir.cpp:2167:18:2167:33 | ChiPartial | partial:m2167_7 |
|
||||
| ir.cpp:2167:18:2167:33 | ChiPartial | partial:m2167_10 |
|
||||
| ir.cpp:2167:18:2167:33 | ChiTotal | total:m2166_4 |
|
||||
| ir.cpp:2167:18:2167:33 | ChiTotal | total:m2167_2 |
|
||||
| ir.cpp:2167:18:2167:33 | SideEffect | ~m2166_4 |
|
||||
| ir.cpp:2167:26:2167:32 | Address | &:r2167_5 |
|
||||
| ir.cpp:2167:26:2167:32 | Arg(0) | 0:r2167_5 |
|
||||
| ir.cpp:2167:26:2167:32 | SideEffect | ~m2166_3 |
|
||||
| ir.cpp:2167:26:2167:32 | Unary | r2167_4 |
|
||||
| ir.cpp:2167:36:2167:36 | Address | &:r2167_12 |
|
||||
| ir.cpp:2167:36:2167:36 | Condition | r2167_13 |
|
||||
| ir.cpp:2167:36:2167:36 | Load | m2166_6 |
|
||||
| ir.cpp:2168:13:2168:13 | Address | &:r2168_1 |
|
||||
| ir.cpp:2168:16:2168:17 | StoreValue | r2168_2 |
|
||||
| ir.cpp:2170:13:2170:13 | Address | &:r2170_1 |
|
||||
| ir.cpp:2170:16:2170:17 | StoreValue | r2170_2 |
|
||||
| ir.cpp:2171:5:2171:5 | Address | &:r2171_1 |
|
||||
| ir.cpp:2171:5:2171:5 | Address | &:r2171_1 |
|
||||
| ir.cpp:2171:5:2171:5 | Arg(this) | this:r2171_1 |
|
||||
| ir.cpp:2171:5:2171:5 | CallTarget | func:r2171_2 |
|
||||
| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_4 |
|
||||
| ir.cpp:2171:5:2171:5 | ChiPartial | partial:m2171_7 |
|
||||
| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2167_8 |
|
||||
| ir.cpp:2171:5:2171:5 | ChiTotal | total:m2167_11 |
|
||||
| ir.cpp:2171:5:2171:5 | SideEffect | m2167_11 |
|
||||
| ir.cpp:2171:5:2171:5 | SideEffect | ~m2167_8 |
|
||||
| ir.cpp:2181:6:2181:19 | ChiPartial | partial:m2181_3 |
|
||||
| ir.cpp:2181:6:2181:19 | ChiTotal | total:m2181_2 |
|
||||
| ir.cpp:2181:6:2181:19 | SideEffect | ~m2186_14 |
|
||||
| ir.cpp:2181:26:2181:26 | Address | &:r2181_5 |
|
||||
| ir.cpp:2182:8:2182:23 | Address | &:r2182_1 |
|
||||
| ir.cpp:2182:8:2182:23 | Address | &:r2182_1 |
|
||||
| ir.cpp:2182:8:2182:23 | Arg(this) | this:r2182_1 |
|
||||
| ir.cpp:2182:8:2182:23 | Condition | r2182_19 |
|
||||
| ir.cpp:2182:13:2182:13 | Address | &:r2182_11 |
|
||||
| ir.cpp:2182:13:2182:13 | Address | &:r2182_11 |
|
||||
| ir.cpp:2182:13:2182:13 | Arg(this) | this:r2182_11 |
|
||||
| ir.cpp:2182:13:2182:13 | CallTarget | func:r2182_12 |
|
||||
| ir.cpp:2182:13:2182:13 | ChiPartial | partial:m2182_14 |
|
||||
| ir.cpp:2182:13:2182:13 | ChiPartial | partial:m2182_17 |
|
||||
| ir.cpp:2182:13:2182:13 | ChiTotal | total:m2182_8 |
|
||||
| ir.cpp:2182:13:2182:13 | ChiTotal | total:m2182_10 |
|
||||
| ir.cpp:2182:13:2182:13 | SideEffect | m2182_10 |
|
||||
| ir.cpp:2182:13:2182:13 | SideEffect | ~m2182_8 |
|
||||
| ir.cpp:2182:13:2182:13 | Unary | r2182_13 |
|
||||
| ir.cpp:2182:16:2182:23 | CallTarget | func:r2182_3 |
|
||||
| ir.cpp:2182:16:2182:23 | ChiPartial | partial:m2182_7 |
|
||||
| ir.cpp:2182:16:2182:23 | ChiPartial | partial:m2182_9 |
|
||||
| ir.cpp:2182:16:2182:23 | ChiTotal | total:m2181_4 |
|
||||
| ir.cpp:2182:16:2182:23 | ChiTotal | total:m2182_2 |
|
||||
| ir.cpp:2182:16:2182:23 | SideEffect | ~m2181_4 |
|
||||
| ir.cpp:2182:22:2182:22 | Address | &:r2182_4 |
|
||||
| ir.cpp:2182:22:2182:22 | Arg(0) | 0:r2182_5 |
|
||||
| ir.cpp:2182:22:2182:22 | Load | m2181_6 |
|
||||
| ir.cpp:2183:16:2183:17 | Address | &:r2183_1 |
|
||||
| ir.cpp:2183:16:2183:17 | Address | &:r2183_1 |
|
||||
| ir.cpp:2183:16:2183:17 | Arg(this) | this:r2183_1 |
|
||||
| ir.cpp:2183:16:2183:17 | CallTarget | func:r2183_3 |
|
||||
| ir.cpp:2183:16:2183:17 | ChiPartial | partial:m2183_5 |
|
||||
| ir.cpp:2183:16:2183:17 | ChiPartial | partial:m2183_7 |
|
||||
| ir.cpp:2183:16:2183:17 | ChiTotal | total:m2182_15 |
|
||||
| ir.cpp:2183:16:2183:17 | ChiTotal | total:m2183_2 |
|
||||
| ir.cpp:2183:16:2183:17 | SideEffect | ~m2182_15 |
|
||||
| ir.cpp:2184:5:2184:5 | Address | &:r2184_1 |
|
||||
| ir.cpp:2184:5:2184:5 | Address | &:r2184_1 |
|
||||
| ir.cpp:2184:5:2184:5 | Arg(this) | this:r2184_1 |
|
||||
| ir.cpp:2184:5:2184:5 | CallTarget | func:r2184_2 |
|
||||
| ir.cpp:2184:5:2184:5 | ChiPartial | partial:m2184_4 |
|
||||
| ir.cpp:2184:5:2184:5 | ChiPartial | partial:m2184_7 |
|
||||
| ir.cpp:2184:5:2184:5 | ChiTotal | total:m2183_6 |
|
||||
| ir.cpp:2184:5:2184:5 | ChiTotal | total:m2183_8 |
|
||||
| ir.cpp:2184:5:2184:5 | SideEffect | m2183_8 |
|
||||
| ir.cpp:2184:5:2184:5 | SideEffect | ~m2183_6 |
|
||||
| ir.cpp:2185:16:2185:17 | Address | &:r2185_1 |
|
||||
| ir.cpp:2185:16:2185:17 | Address | &:r2185_1 |
|
||||
| ir.cpp:2185:16:2185:17 | Arg(this) | this:r2185_1 |
|
||||
| ir.cpp:2185:16:2185:17 | CallTarget | func:r2185_3 |
|
||||
| ir.cpp:2185:16:2185:17 | ChiPartial | partial:m2185_5 |
|
||||
| ir.cpp:2185:16:2185:17 | ChiPartial | partial:m2185_7 |
|
||||
| ir.cpp:2185:16:2185:17 | ChiTotal | total:m2182_15 |
|
||||
| ir.cpp:2185:16:2185:17 | ChiTotal | total:m2185_2 |
|
||||
| ir.cpp:2185:16:2185:17 | SideEffect | ~m2182_15 |
|
||||
| ir.cpp:2186:5:2186:5 | Address | &:r2186_1 |
|
||||
| ir.cpp:2186:5:2186:5 | Address | &:r2186_1 |
|
||||
| ir.cpp:2186:5:2186:5 | Address | &:r2186_10 |
|
||||
| ir.cpp:2186:5:2186:5 | Address | &:r2186_10 |
|
||||
| ir.cpp:2186:5:2186:5 | Arg(this) | this:r2186_1 |
|
||||
| ir.cpp:2186:5:2186:5 | Arg(this) | this:r2186_10 |
|
||||
| ir.cpp:2186:5:2186:5 | CallTarget | func:r2186_2 |
|
||||
| ir.cpp:2186:5:2186:5 | CallTarget | func:r2186_11 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiPartial | partial:m2186_4 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiPartial | partial:m2186_7 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiPartial | partial:m2186_13 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiPartial | partial:m2186_16 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiTotal | total:m2182_18 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiTotal | total:m2185_6 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiTotal | total:m2185_8 |
|
||||
| ir.cpp:2186:5:2186:5 | ChiTotal | total:m2186_9 |
|
||||
| ir.cpp:2186:5:2186:5 | Phi | from 1:~m2184_5 |
|
||||
| ir.cpp:2186:5:2186:5 | Phi | from 2:~m2186_5 |
|
||||
| ir.cpp:2186:5:2186:5 | SideEffect | m2182_18 |
|
||||
| ir.cpp:2186:5:2186:5 | SideEffect | m2185_8 |
|
||||
| ir.cpp:2186:5:2186:5 | SideEffect | ~m2185_6 |
|
||||
| ir.cpp:2186:5:2186:5 | SideEffect | ~m2186_9 |
|
||||
| ir.cpp:2197:6:2197:25 | ChiPartial | partial:m2197_3 |
|
||||
| ir.cpp:2197:6:2197:25 | ChiTotal | total:m2197_2 |
|
||||
| ir.cpp:2197:6:2197:25 | SideEffect | ~m2208_13 |
|
||||
| ir.cpp:2197:32:2197:32 | Address | &:r2197_5 |
|
||||
| ir.cpp:2199:16:2199:16 | Address | &:r2199_1 |
|
||||
| ir.cpp:2199:16:2199:16 | Address | &:r2199_1 |
|
||||
| ir.cpp:2199:16:2199:16 | Arg(this) | this:r2199_1 |
|
||||
| ir.cpp:2199:16:2199:16 | CallTarget | func:r2199_3 |
|
||||
| ir.cpp:2199:16:2199:16 | ChiPartial | partial:m2199_5 |
|
||||
| ir.cpp:2199:16:2199:16 | ChiPartial | partial:m2199_7 |
|
||||
| ir.cpp:2199:16:2199:16 | ChiTotal | total:m2197_4 |
|
||||
| ir.cpp:2199:16:2199:16 | ChiTotal | total:m2199_2 |
|
||||
| ir.cpp:2199:16:2199:16 | SideEffect | ~m2197_4 |
|
||||
| ir.cpp:2200:15:2200:15 | Address | &:r2200_2 |
|
||||
| ir.cpp:2200:15:2200:15 | Condition | r2200_3 |
|
||||
| ir.cpp:2200:15:2200:15 | Load | m2200_1 |
|
||||
| ir.cpp:2200:15:2200:15 | Phi | from 0:m2197_6 |
|
||||
| ir.cpp:2200:15:2200:15 | Phi | from 2:m2201_3 |
|
||||
| ir.cpp:2201:13:2201:13 | Address | &:r2201_2 |
|
||||
| ir.cpp:2201:17:2201:21 | StoreValue | r2201_1 |
|
||||
| ir.cpp:2203:5:2203:5 | Address | &:r2203_1 |
|
||||
| ir.cpp:2203:5:2203:5 | Address | &:r2203_1 |
|
||||
| ir.cpp:2203:5:2203:5 | Arg(this) | this:r2203_1 |
|
||||
| ir.cpp:2203:5:2203:5 | CallTarget | func:r2203_2 |
|
||||
| ir.cpp:2203:5:2203:5 | ChiPartial | partial:m2203_4 |
|
||||
| ir.cpp:2203:5:2203:5 | ChiPartial | partial:m2203_7 |
|
||||
| ir.cpp:2203:5:2203:5 | ChiTotal | total:m2199_6 |
|
||||
| ir.cpp:2203:5:2203:5 | ChiTotal | total:m2199_8 |
|
||||
| ir.cpp:2203:5:2203:5 | SideEffect | m2199_8 |
|
||||
| ir.cpp:2203:5:2203:5 | SideEffect | ~m2199_6 |
|
||||
| ir.cpp:2206:16:2206:31 | Address | &:r2206_3 |
|
||||
| ir.cpp:2206:16:2206:31 | Address | &:r2206_3 |
|
||||
| ir.cpp:2206:16:2206:31 | Arg(this) | this:r2206_3 |
|
||||
| ir.cpp:2206:16:2206:31 | Condition | r2206_21 |
|
||||
| ir.cpp:2206:16:2206:31 | Phi | from 3:m2200_1 |
|
||||
| ir.cpp:2206:16:2206:31 | Phi | from 3:~m2203_5 |
|
||||
| ir.cpp:2206:16:2206:31 | Phi | from 5:m2207_3 |
|
||||
| ir.cpp:2206:16:2206:31 | Phi | from 5:~m2208_5 |
|
||||
| ir.cpp:2206:21:2206:21 | Address | &:r2206_13 |
|
||||
| ir.cpp:2206:21:2206:21 | Address | &:r2206_13 |
|
||||
| ir.cpp:2206:21:2206:21 | Arg(this) | this:r2206_13 |
|
||||
| ir.cpp:2206:21:2206:21 | CallTarget | func:r2206_14 |
|
||||
| ir.cpp:2206:21:2206:21 | ChiPartial | partial:m2206_16 |
|
||||
| ir.cpp:2206:21:2206:21 | ChiPartial | partial:m2206_19 |
|
||||
| ir.cpp:2206:21:2206:21 | ChiTotal | total:m2206_10 |
|
||||
| ir.cpp:2206:21:2206:21 | ChiTotal | total:m2206_12 |
|
||||
| ir.cpp:2206:21:2206:21 | SideEffect | m2206_12 |
|
||||
| ir.cpp:2206:21:2206:21 | SideEffect | ~m2206_10 |
|
||||
| ir.cpp:2206:21:2206:21 | Unary | r2206_15 |
|
||||
| ir.cpp:2206:24:2206:31 | CallTarget | func:r2206_5 |
|
||||
| ir.cpp:2206:24:2206:31 | ChiPartial | partial:m2206_9 |
|
||||
| ir.cpp:2206:24:2206:31 | ChiPartial | partial:m2206_11 |
|
||||
| ir.cpp:2206:24:2206:31 | ChiTotal | total:m2206_1 |
|
||||
| ir.cpp:2206:24:2206:31 | ChiTotal | total:m2206_4 |
|
||||
| ir.cpp:2206:24:2206:31 | SideEffect | ~m2206_1 |
|
||||
| ir.cpp:2206:30:2206:30 | Address | &:r2206_6 |
|
||||
| ir.cpp:2206:30:2206:30 | Arg(0) | 0:r2206_7 |
|
||||
| ir.cpp:2206:30:2206:30 | Load | m2206_2 |
|
||||
| ir.cpp:2207:13:2207:13 | Address | &:r2207_2 |
|
||||
| ir.cpp:2207:17:2207:21 | StoreValue | r2207_1 |
|
||||
| ir.cpp:2208:9:2208:9 | Address | &:r2208_1 |
|
||||
| ir.cpp:2208:9:2208:9 | Address | &:r2208_1 |
|
||||
| ir.cpp:2208:9:2208:9 | Address | &:r2208_9 |
|
||||
| ir.cpp:2208:9:2208:9 | Address | &:r2208_9 |
|
||||
| ir.cpp:2208:9:2208:9 | Arg(this) | this:r2208_1 |
|
||||
| ir.cpp:2208:9:2208:9 | Arg(this) | this:r2208_9 |
|
||||
| ir.cpp:2208:9:2208:9 | CallTarget | func:r2208_2 |
|
||||
| ir.cpp:2208:9:2208:9 | CallTarget | func:r2208_10 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiPartial | partial:m2208_4 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiPartial | partial:m2208_7 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiPartial | partial:m2208_12 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiPartial | partial:m2208_15 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiTotal | total:m2206_17 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiTotal | total:m2206_17 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiTotal | total:m2206_20 |
|
||||
| ir.cpp:2208:9:2208:9 | ChiTotal | total:m2206_20 |
|
||||
| ir.cpp:2208:9:2208:9 | SideEffect | m2206_20 |
|
||||
| ir.cpp:2208:9:2208:9 | SideEffect | m2206_20 |
|
||||
| ir.cpp:2208:9:2208:9 | SideEffect | ~m2206_17 |
|
||||
| ir.cpp:2208:9:2208:9 | SideEffect | ~m2206_17 |
|
||||
| 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 |
|
||||
|
||||
@@ -6,6 +6,7 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:2161:28:2161:29 | IndirectMayWriteSideEffect: s2 | Instruction 'IndirectMayWriteSideEffect: s2' has no successors in function '$@'. | ir.cpp:2151:6:2151:19 | void ForDestructors() | void ForDestructors() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -12130,206 +12130,265 @@ ir.cpp:
|
||||
# 2157| r2157_61(glval<iterator>) = CopyValue : r2157_57
|
||||
#-----| Goto (back edge) -> Block 4
|
||||
|
||||
# 2160| Block 6
|
||||
# 2160| v2160_1(void) = NoOp :
|
||||
# 2151| v2151_4(void) = ReturnVoid :
|
||||
# 2151| v2151_5(void) = AliasedUse : ~m?
|
||||
# 2151| v2151_6(void) = ExitFunction :
|
||||
# 2161| Block 6
|
||||
# 2161| r2161_1(glval<String>) = VariableAddress[s] :
|
||||
# 2161| mu2161_2(String) = Uninitialized[s] : &:r2161_1
|
||||
# 2161| r2161_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2161| r2161_4(glval<char[6]>) = StringConstant["hello"] :
|
||||
# 2161| r2161_5(char *) = Convert : r2161_4
|
||||
# 2161| v2161_6(void) = Call[String] : func:r2161_3, this:r2161_1, 0:r2161_5
|
||||
# 2161| mu2161_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2161| v2161_8(void) = ^BufferReadSideEffect[0] : &:r2161_5, ~m?
|
||||
# 2161| mu2161_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_1
|
||||
# 2161| r2161_10(glval<String>) = VariableAddress[s2] :
|
||||
# 2161| mu2161_11(String) = Uninitialized[s2] : &:r2161_10
|
||||
# 2161| r2161_12(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2161| r2161_13(glval<char[6]>) = StringConstant["world"] :
|
||||
# 2161| r2161_14(char *) = Convert : r2161_13
|
||||
# 2161| v2161_15(void) = Call[String] : func:r2161_12, this:r2161_10, 0:r2161_14
|
||||
# 2161| mu2161_16(unknown) = ^CallSideEffect : ~m?
|
||||
# 2161| v2161_17(void) = ^BufferReadSideEffect[0] : &:r2161_14, ~m?
|
||||
# 2161| mu2161_18(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_10
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2162| void IfDestructors2(bool)
|
||||
# 2162| Block 0
|
||||
# 2162| v2162_1(void) = EnterFunction :
|
||||
# 2162| mu2162_2(unknown) = AliasedDefinition :
|
||||
# 2162| mu2162_3(unknown) = InitializeNonLocal :
|
||||
# 2162| r2162_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2162| mu2162_5(bool) = InitializeParameter[b] : &:r2162_4
|
||||
# 2163| r2163_1(glval<String>) = VariableAddress[s] :
|
||||
# 2163| mu2163_2(String) = Uninitialized[s] : &:r2163_1
|
||||
# 2163| r2163_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2163| r2163_4(glval<char[6]>) = StringConstant["hello"] :
|
||||
# 2163| r2163_5(char *) = Convert : r2163_4
|
||||
# 2163| v2163_6(void) = Call[String] : func:r2163_3, this:r2163_1, 0:r2163_5
|
||||
# 2163| mu2163_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2163| v2163_8(void) = ^BufferReadSideEffect[0] : &:r2163_5, ~m?
|
||||
# 2163| mu2163_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2163_1
|
||||
# 2163| r2163_10(glval<bool>) = VariableAddress[b] :
|
||||
# 2163| r2163_11(bool) = Load[b] : &:r2163_10, ~m?
|
||||
# 2163| v2163_12(void) = ConditionalBranch : r2163_11
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
# 2161| Block 7
|
||||
# 2161| r2161_19(glval<char>) = VariableAddress[c] :
|
||||
# 2161| r2161_20(char) = Load[c] : &:r2161_19, ~m?
|
||||
# 2161| r2161_21(int) = Convert : r2161_20
|
||||
# 2161| r2161_22(int) = Constant[0] :
|
||||
# 2161| r2161_23(bool) = CompareNE : r2161_21, r2161_22
|
||||
# 2161| v2161_24(void) = ConditionalBranch : r2161_23
|
||||
#-----| False -> Block 9
|
||||
#-----| True -> Block 8
|
||||
|
||||
# 2164| Block 1
|
||||
# 2164| r2164_1(glval<int>) = VariableAddress[x] :
|
||||
# 2164| r2164_2(int) = Constant[0] :
|
||||
# 2164| mu2164_3(int) = Store[x] : &:r2164_1, r2164_2
|
||||
#-----| Goto -> Block 3
|
||||
# 2162| Block 8
|
||||
# 2162| r2162_1(char) = Constant[0] :
|
||||
# 2162| r2162_2(glval<char>) = VariableAddress[c] :
|
||||
# 2162| mu2162_3(char) = Store[c] : &:r2162_2, r2162_1
|
||||
# 2161| r2161_25(glval<String>) = VariableAddress[s] :
|
||||
# 2161| r2161_26(glval<unknown>) = FunctionAddress[pop_back] :
|
||||
# 2161| r2161_27(char) = Call[pop_back] : func:r2161_26, this:r2161_25
|
||||
# 2161| mu2161_28(unknown) = ^CallSideEffect : ~m?
|
||||
# 2161| v2161_29(void) = ^IndirectReadSideEffect[-1] : &:r2161_25, ~m?
|
||||
# 2161| mu2161_30(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_25
|
||||
# 2161| r2161_31(glval<char>) = VariableAddress[c] :
|
||||
# 2161| mu2161_32(char) = Store[c] : &:r2161_31, r2161_27
|
||||
#-----| Goto (back edge) -> Block 7
|
||||
|
||||
# 2166| Block 2
|
||||
# 2166| r2166_1(glval<int>) = VariableAddress[y] :
|
||||
# 2166| r2166_2(int) = Constant[0] :
|
||||
# 2166| mu2166_3(int) = Store[y] : &:r2166_1, r2166_2
|
||||
#-----| Goto -> Block 3
|
||||
# 2161| Block 9
|
||||
# 2161| r2161_33(glval<String>) = VariableAddress[s2] :
|
||||
# 2161| r2161_34(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2161| v2161_35(void) = Call[~String] : func:r2161_34, this:r2161_33
|
||||
# 2161| mu2161_36(unknown) = ^CallSideEffect : ~m?
|
||||
# 2161| v2161_37(void) = ^IndirectReadSideEffect[-1] : &:r2161_33, ~m?
|
||||
# 2161| mu2161_38(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_33
|
||||
|
||||
# 2167| Block 3
|
||||
# 2161| Block 10
|
||||
# 2161| r2161_39(glval<String>) = VariableAddress[s] :
|
||||
# 2161| r2161_40(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2161| v2161_41(void) = Call[~String] : func:r2161_40, this:r2161_39
|
||||
# 2161| mu2161_42(unknown) = ^CallSideEffect : ~m?
|
||||
# 2161| v2161_43(void) = ^IndirectReadSideEffect[-1] : &:r2161_39, ~m?
|
||||
# 2161| mu2161_44(String) = ^IndirectMayWriteSideEffect[-1] : &:r2161_39
|
||||
# 2164| v2164_1(void) = NoOp :
|
||||
# 2151| v2151_4(void) = ReturnVoid :
|
||||
# 2151| v2151_5(void) = AliasedUse : ~m?
|
||||
# 2151| v2151_6(void) = ExitFunction :
|
||||
|
||||
# 2166| void IfDestructors2(bool)
|
||||
# 2166| Block 0
|
||||
# 2166| v2166_1(void) = EnterFunction :
|
||||
# 2166| mu2166_2(unknown) = AliasedDefinition :
|
||||
# 2166| mu2166_3(unknown) = InitializeNonLocal :
|
||||
# 2166| r2166_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2166| mu2166_5(bool) = InitializeParameter[b] : &:r2166_4
|
||||
# 2167| r2167_1(glval<String>) = VariableAddress[s] :
|
||||
# 2167| r2167_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2167| v2167_3(void) = Call[~String] : func:r2167_2, this:r2167_1
|
||||
# 2167| mu2167_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2167| v2167_5(void) = ^IndirectReadSideEffect[-1] : &:r2167_1, ~m?
|
||||
# 2167| mu2167_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2167_1
|
||||
# 2168| v2168_1(void) = NoOp :
|
||||
# 2162| v2162_6(void) = ReturnVoid :
|
||||
# 2162| v2162_7(void) = AliasedUse : ~m?
|
||||
# 2162| v2162_8(void) = ExitFunction :
|
||||
|
||||
# 2177| void IfDestructors3(bool)
|
||||
# 2177| Block 0
|
||||
# 2177| v2177_1(void) = EnterFunction :
|
||||
# 2177| mu2177_2(unknown) = AliasedDefinition :
|
||||
# 2177| mu2177_3(unknown) = InitializeNonLocal :
|
||||
# 2177| r2177_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2177| mu2177_5(bool) = InitializeParameter[b] : &:r2177_4
|
||||
# 2178| r2178_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2178| mu2178_2(Bool) = Uninitialized[B] : &:r2178_1
|
||||
# 2178| r2178_3(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2178| r2178_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2178| r2178_5(bool) = Load[b] : &:r2178_4, ~m?
|
||||
# 2178| v2178_6(void) = Call[Bool] : func:r2178_3, this:r2178_1, 0:r2178_5
|
||||
# 2178| mu2178_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2178| mu2178_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2178_1
|
||||
# 2178| r2178_9(glval<Bool>) = VariableAddress[B] :
|
||||
# 2178| r2178_10(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2178| r2178_11(bool) = Call[operator bool] : func:r2178_10, this:r2178_9
|
||||
# 2178| mu2178_12(unknown) = ^CallSideEffect : ~m?
|
||||
# 2178| v2178_13(void) = ^IndirectReadSideEffect[-1] : &:r2178_9, ~m?
|
||||
# 2178| mu2178_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2178_9
|
||||
# 2178| r2178_15(bool) = CopyValue : r2178_11
|
||||
# 2178| v2178_16(void) = ConditionalBranch : r2178_15
|
||||
# 2167| mu2167_2(String) = Uninitialized[s] : &:r2167_1
|
||||
# 2167| r2167_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2167| r2167_4(glval<char[6]>) = StringConstant["hello"] :
|
||||
# 2167| r2167_5(char *) = Convert : r2167_4
|
||||
# 2167| v2167_6(void) = Call[String] : func:r2167_3, this:r2167_1, 0:r2167_5
|
||||
# 2167| mu2167_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2167| v2167_8(void) = ^BufferReadSideEffect[0] : &:r2167_5, ~m?
|
||||
# 2167| mu2167_9(String) = ^IndirectMayWriteSideEffect[-1] : &:r2167_1
|
||||
# 2167| r2167_10(glval<bool>) = VariableAddress[b] :
|
||||
# 2167| r2167_11(bool) = Load[b] : &:r2167_10, ~m?
|
||||
# 2167| v2167_12(void) = ConditionalBranch : r2167_11
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 2179| Block 1
|
||||
# 2179| r2179_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2179| mu2179_2(String) = Uninitialized[s1] : &:r2179_1
|
||||
# 2179| r2179_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2179| v2179_4(void) = Call[String] : func:r2179_3, this:r2179_1
|
||||
# 2179| mu2179_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 2179| mu2179_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2179_1
|
||||
# 2180| r2180_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2180| r2180_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2180| v2180_3(void) = Call[~String] : func:r2180_2, this:r2180_1
|
||||
# 2180| mu2180_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2180| v2180_5(void) = ^IndirectReadSideEffect[-1] : &:r2180_1, ~m?
|
||||
# 2180| mu2180_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2180_1
|
||||
# 2168| Block 1
|
||||
# 2168| r2168_1(glval<int>) = VariableAddress[x] :
|
||||
# 2168| r2168_2(int) = Constant[0] :
|
||||
# 2168| mu2168_3(int) = Store[x] : &:r2168_1, r2168_2
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2181| Block 2
|
||||
# 2181| r2181_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2181| mu2181_2(String) = Uninitialized[s2] : &:r2181_1
|
||||
# 2181| r2181_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2181| v2181_4(void) = Call[String] : func:r2181_3, this:r2181_1
|
||||
# 2181| mu2181_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 2181| mu2181_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2181_1
|
||||
# 2182| r2182_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2182| r2182_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2182| v2182_3(void) = Call[~String] : func:r2182_2, this:r2182_1
|
||||
# 2182| mu2182_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2182| v2182_5(void) = ^IndirectReadSideEffect[-1] : &:r2182_1, ~m?
|
||||
# 2182| mu2182_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2182_1
|
||||
# 2170| Block 2
|
||||
# 2170| r2170_1(glval<int>) = VariableAddress[y] :
|
||||
# 2170| r2170_2(int) = Constant[0] :
|
||||
# 2170| mu2170_3(int) = Store[y] : &:r2170_1, r2170_2
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2182| Block 3
|
||||
# 2182| r2182_7(glval<Bool>) = VariableAddress[B] :
|
||||
# 2182| r2182_8(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2182| v2182_9(void) = Call[~Bool] : func:r2182_8, this:r2182_7
|
||||
# 2182| mu2182_10(unknown) = ^CallSideEffect : ~m?
|
||||
# 2182| v2182_11(void) = ^IndirectReadSideEffect[-1] : &:r2182_7, ~m?
|
||||
# 2182| mu2182_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2182_7
|
||||
# 2183| v2183_1(void) = NoOp :
|
||||
# 2177| v2177_6(void) = ReturnVoid :
|
||||
# 2177| v2177_7(void) = AliasedUse : ~m?
|
||||
# 2177| v2177_8(void) = ExitFunction :
|
||||
# 2171| Block 3
|
||||
# 2171| r2171_1(glval<String>) = VariableAddress[s] :
|
||||
# 2171| r2171_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2171| v2171_3(void) = Call[~String] : func:r2171_2, this:r2171_1
|
||||
# 2171| mu2171_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2171| v2171_5(void) = ^IndirectReadSideEffect[-1] : &:r2171_1, ~m?
|
||||
# 2171| mu2171_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2171_1
|
||||
# 2172| v2172_1(void) = NoOp :
|
||||
# 2166| v2166_6(void) = ReturnVoid :
|
||||
# 2166| v2166_7(void) = AliasedUse : ~m?
|
||||
# 2166| v2166_8(void) = ExitFunction :
|
||||
|
||||
# 2193| void WhileLoopDestructors(bool)
|
||||
# 2193| Block 0
|
||||
# 2193| v2193_1(void) = EnterFunction :
|
||||
# 2193| mu2193_2(unknown) = AliasedDefinition :
|
||||
# 2193| mu2193_3(unknown) = InitializeNonLocal :
|
||||
# 2193| r2193_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2193| mu2193_5(bool) = InitializeParameter[b] : &:r2193_4
|
||||
# 2195| r2195_1(glval<String>) = VariableAddress[s] :
|
||||
# 2195| mu2195_2(String) = Uninitialized[s] : &:r2195_1
|
||||
# 2195| r2195_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2195| v2195_4(void) = Call[String] : func:r2195_3, this:r2195_1
|
||||
# 2195| mu2195_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 2195| mu2195_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2195_1
|
||||
# 2181| void IfDestructors3(bool)
|
||||
# 2181| Block 0
|
||||
# 2181| v2181_1(void) = EnterFunction :
|
||||
# 2181| mu2181_2(unknown) = AliasedDefinition :
|
||||
# 2181| mu2181_3(unknown) = InitializeNonLocal :
|
||||
# 2181| r2181_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2181| mu2181_5(bool) = InitializeParameter[b] : &:r2181_4
|
||||
# 2182| r2182_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2182| mu2182_2(Bool) = Uninitialized[B] : &:r2182_1
|
||||
# 2182| r2182_3(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2182| r2182_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2182| r2182_5(bool) = Load[b] : &:r2182_4, ~m?
|
||||
# 2182| v2182_6(void) = Call[Bool] : func:r2182_3, this:r2182_1, 0:r2182_5
|
||||
# 2182| mu2182_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2182| mu2182_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2182_1
|
||||
# 2182| r2182_9(glval<Bool>) = VariableAddress[B] :
|
||||
# 2182| r2182_10(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2182| r2182_11(bool) = Call[operator bool] : func:r2182_10, this:r2182_9
|
||||
# 2182| mu2182_12(unknown) = ^CallSideEffect : ~m?
|
||||
# 2182| v2182_13(void) = ^IndirectReadSideEffect[-1] : &:r2182_9, ~m?
|
||||
# 2182| mu2182_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2182_9
|
||||
# 2182| r2182_15(bool) = CopyValue : r2182_11
|
||||
# 2182| v2182_16(void) = ConditionalBranch : r2182_15
|
||||
#-----| False -> Block 2
|
||||
#-----| True -> Block 1
|
||||
|
||||
# 2183| Block 1
|
||||
# 2183| r2183_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2183| mu2183_2(String) = Uninitialized[s1] : &:r2183_1
|
||||
# 2183| r2183_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2183| v2183_4(void) = Call[String] : func:r2183_3, this:r2183_1
|
||||
# 2183| mu2183_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 2183| mu2183_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2183_1
|
||||
# 2184| r2184_1(glval<String>) = VariableAddress[s1] :
|
||||
# 2184| r2184_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2184| v2184_3(void) = Call[~String] : func:r2184_2, this:r2184_1
|
||||
# 2184| mu2184_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2184| v2184_5(void) = ^IndirectReadSideEffect[-1] : &:r2184_1, ~m?
|
||||
# 2184| mu2184_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2184_1
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2185| Block 2
|
||||
# 2185| r2185_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2185| mu2185_2(String) = Uninitialized[s2] : &:r2185_1
|
||||
# 2185| r2185_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2185| v2185_4(void) = Call[String] : func:r2185_3, this:r2185_1
|
||||
# 2185| mu2185_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 2185| mu2185_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2185_1
|
||||
# 2186| r2186_1(glval<String>) = VariableAddress[s2] :
|
||||
# 2186| r2186_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2186| v2186_3(void) = Call[~String] : func:r2186_2, this:r2186_1
|
||||
# 2186| mu2186_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2186| v2186_5(void) = ^IndirectReadSideEffect[-1] : &:r2186_1, ~m?
|
||||
# 2186| mu2186_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2186_1
|
||||
#-----| Goto -> Block 3
|
||||
|
||||
# 2186| Block 3
|
||||
# 2186| r2186_7(glval<Bool>) = VariableAddress[B] :
|
||||
# 2186| r2186_8(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2186| v2186_9(void) = Call[~Bool] : func:r2186_8, this:r2186_7
|
||||
# 2186| mu2186_10(unknown) = ^CallSideEffect : ~m?
|
||||
# 2186| v2186_11(void) = ^IndirectReadSideEffect[-1] : &:r2186_7, ~m?
|
||||
# 2186| mu2186_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2186_7
|
||||
# 2187| v2187_1(void) = NoOp :
|
||||
# 2181| v2181_6(void) = ReturnVoid :
|
||||
# 2181| v2181_7(void) = AliasedUse : ~m?
|
||||
# 2181| v2181_8(void) = ExitFunction :
|
||||
|
||||
# 2197| void WhileLoopDestructors(bool)
|
||||
# 2197| Block 0
|
||||
# 2197| v2197_1(void) = EnterFunction :
|
||||
# 2197| mu2197_2(unknown) = AliasedDefinition :
|
||||
# 2197| mu2197_3(unknown) = InitializeNonLocal :
|
||||
# 2197| r2197_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2197| mu2197_5(bool) = InitializeParameter[b] : &:r2197_4
|
||||
# 2199| r2199_1(glval<String>) = VariableAddress[s] :
|
||||
# 2199| mu2199_2(String) = Uninitialized[s] : &:r2199_1
|
||||
# 2199| r2199_3(glval<unknown>) = FunctionAddress[String] :
|
||||
# 2199| v2199_4(void) = Call[String] : func:r2199_3, this:r2199_1
|
||||
# 2199| mu2199_5(unknown) = ^CallSideEffect : ~m?
|
||||
# 2199| mu2199_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 2196| Block 1
|
||||
# 2196| r2196_1(glval<bool>) = VariableAddress[b] :
|
||||
# 2196| r2196_2(bool) = Load[b] : &:r2196_1, ~m?
|
||||
# 2196| v2196_3(void) = ConditionalBranch : r2196_2
|
||||
# 2200| Block 1
|
||||
# 2200| r2200_1(glval<bool>) = VariableAddress[b] :
|
||||
# 2200| r2200_2(bool) = Load[b] : &:r2200_1, ~m?
|
||||
# 2200| v2200_3(void) = ConditionalBranch : r2200_2
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 2197| Block 2
|
||||
# 2197| r2197_1(bool) = Constant[0] :
|
||||
# 2197| r2197_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2197| mu2197_3(bool) = Store[b] : &:r2197_2, r2197_1
|
||||
# 2201| Block 2
|
||||
# 2201| r2201_1(bool) = Constant[0] :
|
||||
# 2201| r2201_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2201| mu2201_3(bool) = Store[b] : &:r2201_2, r2201_1
|
||||
#-----| Goto (back edge) -> Block 1
|
||||
|
||||
# 2199| Block 3
|
||||
# 2199| r2199_1(glval<String>) = VariableAddress[s] :
|
||||
# 2199| r2199_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2199| v2199_3(void) = Call[~String] : func:r2199_2, this:r2199_1
|
||||
# 2199| mu2199_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2199| v2199_5(void) = ^IndirectReadSideEffect[-1] : &:r2199_1, ~m?
|
||||
# 2199| mu2199_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2199_1
|
||||
# 2203| Block 3
|
||||
# 2203| r2203_1(glval<String>) = VariableAddress[s] :
|
||||
# 2203| r2203_2(glval<unknown>) = FunctionAddress[~String] :
|
||||
# 2203| v2203_3(void) = Call[~String] : func:r2203_2, this:r2203_1
|
||||
# 2203| mu2203_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2203| v2203_5(void) = ^IndirectReadSideEffect[-1] : &:r2203_1, ~m?
|
||||
# 2203| mu2203_6(String) = ^IndirectMayWriteSideEffect[-1] : &:r2203_1
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 2202| Block 4
|
||||
# 2202| r2202_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2202| mu2202_2(Bool) = Uninitialized[B] : &:r2202_1
|
||||
# 2202| r2202_3(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2202| r2202_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2202| r2202_5(bool) = Load[b] : &:r2202_4, ~m?
|
||||
# 2202| v2202_6(void) = Call[Bool] : func:r2202_3, this:r2202_1, 0:r2202_5
|
||||
# 2202| mu2202_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2202| mu2202_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2202_1
|
||||
# 2202| r2202_9(glval<Bool>) = VariableAddress[B] :
|
||||
# 2202| r2202_10(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2202| r2202_11(bool) = Call[operator bool] : func:r2202_10, this:r2202_9
|
||||
# 2202| mu2202_12(unknown) = ^CallSideEffect : ~m?
|
||||
# 2202| v2202_13(void) = ^IndirectReadSideEffect[-1] : &:r2202_9, ~m?
|
||||
# 2202| mu2202_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2202_9
|
||||
# 2202| r2202_15(bool) = CopyValue : r2202_11
|
||||
# 2202| v2202_16(void) = ConditionalBranch : r2202_15
|
||||
# 2206| Block 4
|
||||
# 2206| r2206_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2206| mu2206_2(Bool) = Uninitialized[B] : &:r2206_1
|
||||
# 2206| r2206_3(glval<unknown>) = FunctionAddress[Bool] :
|
||||
# 2206| r2206_4(glval<bool>) = VariableAddress[b] :
|
||||
# 2206| r2206_5(bool) = Load[b] : &:r2206_4, ~m?
|
||||
# 2206| v2206_6(void) = Call[Bool] : func:r2206_3, this:r2206_1, 0:r2206_5
|
||||
# 2206| mu2206_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 2206| mu2206_8(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2206_1
|
||||
# 2206| r2206_9(glval<Bool>) = VariableAddress[B] :
|
||||
# 2206| r2206_10(glval<unknown>) = FunctionAddress[operator bool] :
|
||||
# 2206| r2206_11(bool) = Call[operator bool] : func:r2206_10, this:r2206_9
|
||||
# 2206| mu2206_12(unknown) = ^CallSideEffect : ~m?
|
||||
# 2206| v2206_13(void) = ^IndirectReadSideEffect[-1] : &:r2206_9, ~m?
|
||||
# 2206| mu2206_14(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2206_9
|
||||
# 2206| r2206_15(bool) = CopyValue : r2206_11
|
||||
# 2206| v2206_16(void) = ConditionalBranch : r2206_15
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 2203| Block 5
|
||||
# 2203| r2203_1(bool) = Constant[0] :
|
||||
# 2203| r2203_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2203| mu2203_3(bool) = Store[b] : &:r2203_2, r2203_1
|
||||
# 2204| r2204_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2204| r2204_2(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2204| v2204_3(void) = Call[~Bool] : func:r2204_2, this:r2204_1
|
||||
# 2204| mu2204_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2204| v2204_5(void) = ^IndirectReadSideEffect[-1] : &:r2204_1, ~m?
|
||||
# 2204| mu2204_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2204_1
|
||||
# 2207| Block 5
|
||||
# 2207| r2207_1(bool) = Constant[0] :
|
||||
# 2207| r2207_2(glval<bool>) = VariableAddress[b] :
|
||||
# 2207| mu2207_3(bool) = Store[b] : &:r2207_2, r2207_1
|
||||
# 2208| r2208_1(glval<Bool>) = VariableAddress[B] :
|
||||
# 2208| r2208_2(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2208| v2208_3(void) = Call[~Bool] : func:r2208_2, this:r2208_1
|
||||
# 2208| mu2208_4(unknown) = ^CallSideEffect : ~m?
|
||||
# 2208| v2208_5(void) = ^IndirectReadSideEffect[-1] : &:r2208_1, ~m?
|
||||
# 2208| mu2208_6(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2208_1
|
||||
#-----| Goto (back edge) -> Block 4
|
||||
|
||||
# 2204| Block 6
|
||||
# 2204| r2204_7(glval<Bool>) = VariableAddress[B] :
|
||||
# 2204| r2204_8(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2204| v2204_9(void) = Call[~Bool] : func:r2204_8, this:r2204_7
|
||||
# 2204| mu2204_10(unknown) = ^CallSideEffect : ~m?
|
||||
# 2204| v2204_11(void) = ^IndirectReadSideEffect[-1] : &:r2204_7, ~m?
|
||||
# 2204| mu2204_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2204_7
|
||||
# 2206| v2206_1(void) = NoOp :
|
||||
# 2193| v2193_6(void) = ReturnVoid :
|
||||
# 2193| v2193_7(void) = AliasedUse : ~m?
|
||||
# 2193| v2193_8(void) = ExitFunction :
|
||||
# 2208| Block 6
|
||||
# 2208| r2208_7(glval<Bool>) = VariableAddress[B] :
|
||||
# 2208| r2208_8(glval<unknown>) = FunctionAddress[~Bool] :
|
||||
# 2208| v2208_9(void) = Call[~Bool] : func:r2208_8, this:r2208_7
|
||||
# 2208| mu2208_10(unknown) = ^CallSideEffect : ~m?
|
||||
# 2208| v2208_11(void) = ^IndirectReadSideEffect[-1] : &:r2208_7, ~m?
|
||||
# 2208| mu2208_12(Bool) = ^IndirectMayWriteSideEffect[-1] : &:r2208_7
|
||||
# 2210| v2210_1(void) = NoOp :
|
||||
# 2197| v2197_6(void) = ReturnVoid :
|
||||
# 2197| v2197_7(void) = AliasedUse : ~m?
|
||||
# 2197| v2197_8(void) = ExitFunction :
|
||||
|
||||
perf-regression.cpp:
|
||||
# 6| void Big::Big()
|
||||
|
||||
@@ -6,6 +6,7 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:2161:28:2161:29 | IndirectMayWriteSideEffect: s2 | Instruction 'IndirectMayWriteSideEffect: s2' has no successors in function '$@'. | ir.cpp:2151:6:2151:19 | void ForDestructors() | void ForDestructors() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,6 +6,7 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:2161:28:2161:29 | IndirectMayWriteSideEffect: s2 | Instruction 'IndirectMayWriteSideEffect: s2' has no successors in function '$@'. | ir.cpp:2151:6:2151:19 | void ForDestructors() | void ForDestructors() |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
Reference in New Issue
Block a user