mirror of
https://github.com/github/codeql.git
synced 2026-01-27 21:33:03 +01:00
Merge pull request #8554 from jketema/bitwise-lambda-capture-init
C++: Handle bitwise copies in lambda captures
This commit is contained in:
@@ -58,11 +58,5 @@ where
|
||||
not exists(AsmStmt s | f = s.getEnclosingFunction()) and
|
||||
not v.getAnAttribute().getName() = "unused" and
|
||||
not any(ErrorExpr e).getEnclosingFunction() = f and // unextracted expr may use `v`
|
||||
not exists(
|
||||
Literal l // this case can be removed when the `myFunction2( [obj](){} );` test case doesn't depend on this exclusion
|
||||
|
|
||||
l.getEnclosingFunction() = f and
|
||||
not exists(l.getValue())
|
||||
) and
|
||||
not any(ConditionDeclExpr cde).getEnclosingFunction() = f // this case can be removed when the `if (a = b; a)` test case doesn't depend on this exclusion
|
||||
select v, "Variable " + v.getName() + " is not used"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
category: minorAnalysis
|
||||
---
|
||||
* The `cpp/unused-local-variable` no longer ignores functions that include lambda expressions capturing trivially copyable objects.
|
||||
@@ -155,21 +155,27 @@ bad_asts.cpp:
|
||||
# 19| getInitializer(0): [ConstructorFieldInit] constructor init of field x
|
||||
# 19| Type = [IntType] int
|
||||
# 19| ValueCategory = prvalue
|
||||
# 19| getExpr(): [FieldAccess] x
|
||||
# 19| getExpr(): [ReferenceFieldAccess] x
|
||||
# 19| Type = [IntType] int
|
||||
# 19| ValueCategory = prvalue(load)
|
||||
# 19| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 19| Type = [LValueReferenceType] const Point &
|
||||
# 19| ValueCategory = prvalue(load)
|
||||
# 19| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 19| Type = [SpecifiedType] const Point
|
||||
# 19| ValueCategory = lvalue
|
||||
# 19| getInitializer(1): [ConstructorFieldInit] constructor init of field y
|
||||
# 19| Type = [IntType] int
|
||||
# 19| ValueCategory = prvalue
|
||||
# 19| getExpr(): [FieldAccess] y
|
||||
# 19| getExpr(): [ReferenceFieldAccess] y
|
||||
# 19| Type = [IntType] int
|
||||
# 19| ValueCategory = prvalue(load)
|
||||
# 19| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 19| Type = [LValueReferenceType] const Point &
|
||||
# 19| ValueCategory = prvalue(load)
|
||||
# 19| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 19| Type = [SpecifiedType] const Point
|
||||
# 19| ValueCategory = lvalue
|
||||
# 19| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 19| getStmt(0): [ReturnStmt] return ...
|
||||
# 19| [MoveConstructor] void Bad::Point::Point(Bad::Point&&)
|
||||
@@ -11651,75 +11657,99 @@ ir.cpp:
|
||||
# 1486| getInitializer(0): [ConstructorFieldInit] constructor init of field i
|
||||
# 1486| Type = [IntType] int
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] i
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] i
|
||||
# 1486| Type = [IntType] int
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(1): [ConstructorFieldInit] constructor init of field d
|
||||
# 1486| Type = [DoubleType] double
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] d
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] d
|
||||
# 1486| Type = [DoubleType] double
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(2): [ConstructorFieldInit] constructor init of field b
|
||||
# 1486| Type = [IntType] unsigned int
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] b
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] b
|
||||
# 1486| Type = [IntType] unsigned int
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(3): [ConstructorFieldInit] constructor init of field r
|
||||
# 1486| Type = [LValueReferenceType] int &
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] r
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] r
|
||||
# 1486| Type = [LValueReferenceType] int &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(4): [ConstructorFieldInit] constructor init of field p
|
||||
# 1486| Type = [IntPointerType] int *
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] p
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] p
|
||||
# 1486| Type = [IntPointerType] int *
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(5): [ConstructorFieldInit] constructor init of field xs
|
||||
# 1486| Type = [CTypedefType,NestedTypedefType] ArrayType
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] xs
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] xs
|
||||
# 1486| Type = [CTypedefType,NestedTypedefType] ArrayType
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(6): [ConstructorFieldInit] constructor init of field r_alt
|
||||
# 1486| Type = [CTypedefType,NestedTypedefType] RefType
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] r_alt
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] r_alt
|
||||
# 1486| Type = [CTypedefType,NestedTypedefType] RefType
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getInitializer(7): [ConstructorFieldInit] constructor init of field m
|
||||
# 1486| Type = [Struct] StructuredBindingDataMemberMemberStruct
|
||||
# 1486| ValueCategory = prvalue
|
||||
# 1486| getExpr(): [FieldAccess] m
|
||||
# 1486| getExpr(): [ReferenceFieldAccess] m
|
||||
# 1486| Type = [Struct] StructuredBindingDataMemberMemberStruct
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1486| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
|
||||
# 1486| ValueCategory = prvalue(load)
|
||||
# 1486| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1486| Type = [SpecifiedType] const StructuredBindingDataMemberStruct
|
||||
# 1486| ValueCategory = lvalue
|
||||
# 1486| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1486| getStmt(0): [ReturnStmt] return ...
|
||||
# 1486| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&)
|
||||
@@ -12096,30 +12126,39 @@ ir.cpp:
|
||||
# 1539| getInitializer(0): [ConstructorFieldInit] constructor init of field i
|
||||
# 1539| Type = [IntType] int
|
||||
# 1539| ValueCategory = prvalue
|
||||
# 1539| getExpr(): [FieldAccess] i
|
||||
# 1539| getExpr(): [ReferenceFieldAccess] i
|
||||
# 1539| Type = [IntType] int
|
||||
# 1539| ValueCategory = prvalue(load)
|
||||
# 1539| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1539| Type = [LValueReferenceType] const StructuredBindingTupleRefGet &
|
||||
# 1539| ValueCategory = prvalue(load)
|
||||
# 1539| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1539| Type = [SpecifiedType] const StructuredBindingTupleRefGet
|
||||
# 1539| ValueCategory = lvalue
|
||||
# 1539| getInitializer(1): [ConstructorFieldInit] constructor init of field d
|
||||
# 1539| Type = [DoubleType] double
|
||||
# 1539| ValueCategory = prvalue
|
||||
# 1539| getExpr(): [FieldAccess] d
|
||||
# 1539| getExpr(): [ReferenceFieldAccess] d
|
||||
# 1539| Type = [DoubleType] double
|
||||
# 1539| ValueCategory = prvalue(load)
|
||||
# 1539| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1539| Type = [LValueReferenceType] const StructuredBindingTupleRefGet &
|
||||
# 1539| ValueCategory = prvalue(load)
|
||||
# 1539| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1539| Type = [SpecifiedType] const StructuredBindingTupleRefGet
|
||||
# 1539| ValueCategory = lvalue
|
||||
# 1539| getInitializer(2): [ConstructorFieldInit] constructor init of field r
|
||||
# 1539| Type = [LValueReferenceType] int &
|
||||
# 1539| ValueCategory = prvalue
|
||||
# 1539| getExpr(): [FieldAccess] r
|
||||
# 1539| getExpr(): [ReferenceFieldAccess] r
|
||||
# 1539| Type = [LValueReferenceType] int &
|
||||
# 1539| ValueCategory = prvalue(load)
|
||||
# 1539| getQualifier(): [VariableAccess] (unnamed parameter 0)
|
||||
# 1539| Type = [LValueReferenceType] const StructuredBindingTupleRefGet &
|
||||
# 1539| ValueCategory = prvalue(load)
|
||||
# 1539| getQualifier().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1539| Type = [SpecifiedType] const StructuredBindingTupleRefGet
|
||||
# 1539| ValueCategory = lvalue
|
||||
# 1539| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1539| getStmt(0): [ReturnStmt] return ...
|
||||
# 1539| [MoveConstructor] void StructuredBindingTupleRefGet::StructuredBindingTupleRefGet(StructuredBindingTupleRefGet&&)
|
||||
@@ -12981,12 +13020,12 @@ ir.cpp:
|
||||
# 1688| getInitializer(): [ClassAggregateLiteral] {...}
|
||||
# 1688| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1688| ValueCategory = prvalue
|
||||
# 1688| getFieldExpr(obj1): [Literal] Unknown literal
|
||||
# 1688| Type = [SpecifiedType] const CapturedLambdaMyObj
|
||||
# 1688| ValueCategory = prvalue
|
||||
# 1688| getFieldExpr(obj2): [Literal] Unknown literal
|
||||
# 1688| getFieldExpr(obj1): [VariableAccess] obj1
|
||||
# 1688| Type = [LValueReferenceType] const CapturedLambdaMyObj &
|
||||
# 1688| ValueCategory = prvalue(load)
|
||||
# 1688| getFieldExpr(obj2): [VariableAccess] obj2
|
||||
# 1688| Type = [Class] CapturedLambdaMyObj
|
||||
# 1688| ValueCategory = prvalue
|
||||
# 1688| ValueCategory = prvalue(load)
|
||||
# 1688| getFieldExpr(x): [VariableAccess] x
|
||||
# 1688| Type = [IntType] int
|
||||
# 1688| ValueCategory = prvalue(load)
|
||||
@@ -12996,6 +13035,9 @@ ir.cpp:
|
||||
# 1688| getFieldExpr(z): [VariableAccess] z
|
||||
# 1688| Type = [RValueReferenceType] int &&
|
||||
# 1688| ValueCategory = prvalue(load)
|
||||
#-----| getFieldExpr(obj1).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
#-----| Type = [SpecifiedType] const CapturedLambdaMyObj
|
||||
#-----| ValueCategory = prvalue(load)
|
||||
# 1690| getFieldExpr(y).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 1690| Type = [IntType] int
|
||||
# 1690| ValueCategory = prvalue(load)
|
||||
@@ -13030,12 +13072,18 @@ ir.cpp:
|
||||
# 1689| getInitializer(): [ClassAggregateLiteral] {...}
|
||||
# 1689| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1689| ValueCategory = prvalue
|
||||
# 1689| getFieldExpr(obj1): [Literal] Unknown literal
|
||||
# 1689| getFieldExpr(obj1): [PointerFieldAccess] obj1
|
||||
# 1689| Type = [SpecifiedType] const CapturedLambdaMyObj
|
||||
# 1689| ValueCategory = prvalue
|
||||
# 1689| getFieldExpr(obj2): [Literal] Unknown literal
|
||||
# 1689| ValueCategory = prvalue(load)
|
||||
# 1689| getQualifier(): [ThisExpr] this
|
||||
# 1689| Type = [PointerType] lambda [] type at line 1689, col. 29 *
|
||||
# 1689| ValueCategory = prvalue(load)
|
||||
# 1689| getFieldExpr(obj2): [PointerFieldAccess] obj2
|
||||
# 1689| Type = [Class] CapturedLambdaMyObj
|
||||
# 1689| ValueCategory = prvalue
|
||||
# 1689| ValueCategory = prvalue(load)
|
||||
# 1689| getQualifier(): [ThisExpr] this
|
||||
# 1689| Type = [PointerType] lambda [] type at line 1689, col. 29 *
|
||||
# 1689| ValueCategory = prvalue(load)
|
||||
# 1689| getFieldExpr(x): [PointerFieldAccess] x
|
||||
# 1689| Type = [IntType] int
|
||||
# 1689| ValueCategory = prvalue(load)
|
||||
@@ -13091,6 +13139,232 @@ ir.cpp:
|
||||
# 1696| getExpr(): [VariableAccess] x
|
||||
# 1696| Type = [IntType] int
|
||||
# 1696| ValueCategory = prvalue(load)
|
||||
# 1699| [CopyAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass const&)
|
||||
# 1699| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const TrivialLambdaClass &
|
||||
# 1699| [MoveAssignmentOperator] TrivialLambdaClass& TrivialLambdaClass::operator=(TrivialLambdaClass&&)
|
||||
# 1699| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [RValueReferenceType] TrivialLambdaClass &&
|
||||
# 1701| [ConstMemberFunction] void TrivialLambdaClass::m() const
|
||||
# 1701| <params>:
|
||||
# 1701| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1702| getStmt(0): [DeclStmt] declaration
|
||||
# 1702| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_outer
|
||||
# 1702| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1702| getVariable().getInitializer(): [Initializer] initializer for l_m_outer
|
||||
# 1702| getExpr(): [LambdaExpression] [...](...){...}
|
||||
# 1702| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1702| ValueCategory = prvalue
|
||||
# 1702| getInitializer(): [ClassAggregateLiteral] {...}
|
||||
# 1702| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1702| ValueCategory = prvalue
|
||||
# 1702| getFieldExpr((captured this)): [PointerDereferenceExpr] * ...
|
||||
# 1702| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1702| ValueCategory = prvalue(load)
|
||||
# 1702| getOperand(): [ThisExpr] this
|
||||
# 1702| Type = [SpecifiedType] const TrivialLambdaClass *const
|
||||
# 1702| ValueCategory = prvalue(load)
|
||||
# 1709| getStmt(1): [ReturnStmt] return ...
|
||||
# 1702| [CopyAssignmentOperator] (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)& (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator=((void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26) const&)
|
||||
# 1702| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1702, col. 26 &
|
||||
# 1702| [CopyConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26) const&)
|
||||
# 1702| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1702, col. 26 &
|
||||
# 1702| [MoveConstructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::(unnamed constructor)((void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)&&)
|
||||
# 1702| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [RValueReferenceType] lambda [] type at line 1702, col. 26 &&
|
||||
# 1702| [Constructor] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::(unnamed constructor)()
|
||||
# 1702| <params>:
|
||||
# 1702| [ConstMemberFunction] void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const
|
||||
# 1702| <params>:
|
||||
# 1702| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1703| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 1703| getExpr(): [FunctionCall] call to m
|
||||
# 1703| Type = [VoidType] void
|
||||
# 1703| ValueCategory = prvalue
|
||||
# 1703| getQualifier(): [AddressOfExpr] & ...
|
||||
# 1703| Type = [PointerType] const TrivialLambdaClass *
|
||||
# 1703| ValueCategory = prvalue
|
||||
# 1703| getOperand(): [PointerFieldAccess] (captured this)
|
||||
# 1703| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1703| ValueCategory = lvalue
|
||||
# 1703| getQualifier(): [ThisExpr] this
|
||||
# 1703| Type = [PointerType] const lambda [] type at line 1702, col. 26 *
|
||||
# 1703| ValueCategory = prvalue(load)
|
||||
# 1705| getStmt(1): [DeclStmt] declaration
|
||||
# 1705| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_m_inner
|
||||
# 1705| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1705| getVariable().getInitializer(): [Initializer] initializer for l_m_inner
|
||||
# 1705| getExpr(): [LambdaExpression] [...](...){...}
|
||||
# 1705| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1705| ValueCategory = prvalue
|
||||
# 1705| getInitializer(): [ClassAggregateLiteral] {...}
|
||||
# 1705| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1705| ValueCategory = prvalue
|
||||
# 1705| getFieldExpr((captured this)): [PointerFieldAccess] (captured this)
|
||||
# 1705| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1705| ValueCategory = prvalue(load)
|
||||
# 1705| getQualifier(): [ThisExpr] this
|
||||
# 1705| Type = [PointerType] lambda [] type at line 1705, col. 30 *
|
||||
# 1705| ValueCategory = prvalue(load)
|
||||
# 1708| getStmt(2): [ReturnStmt] return ...
|
||||
# 1705| [CopyAssignmentOperator] (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)& (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator=((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30) const&)
|
||||
# 1705| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1705, col. 30 &
|
||||
# 1705| [CopyConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30) const&)
|
||||
# 1705| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1705, col. 30 &
|
||||
# 1705| [MoveConstructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::(unnamed constructor)((void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)&&)
|
||||
# 1705| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [RValueReferenceType] lambda [] type at line 1705, col. 30 &&
|
||||
# 1705| [Constructor] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::(unnamed constructor)()
|
||||
# 1705| <params>:
|
||||
# 1705| [ConstMemberFunction] void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator()() const
|
||||
# 1705| <params>:
|
||||
# 1705| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1706| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 1706| getExpr(): [FunctionCall] call to m
|
||||
# 1706| Type = [VoidType] void
|
||||
# 1706| ValueCategory = prvalue
|
||||
# 1706| getQualifier(): [AddressOfExpr] & ...
|
||||
# 1706| Type = [PointerType] const TrivialLambdaClass *
|
||||
# 1706| ValueCategory = prvalue
|
||||
# 1706| getOperand(): [PointerFieldAccess] (captured this)
|
||||
# 1706| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1706| ValueCategory = lvalue
|
||||
# 1706| getQualifier(): [ThisExpr] this
|
||||
# 1706| Type = [PointerType] const lambda [] type at line 1705, col. 30 *
|
||||
# 1706| ValueCategory = prvalue(load)
|
||||
# 1707| getStmt(1): [ReturnStmt] return ...
|
||||
# 1712| [TopLevelFunction] void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&)
|
||||
# 1712| <params>:
|
||||
# 1712| getParameter(0): [Parameter] p1
|
||||
# 1712| Type = [Class] TrivialLambdaClass
|
||||
# 1712| getParameter(1): [Parameter] p2
|
||||
# 1712| Type = [LValueReferenceType] TrivialLambdaClass &
|
||||
# 1712| getParameter(2): [Parameter] p3
|
||||
# 1712| Type = [RValueReferenceType] TrivialLambdaClass &&
|
||||
# 1712| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1713| getStmt(0): [DeclStmt] declaration
|
||||
# 1713| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l1
|
||||
# 1713| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1714| getStmt(1): [DeclStmt] declaration
|
||||
# 1714| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l2
|
||||
# 1714| Type = [LValueReferenceType] const TrivialLambdaClass &
|
||||
# 1714| getVariable().getInitializer(): [Initializer] initializer for l2
|
||||
# 1714| getExpr(): [Literal] 0
|
||||
# 1714| Type = [Class] TrivialLambdaClass
|
||||
# 1714| Value = [Literal] 0
|
||||
# 1714| ValueCategory = prvalue
|
||||
# 1714| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 1714| Type = [LValueReferenceType] const TrivialLambdaClass &
|
||||
# 1714| ValueCategory = prvalue
|
||||
# 1714| getExpr(): [CStyleCast] (const TrivialLambdaClass)...
|
||||
# 1714| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 1714| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1714| ValueCategory = lvalue
|
||||
# 1714| getExpr(): [TemporaryObjectExpr] temporary object
|
||||
# 1714| Type = [Class] TrivialLambdaClass
|
||||
# 1714| ValueCategory = lvalue
|
||||
# 1714| getExpr(): [TemporaryObjectExpr] temporary object
|
||||
# 1714| Type = [Class] TrivialLambdaClass
|
||||
# 1714| ValueCategory = prvalue(load)
|
||||
# 1716| getStmt(2): [DeclStmt] declaration
|
||||
# 1716| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_outer1
|
||||
# 1716| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1716| getVariable().getInitializer(): [Initializer] initializer for l_outer1
|
||||
# 1716| getExpr(): [LambdaExpression] [...](...){...}
|
||||
# 1716| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1716| ValueCategory = prvalue
|
||||
# 1716| getInitializer(): [ClassAggregateLiteral] {...}
|
||||
# 1716| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1716| ValueCategory = prvalue
|
||||
# 1716| getFieldExpr(p1): [VariableAccess] p1
|
||||
# 1716| Type = [Class] TrivialLambdaClass
|
||||
# 1716| ValueCategory = prvalue(load)
|
||||
# 1716| getFieldExpr(p2): [VariableAccess] p2
|
||||
# 1716| Type = [LValueReferenceType] TrivialLambdaClass &
|
||||
# 1716| ValueCategory = prvalue(load)
|
||||
# 1716| getFieldExpr(p3): [VariableAccess] p3
|
||||
# 1716| Type = [RValueReferenceType] TrivialLambdaClass &&
|
||||
# 1716| ValueCategory = prvalue(load)
|
||||
# 1716| getFieldExpr(l1): [VariableAccess] l1
|
||||
# 1716| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
# 1716| ValueCategory = prvalue(load)
|
||||
# 1716| getFieldExpr(l2): [VariableAccess] l2
|
||||
# 1716| Type = [LValueReferenceType] const TrivialLambdaClass &
|
||||
# 1716| ValueCategory = prvalue(load)
|
||||
#-----| getFieldExpr(p2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
#-----| Type = [Class] TrivialLambdaClass
|
||||
#-----| ValueCategory = prvalue(load)
|
||||
#-----| getFieldExpr(p3).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
#-----| Type = [Class] TrivialLambdaClass
|
||||
#-----| ValueCategory = prvalue(load)
|
||||
#-----| getFieldExpr(l2).getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
#-----| Type = [SpecifiedType] const TrivialLambdaClass
|
||||
#-----| ValueCategory = prvalue(load)
|
||||
# 1719| getStmt(3): [ReturnStmt] return ...
|
||||
# 1716| [CopyAssignmentOperator] (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)& (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator=((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21) const&)
|
||||
# 1716| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1716, col. 21 &
|
||||
# 1716| [CopyConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21) const&)
|
||||
# 1716| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1716, col. 21 &
|
||||
# 1716| [MoveConstructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::(unnamed constructor)((void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)&&)
|
||||
# 1716| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [RValueReferenceType] lambda [] type at line 1716, col. 21 &&
|
||||
# 1716| [Constructor] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::(unnamed constructor)()
|
||||
# 1716| <params>:
|
||||
# 1716| [ConstMemberFunction] void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const
|
||||
# 1716| <params>:
|
||||
# 1716| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1717| getStmt(0): [DeclStmt] declaration
|
||||
# 1717| getDeclarationEntry(0): [VariableDeclarationEntry] definition of l_inner1
|
||||
# 1717| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1717| getVariable().getInitializer(): [Initializer] initializer for l_inner1
|
||||
# 1717| getExpr(): [LambdaExpression] [...](...){...}
|
||||
# 1717| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1717| ValueCategory = prvalue
|
||||
# 1717| getInitializer(): [ClassAggregateLiteral] {...}
|
||||
# 1717| Type = [Closure,LocalClass] decltype([...](...){...})
|
||||
# 1717| ValueCategory = prvalue
|
||||
# 1717| getFieldExpr(p1): [PointerFieldAccess] p1
|
||||
# 1717| Type = [Class] TrivialLambdaClass
|
||||
# 1717| ValueCategory = prvalue(load)
|
||||
# 1717| getQualifier(): [ThisExpr] this
|
||||
# 1717| Type = [PointerType] lambda [] type at line 1717, col. 25 *
|
||||
# 1717| ValueCategory = prvalue(load)
|
||||
# 1718| getStmt(1): [ReturnStmt] return ...
|
||||
# 1717| [CopyAssignmentOperator] (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)& (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator=((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25) const&)
|
||||
# 1717| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1717, col. 25 &
|
||||
# 1717| [CopyConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25) const&)
|
||||
# 1717| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const lambda [] type at line 1717, col. 25 &
|
||||
# 1717| [MoveConstructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::(unnamed constructor)((void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)&&)
|
||||
# 1717| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [RValueReferenceType] lambda [] type at line 1717, col. 25 &&
|
||||
# 1717| [Constructor] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::(unnamed constructor)()
|
||||
# 1717| <params>:
|
||||
# 1717| [ConstMemberFunction] void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator()() const
|
||||
# 1717| <params>:
|
||||
# 1717| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1717| getStmt(0): [ReturnStmt] return ...
|
||||
perf-regression.cpp:
|
||||
# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
|
||||
# 4| <params>:
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:1688:24:1690:5 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1689:28:1689:54 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:1688:24:1690:5 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1689:28:1689:54 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -1696,4 +1696,26 @@ int goto_on_same_line() {
|
||||
return x;
|
||||
}
|
||||
|
||||
class TrivialLambdaClass {
|
||||
public:
|
||||
void m() const {
|
||||
auto l_m_outer = [*this] {
|
||||
m();
|
||||
|
||||
auto l_m_inner = [*this] {
|
||||
m();
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
void captured_lambda2(TrivialLambdaClass p1, TrivialLambdaClass &p2, TrivialLambdaClass &&p3) {
|
||||
const TrivialLambdaClass l1;
|
||||
const TrivialLambdaClass &l2 = TrivialLambdaClass();
|
||||
|
||||
auto l_outer1 = [p1, p2, p3, l1, l2] {
|
||||
auto l_inner1 = [p1] {};
|
||||
};
|
||||
}
|
||||
|
||||
// semmle-extractor-options: -std=c++17 --clang
|
||||
|
||||
@@ -47,29 +47,31 @@
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_7 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_9 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_10 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_12 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_16 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_13 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_17 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_19 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_18 |
|
||||
| bad_asts.cpp:19:10:19:10 | Address | &:r19_21 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiPartial | partial:m19_3 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiPartial | partial:m19_14 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiPartial | partial:m19_21 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiPartial | partial:m19_15 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiPartial | partial:m19_23 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiTotal | total:m19_2 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiTotal | total:m19_8 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiTotal | total:m19_15 |
|
||||
| bad_asts.cpp:19:10:19:10 | ChiTotal | total:m19_16 |
|
||||
| bad_asts.cpp:19:10:19:10 | Load | m0_2 |
|
||||
| bad_asts.cpp:19:10:19:10 | Load | m0_2 |
|
||||
| bad_asts.cpp:19:10:19:10 | Load | m19_6 |
|
||||
| bad_asts.cpp:19:10:19:10 | Load | ~m0_4 |
|
||||
| bad_asts.cpp:19:10:19:10 | Load | ~m0_4 |
|
||||
| bad_asts.cpp:19:10:19:10 | SideEffect | m19_3 |
|
||||
| bad_asts.cpp:19:10:19:10 | SideEffect | m19_22 |
|
||||
| bad_asts.cpp:19:10:19:10 | StoreValue | r19_13 |
|
||||
| bad_asts.cpp:19:10:19:10 | StoreValue | r19_20 |
|
||||
| bad_asts.cpp:19:10:19:10 | SideEffect | m19_24 |
|
||||
| bad_asts.cpp:19:10:19:10 | StoreValue | r19_14 |
|
||||
| bad_asts.cpp:19:10:19:10 | StoreValue | r19_22 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | m19_6 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | m19_6 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | r19_11 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | r19_18 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | r19_12 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | r19_19 |
|
||||
| bad_asts.cpp:19:10:19:10 | Unary | r19_20 |
|
||||
| bad_asts.cpp:22:5:22:9 | Address | &:r22_5 |
|
||||
| bad_asts.cpp:22:5:22:9 | Address | &:r22_5 |
|
||||
| bad_asts.cpp:22:5:22:9 | Address | &:r22_7 |
|
||||
@@ -716,15 +718,23 @@
|
||||
| file://:0:0:0:0 | Arg(0) | 0:r0_15 |
|
||||
| file://:0:0:0:0 | CallTarget | func:r0_1 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_2 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_2 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_2 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_3 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_5 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_5 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_8 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_11 |
|
||||
| file://:0:0:0:0 | ChiPartial | partial:m0_11 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m0_3 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m0_4 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m754_8 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m763_8 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m1043_10 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m1240_4 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m1688_3 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m1716_8 |
|
||||
| file://:0:0:0:0 | ChiTotal | total:m1716_19 |
|
||||
| file://:0:0:0:0 | Left | r0_2 |
|
||||
| file://:0:0:0:0 | Left | r0_4 |
|
||||
| file://:0:0:0:0 | Left | r0_7 |
|
||||
@@ -741,7 +751,11 @@
|
||||
| file://:0:0:0:0 | Load | m763_6 |
|
||||
| file://:0:0:0:0 | Load | m1466_4 |
|
||||
| file://:0:0:0:0 | Load | m1466_4 |
|
||||
| file://:0:0:0:0 | Load | m1685_9 |
|
||||
| file://:0:0:0:0 | Load | m1714_7 |
|
||||
| file://:0:0:0:0 | Load | ~m1444_6 |
|
||||
| file://:0:0:0:0 | Load | ~m1712_10 |
|
||||
| file://:0:0:0:0 | Load | ~m1712_14 |
|
||||
| file://:0:0:0:0 | Right | r0_3 |
|
||||
| file://:0:0:0:0 | Right | r0_5 |
|
||||
| file://:0:0:0:0 | Right | r0_8 |
|
||||
@@ -776,9 +790,13 @@
|
||||
| file://:0:0:0:0 | StoreValue | r0_1 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_1 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_1 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_1 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_1 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_3 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_4 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_4 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_6 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_7 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_9 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_13 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_13 |
|
||||
@@ -6824,48 +6842,48 @@
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_7 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_9 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_10 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_12 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_16 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_13 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_17 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_19 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_23 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_24 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_18 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_21 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_25 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_26 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_30 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_31 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_29 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_33 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_34 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_37 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_38 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_40 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_44 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_41 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_42 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_45 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_47 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_51 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_52 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_54 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_49 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_50 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_53 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_57 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_58 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_59 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_61 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_65 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_66 |
|
||||
| ir.cpp:1486:8:1486:8 | Address | &:r1486_69 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_3 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_3 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_14 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_21 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_28 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_35 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_42 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_49 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_56 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_15 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_23 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_31 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_39 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_47 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_55 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_63 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiPartial | partial:m1486_71 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_2 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_2 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_8 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_15 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_22 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_29 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_36 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_43 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_50 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_57 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_16 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_24 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_32 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_40 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_48 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_56 |
|
||||
| ir.cpp:1486:8:1486:8 | ChiTotal | total:m1486_64 |
|
||||
| ir.cpp:1486:8:1486:8 | Load | m0_2 |
|
||||
| ir.cpp:1486:8:1486:8 | Load | m0_2 |
|
||||
| ir.cpp:1486:8:1486:8 | Load | m0_2 |
|
||||
@@ -6887,15 +6905,15 @@
|
||||
| ir.cpp:1486:8:1486:8 | SideEffect | m1486_3 |
|
||||
| ir.cpp:1486:8:1486:8 | SideEffect | m1486_3 |
|
||||
| ir.cpp:1486:8:1486:8 | SideEffect | m1486_8 |
|
||||
| ir.cpp:1486:8:1486:8 | SideEffect | m1486_64 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_13 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_20 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_27 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_34 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_41 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_48 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_55 |
|
||||
| ir.cpp:1486:8:1486:8 | SideEffect | m1486_72 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_14 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_22 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_30 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_38 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_46 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_54 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_62 |
|
||||
| ir.cpp:1486:8:1486:8 | StoreValue | r1486_70 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | m1486_6 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | m1486_6 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | m1486_6 |
|
||||
@@ -6905,13 +6923,21 @@
|
||||
| ir.cpp:1486:8:1486:8 | Unary | m1486_6 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | m1486_6 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_11 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_18 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_25 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_32 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_39 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_46 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_53 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_12 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_19 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_20 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_27 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_28 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_35 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_36 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_43 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_44 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_51 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_52 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_59 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_60 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_67 |
|
||||
| ir.cpp:1486:8:1486:8 | Unary | r1486_68 |
|
||||
| ir.cpp:1499:6:1499:35 | ChiPartial | partial:m1499_3 |
|
||||
| ir.cpp:1499:6:1499:35 | ChiTotal | total:m1499_2 |
|
||||
| ir.cpp:1499:6:1499:35 | SideEffect | ~m1525_7 |
|
||||
@@ -7092,23 +7118,23 @@
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_7 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_9 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_10 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_12 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_16 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_13 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_17 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_19 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_23 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_24 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_18 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_21 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_25 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_26 |
|
||||
| ir.cpp:1539:8:1539:8 | Address | &:r1539_29 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_3 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_3 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_14 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_21 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_28 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_15 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_23 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiPartial | partial:m1539_31 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_2 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_2 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_8 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_15 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_22 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_16 |
|
||||
| ir.cpp:1539:8:1539:8 | ChiTotal | total:m1539_24 |
|
||||
| ir.cpp:1539:8:1539:8 | Load | m0_2 |
|
||||
| ir.cpp:1539:8:1539:8 | Load | m0_2 |
|
||||
| ir.cpp:1539:8:1539:8 | Load | m0_2 |
|
||||
@@ -7120,16 +7146,19 @@
|
||||
| ir.cpp:1539:8:1539:8 | SideEffect | m1539_3 |
|
||||
| ir.cpp:1539:8:1539:8 | SideEffect | m1539_3 |
|
||||
| ir.cpp:1539:8:1539:8 | SideEffect | m1539_8 |
|
||||
| ir.cpp:1539:8:1539:8 | SideEffect | m1539_29 |
|
||||
| ir.cpp:1539:8:1539:8 | StoreValue | r1539_13 |
|
||||
| ir.cpp:1539:8:1539:8 | StoreValue | r1539_20 |
|
||||
| ir.cpp:1539:8:1539:8 | StoreValue | r1539_27 |
|
||||
| ir.cpp:1539:8:1539:8 | SideEffect | m1539_32 |
|
||||
| ir.cpp:1539:8:1539:8 | StoreValue | r1539_14 |
|
||||
| ir.cpp:1539:8:1539:8 | StoreValue | r1539_22 |
|
||||
| ir.cpp:1539:8:1539:8 | StoreValue | r1539_30 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | m1539_6 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | m1539_6 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | m1539_6 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_11 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_18 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_25 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_12 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_19 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_20 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_27 |
|
||||
| ir.cpp:1539:8:1539:8 | Unary | r1539_28 |
|
||||
| ir.cpp:1567:60:1567:95 | Address | &:r1567_5 |
|
||||
| ir.cpp:1567:60:1567:95 | Address | &:r1567_5 |
|
||||
| ir.cpp:1567:60:1567:95 | Address | &:r1567_7 |
|
||||
@@ -7652,15 +7681,20 @@
|
||||
| ir.cpp:1680:5:1680:23 | SideEffect | m1680_8 |
|
||||
| ir.cpp:1683:6:1683:20 | ChiPartial | partial:m1683_3 |
|
||||
| ir.cpp:1683:6:1683:20 | ChiTotal | total:m1683_2 |
|
||||
| ir.cpp:1683:6:1683:20 | SideEffect | ~m1686_6 |
|
||||
| ir.cpp:1683:26:1683:26 | Address | &:r1683_5 |
|
||||
| ir.cpp:1683:34:1683:34 | Address | &:r1683_7 |
|
||||
| ir.cpp:1683:34:1683:34 | Address | &:r1683_7 |
|
||||
| ir.cpp:1683:34:1683:34 | Address | &:r1683_9 |
|
||||
| ir.cpp:1683:34:1683:34 | Address | &:r1683_9 |
|
||||
| ir.cpp:1683:34:1683:34 | Load | m1683_8 |
|
||||
| ir.cpp:1683:34:1683:34 | SideEffect | m1683_10 |
|
||||
| ir.cpp:1683:43:1683:43 | Address | &:r1683_11 |
|
||||
| ir.cpp:1683:43:1683:43 | Address | &:r1683_11 |
|
||||
| ir.cpp:1683:43:1683:43 | Address | &:r1683_13 |
|
||||
| ir.cpp:1683:43:1683:43 | Address | &:r1683_13 |
|
||||
| ir.cpp:1683:43:1683:43 | Load | m1683_12 |
|
||||
| ir.cpp:1683:43:1683:43 | SideEffect | m1683_14 |
|
||||
| ir.cpp:1685:17:1685:20 | Address | &:r1685_1 |
|
||||
| ir.cpp:1685:24:1685:44 | Address | &:r1685_2 |
|
||||
| ir.cpp:1685:24:1685:44 | Address | &:r1685_2 |
|
||||
@@ -7683,16 +7717,104 @@
|
||||
| ir.cpp:1686:16:1686:37 | ChiTotal | total:m1685_7 |
|
||||
| ir.cpp:1686:16:1686:37 | ChiTotal | total:m1686_2 |
|
||||
| ir.cpp:1686:16:1686:37 | SideEffect | ~m1685_7 |
|
||||
| ir.cpp:1688:10:1688:21 | Address | &:r1688_1 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_2 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_2 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_4 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_5 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_6 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_7 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_8 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_12 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_17 |
|
||||
| ir.cpp:1688:24:1690:5 | Address | &:r1688_20 |
|
||||
| ir.cpp:1688:24:1690:5 | ChiPartial | partial:m1688_10 |
|
||||
| ir.cpp:1688:24:1690:5 | ChiTotal | total:m0_3 |
|
||||
| ir.cpp:1688:24:1690:5 | Load | m1685_12 |
|
||||
| ir.cpp:1688:24:1690:5 | Load | m1686_8 |
|
||||
| ir.cpp:1688:24:1690:5 | Load | m1690_6 |
|
||||
| ir.cpp:1688:24:1690:5 | StoreValue | r1688_9 |
|
||||
| ir.cpp:1688:24:1690:5 | StoreValue | r1688_23 |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | r1688_2 |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | r1688_2 |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | r1688_2 |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | r1688_2 |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | r1688_2 |
|
||||
| ir.cpp:1688:38:1688:38 | Address | &:r1688_13 |
|
||||
| ir.cpp:1688:38:1688:38 | ChiPartial | partial:m1688_15 |
|
||||
| ir.cpp:1688:38:1688:38 | ChiTotal | total:m1688_11 |
|
||||
| ir.cpp:1688:38:1688:38 | Load | m1683_6 |
|
||||
| ir.cpp:1688:38:1688:38 | StoreValue | r1688_14 |
|
||||
| ir.cpp:1688:41:1688:41 | Address | &:r1688_18 |
|
||||
| ir.cpp:1688:41:1688:41 | Address | &:r1688_19 |
|
||||
| ir.cpp:1688:41:1688:41 | Load | m1683_8 |
|
||||
| ir.cpp:1688:44:1688:44 | Address | &:r1688_21 |
|
||||
| ir.cpp:1688:44:1688:44 | Address | &:r1688_22 |
|
||||
| ir.cpp:1688:44:1688:44 | Load | m1683_12 |
|
||||
| ir.cpp:1688:46:1688:46 | Address | &:r1688_5 |
|
||||
| ir.cpp:1688:46:1688:46 | Address | &:r1688_5 |
|
||||
| ir.cpp:1688:46:1688:46 | Address | &:r1688_7 |
|
||||
| ir.cpp:1688:46:1688:46 | Address | &:r1688_7 |
|
||||
| ir.cpp:1688:46:1688:46 | ChiPartial | partial:m1688_3 |
|
||||
| ir.cpp:1688:46:1688:46 | ChiTotal | total:m1688_2 |
|
||||
| ir.cpp:1688:46:1688:46 | Load | m1688_6 |
|
||||
| ir.cpp:1688:46:1688:46 | SideEffect | m1688_3 |
|
||||
| ir.cpp:1688:46:1688:46 | SideEffect | m1688_8 |
|
||||
| ir.cpp:1689:14:1689:25 | Address | &:r1689_1 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_4 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_5 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_7 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_11 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_12 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_14 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_18 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_19 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_21 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_25 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_26 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_28 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_32 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_33 |
|
||||
| ir.cpp:1689:28:1689:54 | Address | &:r1689_35 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_9 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_16 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_23 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_30 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiPartial | partial:m1689_37 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_3 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_10 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_17 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_24 |
|
||||
| ir.cpp:1689:28:1689:54 | ChiTotal | total:m1689_31 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | m1688_6 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | m1688_6 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | m1688_6 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | m1688_6 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | m1688_6 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | m1689_38 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 |
|
||||
| ir.cpp:1689:28:1689:54 | Load | ~m1688_8 |
|
||||
| ir.cpp:1689:28:1689:54 | StoreValue | r1689_8 |
|
||||
| ir.cpp:1689:28:1689:54 | StoreValue | r1689_15 |
|
||||
| ir.cpp:1689:28:1689:54 | StoreValue | r1689_22 |
|
||||
| ir.cpp:1689:28:1689:54 | StoreValue | r1689_29 |
|
||||
| ir.cpp:1689:28:1689:54 | StoreValue | r1689_36 |
|
||||
| ir.cpp:1689:28:1689:54 | StoreValue | r1689_39 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_2 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_6 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_13 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_20 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_27 |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | r1689_34 |
|
||||
| ir.cpp:1689:50:1689:50 | Address | &:r1689_5 |
|
||||
| ir.cpp:1689:50:1689:50 | Address | &:r1689_5 |
|
||||
| ir.cpp:1689:50:1689:50 | Address | &:r1689_7 |
|
||||
@@ -7702,6 +7824,14 @@
|
||||
| ir.cpp:1689:50:1689:50 | Load | m1689_6 |
|
||||
| ir.cpp:1689:50:1689:50 | SideEffect | m1689_3 |
|
||||
| ir.cpp:1689:50:1689:50 | SideEffect | m1689_8 |
|
||||
| ir.cpp:1690:6:1690:6 | ChiPartial | partial:m1690_2 |
|
||||
| ir.cpp:1690:6:1690:6 | ChiPartial | partial:m1690_5 |
|
||||
| ir.cpp:1690:6:1690:6 | ChiTotal | total:m1688_16 |
|
||||
| ir.cpp:1690:6:1690:6 | ChiTotal | total:m1690_3 |
|
||||
| ir.cpp:1690:6:1690:6 | Load | ~m1683_10 |
|
||||
| ir.cpp:1690:6:1690:6 | Load | ~m1683_14 |
|
||||
| ir.cpp:1690:6:1690:6 | StoreValue | r1690_1 |
|
||||
| ir.cpp:1690:6:1690:6 | StoreValue | r1690_4 |
|
||||
| ir.cpp:1693:5:1693:21 | Address | &:r1693_5 |
|
||||
| ir.cpp:1693:5:1693:21 | ChiPartial | partial:m1693_3 |
|
||||
| ir.cpp:1693:5:1693:21 | ChiTotal | total:m1693_2 |
|
||||
@@ -7713,6 +7843,172 @@
|
||||
| ir.cpp:1696:10:1696:10 | Address | &:r1696_2 |
|
||||
| ir.cpp:1696:10:1696:10 | Load | m1694_3 |
|
||||
| ir.cpp:1696:10:1696:10 | StoreValue | r1696_3 |
|
||||
| ir.cpp:1701:10:1701:10 | Address | &:r1701_5 |
|
||||
| ir.cpp:1701:10:1701:10 | Address | &:r1701_5 |
|
||||
| ir.cpp:1701:10:1701:10 | Address | &:r1701_7 |
|
||||
| ir.cpp:1701:10:1701:10 | Address | &:r1701_7 |
|
||||
| ir.cpp:1701:10:1701:10 | ChiPartial | partial:m1701_3 |
|
||||
| ir.cpp:1701:10:1701:10 | ChiTotal | total:m1701_2 |
|
||||
| ir.cpp:1701:10:1701:10 | Load | m1701_6 |
|
||||
| ir.cpp:1701:10:1701:10 | SideEffect | m1701_3 |
|
||||
| ir.cpp:1701:10:1701:10 | SideEffect | m1701_8 |
|
||||
| ir.cpp:1702:14:1702:22 | Address | &:r1702_1 |
|
||||
| ir.cpp:1702:25:1708:9 | Address | &:r1702_2 |
|
||||
| ir.cpp:1702:25:1708:9 | Address | &:r1702_2 |
|
||||
| ir.cpp:1702:25:1708:9 | Address | &:r1702_4 |
|
||||
| ir.cpp:1702:25:1708:9 | Address | &:r1702_5 |
|
||||
| ir.cpp:1702:25:1708:9 | Address | &:r1702_6 |
|
||||
| ir.cpp:1702:25:1708:9 | Load | m1701_6 |
|
||||
| ir.cpp:1702:25:1708:9 | Load | ~m1701_8 |
|
||||
| ir.cpp:1702:25:1708:9 | Load | ~m1702_8 |
|
||||
| ir.cpp:1702:25:1708:9 | StoreValue | r1702_7 |
|
||||
| ir.cpp:1702:25:1708:9 | StoreValue | r1702_9 |
|
||||
| ir.cpp:1702:25:1708:9 | Unary | r1702_2 |
|
||||
| ir.cpp:1702:34:1702:34 | Address | &:r1702_5 |
|
||||
| ir.cpp:1702:34:1702:34 | Address | &:r1702_5 |
|
||||
| ir.cpp:1702:34:1702:34 | Address | &:r1702_7 |
|
||||
| ir.cpp:1702:34:1702:34 | Address | &:r1702_7 |
|
||||
| ir.cpp:1702:34:1702:34 | ChiPartial | partial:m1702_3 |
|
||||
| ir.cpp:1702:34:1702:34 | ChiTotal | total:m1702_2 |
|
||||
| ir.cpp:1702:34:1702:34 | Load | m1702_6 |
|
||||
| ir.cpp:1702:34:1702:34 | SideEffect | m1702_8 |
|
||||
| ir.cpp:1702:34:1702:34 | SideEffect | ~m1703_8 |
|
||||
| ir.cpp:1703:13:1703:13 | Address | &:r1703_1 |
|
||||
| ir.cpp:1703:13:1703:13 | Address | &:r1703_4 |
|
||||
| ir.cpp:1703:13:1703:13 | Arg(this) | this:r1703_4 |
|
||||
| ir.cpp:1703:13:1703:13 | CallTarget | func:r1703_5 |
|
||||
| ir.cpp:1703:13:1703:13 | ChiPartial | partial:m1703_7 |
|
||||
| ir.cpp:1703:13:1703:13 | ChiTotal | total:m1702_4 |
|
||||
| ir.cpp:1703:13:1703:13 | Load | m1702_6 |
|
||||
| ir.cpp:1703:13:1703:13 | SideEffect | ~m1702_4 |
|
||||
| ir.cpp:1703:13:1703:13 | SideEffect | ~m1702_8 |
|
||||
| ir.cpp:1703:13:1703:13 | Unary | r1703_2 |
|
||||
| ir.cpp:1703:13:1703:13 | Unary | r1703_3 |
|
||||
| ir.cpp:1705:18:1705:26 | Address | &:r1705_1 |
|
||||
| ir.cpp:1705:29:1707:13 | Address | &:r1705_2 |
|
||||
| ir.cpp:1705:29:1707:13 | Address | &:r1705_2 |
|
||||
| ir.cpp:1705:29:1707:13 | Address | &:r1705_4 |
|
||||
| ir.cpp:1705:29:1707:13 | Address | &:r1705_5 |
|
||||
| ir.cpp:1705:29:1707:13 | Address | &:r1705_7 |
|
||||
| ir.cpp:1705:29:1707:13 | Load | m1702_6 |
|
||||
| ir.cpp:1705:29:1707:13 | Load | ~m1702_8 |
|
||||
| ir.cpp:1705:29:1707:13 | Load | ~m1705_9 |
|
||||
| ir.cpp:1705:29:1707:13 | StoreValue | r1705_8 |
|
||||
| ir.cpp:1705:29:1707:13 | StoreValue | r1705_10 |
|
||||
| ir.cpp:1705:29:1707:13 | Unary | r1705_2 |
|
||||
| ir.cpp:1705:29:1707:13 | Unary | r1705_6 |
|
||||
| ir.cpp:1705:38:1705:38 | Address | &:r1705_5 |
|
||||
| ir.cpp:1705:38:1705:38 | Address | &:r1705_5 |
|
||||
| ir.cpp:1705:38:1705:38 | Address | &:r1705_7 |
|
||||
| ir.cpp:1705:38:1705:38 | Address | &:r1705_7 |
|
||||
| ir.cpp:1705:38:1705:38 | ChiPartial | partial:m1705_3 |
|
||||
| ir.cpp:1705:38:1705:38 | ChiTotal | total:m1705_2 |
|
||||
| ir.cpp:1705:38:1705:38 | Load | m1705_6 |
|
||||
| ir.cpp:1705:38:1705:38 | SideEffect | m1705_8 |
|
||||
| ir.cpp:1705:38:1705:38 | SideEffect | ~m1706_8 |
|
||||
| ir.cpp:1706:17:1706:17 | Address | &:r1706_1 |
|
||||
| ir.cpp:1706:17:1706:17 | Address | &:r1706_4 |
|
||||
| ir.cpp:1706:17:1706:17 | Arg(this) | this:r1706_4 |
|
||||
| ir.cpp:1706:17:1706:17 | CallTarget | func:r1706_5 |
|
||||
| ir.cpp:1706:17:1706:17 | ChiPartial | partial:m1706_7 |
|
||||
| ir.cpp:1706:17:1706:17 | ChiTotal | total:m1705_4 |
|
||||
| ir.cpp:1706:17:1706:17 | Load | m1705_6 |
|
||||
| ir.cpp:1706:17:1706:17 | SideEffect | ~m1705_4 |
|
||||
| ir.cpp:1706:17:1706:17 | SideEffect | ~m1705_8 |
|
||||
| ir.cpp:1706:17:1706:17 | Unary | r1706_2 |
|
||||
| ir.cpp:1706:17:1706:17 | Unary | r1706_3 |
|
||||
| ir.cpp:1712:6:1712:21 | ChiPartial | partial:m1712_3 |
|
||||
| ir.cpp:1712:6:1712:21 | ChiTotal | total:m1712_2 |
|
||||
| ir.cpp:1712:6:1712:21 | SideEffect | m1712_3 |
|
||||
| ir.cpp:1712:42:1712:43 | Address | &:r1712_5 |
|
||||
| ir.cpp:1712:66:1712:67 | Address | &:r1712_7 |
|
||||
| ir.cpp:1712:66:1712:67 | Address | &:r1712_7 |
|
||||
| ir.cpp:1712:66:1712:67 | Address | &:r1712_9 |
|
||||
| ir.cpp:1712:66:1712:67 | Address | &:r1712_9 |
|
||||
| ir.cpp:1712:66:1712:67 | Load | m1712_8 |
|
||||
| ir.cpp:1712:66:1712:67 | SideEffect | m1712_10 |
|
||||
| ir.cpp:1712:91:1712:92 | Address | &:r1712_11 |
|
||||
| ir.cpp:1712:91:1712:92 | Address | &:r1712_11 |
|
||||
| ir.cpp:1712:91:1712:92 | Address | &:r1712_13 |
|
||||
| ir.cpp:1712:91:1712:92 | Address | &:r1712_13 |
|
||||
| ir.cpp:1712:91:1712:92 | Load | m1712_12 |
|
||||
| ir.cpp:1712:91:1712:92 | SideEffect | m1712_14 |
|
||||
| ir.cpp:1713:30:1713:31 | Address | &:r1713_1 |
|
||||
| ir.cpp:1714:31:1714:32 | Address | &:r1714_1 |
|
||||
| ir.cpp:1714:36:1714:55 | Address | &:r1714_2 |
|
||||
| ir.cpp:1714:36:1714:55 | Address | &:r1714_3 |
|
||||
| ir.cpp:1714:36:1714:55 | Address | &:r1714_3 |
|
||||
| ir.cpp:1714:36:1714:55 | Load | m1714_5 |
|
||||
| ir.cpp:1714:36:1714:55 | StoreValue | r1714_4 |
|
||||
| ir.cpp:1714:36:1714:55 | StoreValue | r1714_6 |
|
||||
| ir.cpp:1714:36:1714:55 | StoreValue | r1714_9 |
|
||||
| ir.cpp:1714:36:1714:55 | Unary | r1714_2 |
|
||||
| ir.cpp:1714:36:1714:55 | Unary | r1714_8 |
|
||||
| ir.cpp:1716:10:1716:17 | Address | &:r1716_1 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_4 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_5 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_9 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_10 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_11 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_12 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_13 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_14 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_15 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_16 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_20 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_21 |
|
||||
| ir.cpp:1716:20:1718:5 | Address | &:r1716_22 |
|
||||
| ir.cpp:1716:20:1718:5 | ChiPartial | partial:m1716_7 |
|
||||
| ir.cpp:1716:20:1718:5 | ChiPartial | partial:m1716_18 |
|
||||
| ir.cpp:1716:20:1718:5 | ChiTotal | total:m0_6 |
|
||||
| ir.cpp:1716:20:1718:5 | ChiTotal | total:m1716_3 |
|
||||
| ir.cpp:1716:20:1718:5 | Load | m0_9 |
|
||||
| ir.cpp:1716:20:1718:5 | Load | m1712_6 |
|
||||
| ir.cpp:1716:20:1718:5 | Load | m1712_8 |
|
||||
| ir.cpp:1716:20:1718:5 | Load | m1712_12 |
|
||||
| ir.cpp:1716:20:1718:5 | Load | m1713_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Load | m1714_10 |
|
||||
| ir.cpp:1716:20:1718:5 | StoreValue | r1716_6 |
|
||||
| ir.cpp:1716:20:1718:5 | StoreValue | r1716_17 |
|
||||
| ir.cpp:1716:20:1718:5 | StoreValue | r1716_23 |
|
||||
| ir.cpp:1716:20:1718:5 | Unary | r1716_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Unary | r1716_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Unary | r1716_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Unary | r1716_2 |
|
||||
| ir.cpp:1716:20:1718:5 | Unary | r1716_2 |
|
||||
| ir.cpp:1716:42:1716:42 | Address | &:r1716_5 |
|
||||
| ir.cpp:1716:42:1716:42 | Address | &:r1716_5 |
|
||||
| ir.cpp:1716:42:1716:42 | Address | &:r1716_7 |
|
||||
| ir.cpp:1716:42:1716:42 | Address | &:r1716_7 |
|
||||
| ir.cpp:1716:42:1716:42 | ChiPartial | partial:m1716_3 |
|
||||
| ir.cpp:1716:42:1716:42 | ChiTotal | total:m1716_2 |
|
||||
| ir.cpp:1716:42:1716:42 | Load | m1716_6 |
|
||||
| ir.cpp:1716:42:1716:42 | SideEffect | m1716_3 |
|
||||
| ir.cpp:1716:42:1716:42 | SideEffect | m1716_8 |
|
||||
| ir.cpp:1717:14:1717:21 | Address | &:r1717_1 |
|
||||
| ir.cpp:1717:24:1717:31 | Address | &:r1717_2 |
|
||||
| ir.cpp:1717:24:1717:31 | Address | &:r1717_2 |
|
||||
| ir.cpp:1717:24:1717:31 | Address | &:r1717_4 |
|
||||
| ir.cpp:1717:24:1717:31 | Address | &:r1717_5 |
|
||||
| ir.cpp:1717:24:1717:31 | Address | &:r1717_7 |
|
||||
| ir.cpp:1717:24:1717:31 | Load | m1716_6 |
|
||||
| ir.cpp:1717:24:1717:31 | Load | ~m1716_8 |
|
||||
| ir.cpp:1717:24:1717:31 | Load | ~m1717_9 |
|
||||
| ir.cpp:1717:24:1717:31 | StoreValue | r1717_8 |
|
||||
| ir.cpp:1717:24:1717:31 | StoreValue | r1717_10 |
|
||||
| ir.cpp:1717:24:1717:31 | Unary | r1717_2 |
|
||||
| ir.cpp:1717:24:1717:31 | Unary | r1717_6 |
|
||||
| ir.cpp:1717:30:1717:30 | Address | &:r1717_5 |
|
||||
| ir.cpp:1717:30:1717:30 | Address | &:r1717_5 |
|
||||
| ir.cpp:1717:30:1717:30 | Address | &:r1717_7 |
|
||||
| ir.cpp:1717:30:1717:30 | Address | &:r1717_7 |
|
||||
| ir.cpp:1717:30:1717:30 | ChiPartial | partial:m1717_3 |
|
||||
| ir.cpp:1717:30:1717:30 | ChiTotal | total:m1717_2 |
|
||||
| ir.cpp:1717:30:1717:30 | Load | m1717_6 |
|
||||
| ir.cpp:1717:30:1717:30 | SideEffect | m1717_3 |
|
||||
| ir.cpp:1717:30:1717:30 | SideEffect | m1717_8 |
|
||||
| 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 |
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
missingOperand
|
||||
| ir.cpp:1688:24:1690:5 | Store: Unknown literal | Instruction 'Store' is missing an expected operand with tag 'StoreValue' in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Store: Unknown literal | Instruction 'Store' is missing an expected operand with tag 'StoreValue' in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1689:28:1689:54 | Store: Unknown literal | Instruction 'Store' is missing an expected operand with tag 'StoreValue' in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Store: Unknown literal | Instruction 'Store' is missing an expected operand with tag 'StoreValue' in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
unexpectedOperand
|
||||
duplicateOperand
|
||||
missingPhiOperand
|
||||
@@ -11,10 +7,6 @@ duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ../../../include/memory.h:68:25:68:33 | CopyValue: (reference to) | Instruction 'CopyValue: (reference to)' has no successors in function '$@'. | ../../../include/memory.h:67:5:67:5 | void std::unique_ptr<int, std::default_delete<int>>::~unique_ptr() | void std::unique_ptr<int, std::default_delete<int>>::~unique_ptr() |
|
||||
| ir.cpp:1688:24:1690:5 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1689:28:1689:54 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
@@ -26,25 +18,6 @@ lostReachability
|
||||
backEdgeCountMismatch
|
||||
useNotDominatedByDefinition
|
||||
| ir.cpp:1486:8:1486:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1486:8:1486:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() |
|
||||
| ir.cpp:1683:34:1683:34 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1683:43:1683:43 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:10:1688:21 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:24:1690:5 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1688:46:1688:46 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:14:1689:25 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Address | Operand 'Address' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
| ir.cpp:1689:28:1689:54 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
switchInstructionWithoutDefaultEdge
|
||||
notMarkedAsConflated
|
||||
wronglyMarkedAsConflated
|
||||
|
||||
@@ -65,21 +65,23 @@ bad_asts.cpp:
|
||||
# 19| r19_8(glval<int>) = FieldAddress[x] : mu19_5
|
||||
# 19| r19_9(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 19| r19_10(Point &) = Load[(unnamed parameter 0)] : &:r19_9, ~m?
|
||||
# 19| r19_11(glval<int>) = FieldAddress[x] : r19_10
|
||||
# 19| r19_12(int) = Load[?] : &:r19_11, ~m?
|
||||
# 19| mu19_13(int) = Store[?] : &:r19_8, r19_12
|
||||
# 19| r19_14(glval<int>) = FieldAddress[y] : mu19_5
|
||||
# 19| r19_15(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 19| r19_16(Point &) = Load[(unnamed parameter 0)] : &:r19_15, ~m?
|
||||
# 19| r19_17(glval<int>) = FieldAddress[y] : r19_16
|
||||
# 19| r19_18(int) = Load[?] : &:r19_17, ~m?
|
||||
# 19| mu19_19(int) = Store[?] : &:r19_14, r19_18
|
||||
# 19| v19_20(void) = NoOp :
|
||||
# 19| v19_21(void) = ReturnIndirection[#this] : &:r19_6, ~m?
|
||||
# 19| r19_11(glval<Point>) = CopyValue : r19_10
|
||||
# 19| r19_12(glval<int>) = FieldAddress[x] : r19_11
|
||||
# 19| r19_13(int) = Load[?] : &:r19_12, ~m?
|
||||
# 19| mu19_14(int) = Store[?] : &:r19_8, r19_13
|
||||
# 19| r19_15(glval<int>) = FieldAddress[y] : mu19_5
|
||||
# 19| r19_16(glval<Point &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 19| r19_17(Point &) = Load[(unnamed parameter 0)] : &:r19_16, ~m?
|
||||
# 19| r19_18(glval<Point>) = CopyValue : r19_17
|
||||
# 19| r19_19(glval<int>) = FieldAddress[y] : r19_18
|
||||
# 19| r19_20(int) = Load[?] : &:r19_19, ~m?
|
||||
# 19| mu19_21(int) = Store[?] : &:r19_15, r19_20
|
||||
# 19| v19_22(void) = NoOp :
|
||||
# 19| v19_23(void) = ReturnIndirection[#this] : &:r19_6, ~m?
|
||||
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m?
|
||||
# 19| v19_22(void) = ReturnVoid :
|
||||
# 19| v19_23(void) = AliasedUse : ~m?
|
||||
# 19| v19_24(void) = ExitFunction :
|
||||
# 19| v19_24(void) = ReturnVoid :
|
||||
# 19| v19_25(void) = AliasedUse : ~m?
|
||||
# 19| v19_26(void) = ExitFunction :
|
||||
|
||||
# 22| void Bad::Point::Point()
|
||||
# 22| Block 0
|
||||
@@ -8077,57 +8079,65 @@ ir.cpp:
|
||||
# 1486| r1486_8(glval<int>) = FieldAddress[i] : mu1486_5
|
||||
# 1486| r1486_9(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_10(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_9, ~m?
|
||||
# 1486| r1486_11(glval<int>) = FieldAddress[i] : r1486_10
|
||||
# 1486| r1486_12(int) = Load[?] : &:r1486_11, ~m?
|
||||
# 1486| mu1486_13(int) = Store[?] : &:r1486_8, r1486_12
|
||||
# 1486| r1486_14(glval<double>) = FieldAddress[d] : mu1486_5
|
||||
# 1486| r1486_15(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_16(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_15, ~m?
|
||||
# 1486| r1486_17(glval<double>) = FieldAddress[d] : r1486_16
|
||||
# 1486| r1486_18(double) = Load[?] : &:r1486_17, ~m?
|
||||
# 1486| mu1486_19(double) = Store[?] : &:r1486_14, r1486_18
|
||||
# 1486| r1486_20(glval<unsigned int>) = FieldAddress[b] : mu1486_5
|
||||
# 1486| r1486_21(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_22(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_21, ~m?
|
||||
# 1486| r1486_23(glval<unsigned int>) = FieldAddress[b] : r1486_22
|
||||
# 1486| r1486_24(unsigned int) = Load[?] : &:r1486_23, ~m?
|
||||
# 1486| mu1486_25(unsigned int) = Store[?] : &:r1486_20, r1486_24
|
||||
# 1486| r1486_26(glval<int &>) = FieldAddress[r] : mu1486_5
|
||||
# 1486| r1486_27(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_28(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_27, ~m?
|
||||
# 1486| r1486_29(glval<int &>) = FieldAddress[r] : r1486_28
|
||||
# 1486| r1486_30(int &) = Load[?] : &:r1486_29, ~m?
|
||||
# 1486| mu1486_31(int &) = Store[?] : &:r1486_26, r1486_30
|
||||
# 1486| r1486_32(glval<int *>) = FieldAddress[p] : mu1486_5
|
||||
# 1486| r1486_33(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_34(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_33, ~m?
|
||||
# 1486| r1486_35(glval<int *>) = FieldAddress[p] : r1486_34
|
||||
# 1486| r1486_36(int *) = Load[?] : &:r1486_35, ~m?
|
||||
# 1486| mu1486_37(int *) = Store[?] : &:r1486_32, r1486_36
|
||||
# 1486| r1486_38(glval<int[2]>) = FieldAddress[xs] : mu1486_5
|
||||
# 1486| r1486_39(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_40(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_39, ~m?
|
||||
# 1486| r1486_41(glval<int[2]>) = FieldAddress[xs] : r1486_40
|
||||
# 1486| r1486_42(int[2]) = Load[?] : &:r1486_41, ~m?
|
||||
# 1486| mu1486_43(int[2]) = Store[?] : &:r1486_38, r1486_42
|
||||
# 1486| r1486_44(glval<int &>) = FieldAddress[r_alt] : mu1486_5
|
||||
# 1486| r1486_45(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_46(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_45, ~m?
|
||||
# 1486| r1486_47(glval<int &>) = FieldAddress[r_alt] : r1486_46
|
||||
# 1486| r1486_48(int &) = Load[?] : &:r1486_47, ~m?
|
||||
# 1486| mu1486_49(int &) = Store[?] : &:r1486_44, r1486_48
|
||||
# 1486| r1486_50(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : mu1486_5
|
||||
# 1486| r1486_11(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_10
|
||||
# 1486| r1486_12(glval<int>) = FieldAddress[i] : r1486_11
|
||||
# 1486| r1486_13(int) = Load[?] : &:r1486_12, ~m?
|
||||
# 1486| mu1486_14(int) = Store[?] : &:r1486_8, r1486_13
|
||||
# 1486| r1486_15(glval<double>) = FieldAddress[d] : mu1486_5
|
||||
# 1486| r1486_16(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_17(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_16, ~m?
|
||||
# 1486| r1486_18(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_17
|
||||
# 1486| r1486_19(glval<double>) = FieldAddress[d] : r1486_18
|
||||
# 1486| r1486_20(double) = Load[?] : &:r1486_19, ~m?
|
||||
# 1486| mu1486_21(double) = Store[?] : &:r1486_15, r1486_20
|
||||
# 1486| r1486_22(glval<unsigned int>) = FieldAddress[b] : mu1486_5
|
||||
# 1486| r1486_23(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_24(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_23, ~m?
|
||||
# 1486| r1486_25(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_24
|
||||
# 1486| r1486_26(glval<unsigned int>) = FieldAddress[b] : r1486_25
|
||||
# 1486| r1486_27(unsigned int) = Load[?] : &:r1486_26, ~m?
|
||||
# 1486| mu1486_28(unsigned int) = Store[?] : &:r1486_22, r1486_27
|
||||
# 1486| r1486_29(glval<int &>) = FieldAddress[r] : mu1486_5
|
||||
# 1486| r1486_30(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_31(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_30, ~m?
|
||||
# 1486| r1486_32(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_31
|
||||
# 1486| r1486_33(glval<int &>) = FieldAddress[r] : r1486_32
|
||||
# 1486| r1486_34(int &) = Load[?] : &:r1486_33, ~m?
|
||||
# 1486| mu1486_35(int &) = Store[?] : &:r1486_29, r1486_34
|
||||
# 1486| r1486_36(glval<int *>) = FieldAddress[p] : mu1486_5
|
||||
# 1486| r1486_37(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_38(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_37, ~m?
|
||||
# 1486| r1486_39(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_38
|
||||
# 1486| r1486_40(glval<int *>) = FieldAddress[p] : r1486_39
|
||||
# 1486| r1486_41(int *) = Load[?] : &:r1486_40, ~m?
|
||||
# 1486| mu1486_42(int *) = Store[?] : &:r1486_36, r1486_41
|
||||
# 1486| r1486_43(glval<int[2]>) = FieldAddress[xs] : mu1486_5
|
||||
# 1486| r1486_44(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_45(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_44, ~m?
|
||||
# 1486| r1486_46(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_45
|
||||
# 1486| r1486_47(glval<int[2]>) = FieldAddress[xs] : r1486_46
|
||||
# 1486| r1486_48(int[2]) = Load[?] : &:r1486_47, ~m?
|
||||
# 1486| mu1486_49(int[2]) = Store[?] : &:r1486_43, r1486_48
|
||||
# 1486| r1486_50(glval<int &>) = FieldAddress[r_alt] : mu1486_5
|
||||
# 1486| r1486_51(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_52(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_51, ~m?
|
||||
# 1486| r1486_53(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1486_52
|
||||
# 1486| r1486_54(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1486_53, ~m?
|
||||
# 1486| mu1486_55(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1486_50, r1486_54
|
||||
# 1486| v1486_56(void) = NoOp :
|
||||
# 1486| v1486_57(void) = ReturnIndirection[#this] : &:r1486_6, ~m?
|
||||
# 1486| r1486_53(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_52
|
||||
# 1486| r1486_54(glval<int &>) = FieldAddress[r_alt] : r1486_53
|
||||
# 1486| r1486_55(int &) = Load[?] : &:r1486_54, ~m?
|
||||
# 1486| mu1486_56(int &) = Store[?] : &:r1486_50, r1486_55
|
||||
# 1486| r1486_57(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : mu1486_5
|
||||
# 1486| r1486_58(glval<StructuredBindingDataMemberStruct &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1486| r1486_59(StructuredBindingDataMemberStruct &) = Load[(unnamed parameter 0)] : &:r1486_58, ~m?
|
||||
# 1486| r1486_60(glval<StructuredBindingDataMemberStruct>) = CopyValue : r1486_59
|
||||
# 1486| r1486_61(glval<StructuredBindingDataMemberMemberStruct>) = FieldAddress[m] : r1486_60
|
||||
# 1486| r1486_62(StructuredBindingDataMemberMemberStruct) = Load[?] : &:r1486_61, ~m?
|
||||
# 1486| mu1486_63(StructuredBindingDataMemberMemberStruct) = Store[?] : &:r1486_57, r1486_62
|
||||
# 1486| v1486_64(void) = NoOp :
|
||||
# 1486| v1486_65(void) = ReturnIndirection[#this] : &:r1486_6, ~m?
|
||||
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m?
|
||||
# 1486| v1486_58(void) = ReturnVoid :
|
||||
# 1486| v1486_59(void) = AliasedUse : ~m?
|
||||
# 1486| v1486_60(void) = ExitFunction :
|
||||
# 1486| v1486_66(void) = ReturnVoid :
|
||||
# 1486| v1486_67(void) = AliasedUse : ~m?
|
||||
# 1486| v1486_68(void) = ExitFunction :
|
||||
|
||||
# 1499| void data_member_structured_binding()
|
||||
# 1499| Block 0
|
||||
@@ -8325,27 +8335,30 @@ ir.cpp:
|
||||
# 1539| r1539_8(glval<int>) = FieldAddress[i] : mu1539_5
|
||||
# 1539| r1539_9(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1539| r1539_10(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_9, ~m?
|
||||
# 1539| r1539_11(glval<int>) = FieldAddress[i] : r1539_10
|
||||
# 1539| r1539_12(int) = Load[?] : &:r1539_11, ~m?
|
||||
# 1539| mu1539_13(int) = Store[?] : &:r1539_8, r1539_12
|
||||
# 1539| r1539_14(glval<double>) = FieldAddress[d] : mu1539_5
|
||||
# 1539| r1539_15(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1539| r1539_16(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_15, ~m?
|
||||
# 1539| r1539_17(glval<double>) = FieldAddress[d] : r1539_16
|
||||
# 1539| r1539_18(double) = Load[?] : &:r1539_17, ~m?
|
||||
# 1539| mu1539_19(double) = Store[?] : &:r1539_14, r1539_18
|
||||
# 1539| r1539_20(glval<int &>) = FieldAddress[r] : mu1539_5
|
||||
# 1539| r1539_21(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1539| r1539_22(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_21, ~m?
|
||||
# 1539| r1539_23(glval<int &>) = FieldAddress[r] : r1539_22
|
||||
# 1539| r1539_24(int &) = Load[?] : &:r1539_23, ~m?
|
||||
# 1539| mu1539_25(int &) = Store[?] : &:r1539_20, r1539_24
|
||||
# 1539| v1539_26(void) = NoOp :
|
||||
# 1539| v1539_27(void) = ReturnIndirection[#this] : &:r1539_6, ~m?
|
||||
# 1539| r1539_11(glval<StructuredBindingTupleRefGet>) = CopyValue : r1539_10
|
||||
# 1539| r1539_12(glval<int>) = FieldAddress[i] : r1539_11
|
||||
# 1539| r1539_13(int) = Load[?] : &:r1539_12, ~m?
|
||||
# 1539| mu1539_14(int) = Store[?] : &:r1539_8, r1539_13
|
||||
# 1539| r1539_15(glval<double>) = FieldAddress[d] : mu1539_5
|
||||
# 1539| r1539_16(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1539| r1539_17(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_16, ~m?
|
||||
# 1539| r1539_18(glval<StructuredBindingTupleRefGet>) = CopyValue : r1539_17
|
||||
# 1539| r1539_19(glval<double>) = FieldAddress[d] : r1539_18
|
||||
# 1539| r1539_20(double) = Load[?] : &:r1539_19, ~m?
|
||||
# 1539| mu1539_21(double) = Store[?] : &:r1539_15, r1539_20
|
||||
# 1539| r1539_22(glval<int &>) = FieldAddress[r] : mu1539_5
|
||||
# 1539| r1539_23(glval<StructuredBindingTupleRefGet &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
# 1539| r1539_24(StructuredBindingTupleRefGet &) = Load[(unnamed parameter 0)] : &:r1539_23, ~m?
|
||||
# 1539| r1539_25(glval<StructuredBindingTupleRefGet>) = CopyValue : r1539_24
|
||||
# 1539| r1539_26(glval<int &>) = FieldAddress[r] : r1539_25
|
||||
# 1539| r1539_27(int &) = Load[?] : &:r1539_26, ~m?
|
||||
# 1539| mu1539_28(int &) = Store[?] : &:r1539_22, r1539_27
|
||||
# 1539| v1539_29(void) = NoOp :
|
||||
# 1539| v1539_30(void) = ReturnIndirection[#this] : &:r1539_6, ~m?
|
||||
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m?
|
||||
# 1539| v1539_28(void) = ReturnVoid :
|
||||
# 1539| v1539_29(void) = AliasedUse : ~m?
|
||||
# 1539| v1539_30(void) = ExitFunction :
|
||||
# 1539| v1539_31(void) = ReturnVoid :
|
||||
# 1539| v1539_32(void) = AliasedUse : ~m?
|
||||
# 1539| v1539_33(void) = ExitFunction :
|
||||
|
||||
# 1567| std::tuple_element<int 0, StructuredBindingTupleRefGet>::type& StructuredBindingTupleRefGet::get<int 0>()
|
||||
# 1567| Block 0
|
||||
@@ -8888,81 +8901,86 @@ ir.cpp:
|
||||
# 1688| r1688_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1688:24] :
|
||||
# 1688| mu1688_3(decltype([...](...){...})) = Uninitialized[#temp1688:24] : &:r1688_2
|
||||
# 1688| r1688_4(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1688_2
|
||||
|
||||
# 1688| Block 1
|
||||
# 1688| mu1688_5(CapturedLambdaMyObj) = Store[?] : &:r1688_4
|
||||
# 1688| r1688_6(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1688_2
|
||||
|
||||
# 1688| Block 2
|
||||
# 1688| mu1688_7(CapturedLambdaMyObj) = Store[?] : &:r1688_6
|
||||
# 1688| r1688_8(glval<int>) = FieldAddress[x] : r1688_2
|
||||
# 1688| r1688_9(glval<int>) = VariableAddress[x] :
|
||||
# 1688| r1688_10(int) = Load[x] : &:r1688_9, ~m?
|
||||
# 1688| mu1688_11(int) = Store[?] : &:r1688_8, r1688_10
|
||||
# 1688| r1688_12(glval<int>) = FieldAddress[y] : r1688_2
|
||||
# 1688| r1688_13(glval<int &>) = VariableAddress[y] :
|
||||
# 1688| r1688_14(int &) = Load[y] : &:r1688_13, ~m?
|
||||
# 1690| r1690_1(int) = Load[?] : &:r1688_14, ~m?
|
||||
# 1690| mu1690_2(int) = Store[?] : &:r1688_12, r1690_1
|
||||
# 1688| r1688_15(glval<int>) = FieldAddress[z] : r1688_2
|
||||
# 1688| r1688_16(glval<int &&>) = VariableAddress[z] :
|
||||
# 1688| r1688_17(int &&) = Load[z] : &:r1688_16, ~m?
|
||||
# 1690| r1690_3(int) = Load[?] : &:r1688_17, ~m?
|
||||
# 1690| mu1690_4(int) = Store[?] : &:r1688_15, r1690_3
|
||||
# 1688| r1688_18(decltype([...](...){...})) = Load[#temp1688:24] : &:r1688_2, ~m?
|
||||
# 1688| mu1688_19(decltype([...](...){...})) = Store[lambda_outer] : &:r1688_1, r1688_18
|
||||
# 1691| v1691_1(void) = NoOp :
|
||||
# 1683| v1683_14(void) = ReturnIndirection[y] : &:r1683_8, ~m?
|
||||
# 1683| v1683_15(void) = ReturnIndirection[z] : &:r1683_12, ~m?
|
||||
# 1683| v1683_16(void) = ReturnVoid :
|
||||
# 1683| v1683_17(void) = AliasedUse : ~m?
|
||||
# 1683| v1683_18(void) = ExitFunction :
|
||||
# 1688| r1688_5(glval<CapturedLambdaMyObj &>) = VariableAddress[obj1] :
|
||||
# 1688| r1688_6(CapturedLambdaMyObj &) = Load[obj1] : &:r1688_5, ~m?
|
||||
#-----| r0_1(CapturedLambdaMyObj) = Load[?] : &:r1688_6, ~m?
|
||||
#-----| mu0_2(CapturedLambdaMyObj) = Store[?] : &:r1688_4, r0_1
|
||||
# 1688| r1688_7(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1688_2
|
||||
# 1688| r1688_8(glval<CapturedLambdaMyObj>) = VariableAddress[obj2] :
|
||||
# 1688| r1688_9(CapturedLambdaMyObj) = Load[obj2] : &:r1688_8, ~m?
|
||||
# 1688| mu1688_10(CapturedLambdaMyObj) = Store[?] : &:r1688_7, r1688_9
|
||||
# 1688| r1688_11(glval<int>) = FieldAddress[x] : r1688_2
|
||||
# 1688| r1688_12(glval<int>) = VariableAddress[x] :
|
||||
# 1688| r1688_13(int) = Load[x] : &:r1688_12, ~m?
|
||||
# 1688| mu1688_14(int) = Store[?] : &:r1688_11, r1688_13
|
||||
# 1688| r1688_15(glval<int>) = FieldAddress[y] : r1688_2
|
||||
# 1688| r1688_16(glval<int &>) = VariableAddress[y] :
|
||||
# 1688| r1688_17(int &) = Load[y] : &:r1688_16, ~m?
|
||||
# 1690| r1690_1(int) = Load[?] : &:r1688_17, ~m?
|
||||
# 1690| mu1690_2(int) = Store[?] : &:r1688_15, r1690_1
|
||||
# 1688| r1688_18(glval<int>) = FieldAddress[z] : r1688_2
|
||||
# 1688| r1688_19(glval<int &&>) = VariableAddress[z] :
|
||||
# 1688| r1688_20(int &&) = Load[z] : &:r1688_19, ~m?
|
||||
# 1690| r1690_3(int) = Load[?] : &:r1688_20, ~m?
|
||||
# 1690| mu1690_4(int) = Store[?] : &:r1688_18, r1690_3
|
||||
# 1688| r1688_21(decltype([...](...){...})) = Load[#temp1688:24] : &:r1688_2, ~m?
|
||||
# 1688| mu1688_22(decltype([...](...){...})) = Store[lambda_outer] : &:r1688_1, r1688_21
|
||||
# 1691| v1691_1(void) = NoOp :
|
||||
# 1683| v1683_14(void) = ReturnIndirection[y] : &:r1683_8, ~m?
|
||||
# 1683| v1683_15(void) = ReturnIndirection[z] : &:r1683_12, ~m?
|
||||
# 1683| v1683_16(void) = ReturnVoid :
|
||||
# 1683| v1683_17(void) = AliasedUse : ~m?
|
||||
# 1683| v1683_18(void) = ExitFunction :
|
||||
|
||||
# 1688| void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const
|
||||
# 1688| Block 0
|
||||
# 1688| v1688_1(void) = EnterFunction :
|
||||
# 1688| mu1688_2(unknown) = AliasedDefinition :
|
||||
# 1688| mu1688_3(unknown) = InitializeNonLocal :
|
||||
# 1688| r1688_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1688| mu1688_5(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1688_4
|
||||
# 1688| r1688_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1688_4, ~m?
|
||||
# 1688| mu1688_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1688_6
|
||||
# 1689| r1689_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_inner] :
|
||||
# 1689| r1689_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1689:28] :
|
||||
# 1689| mu1689_3(decltype([...](...){...})) = Uninitialized[#temp1689:28] : &:r1689_2
|
||||
# 1689| r1689_4(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1689_2
|
||||
|
||||
# 1689| Block 1
|
||||
# 1689| mu1689_5(CapturedLambdaMyObj) = Store[?] : &:r1689_4
|
||||
# 1689| r1689_6(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1689_2
|
||||
|
||||
# 1689| Block 2
|
||||
# 1689| mu1689_7(CapturedLambdaMyObj) = Store[?] : &:r1689_6
|
||||
# 1689| r1689_8(glval<int>) = FieldAddress[x] : r1689_2
|
||||
# 1689| r1689_9(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_10(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_9, ~m?
|
||||
# 1689| r1689_11(glval<int>) = FieldAddress[x] : r1689_10
|
||||
# 1689| r1689_12(int) = Load[?] : &:r1689_11, ~m?
|
||||
# 1689| mu1689_13(int) = Store[?] : &:r1689_8, r1689_12
|
||||
# 1689| r1689_14(glval<int>) = FieldAddress[y] : r1689_2
|
||||
# 1689| r1689_15(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_16(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_15, ~m?
|
||||
# 1689| r1689_17(glval<int>) = FieldAddress[y] : r1689_16
|
||||
# 1689| r1689_18(int) = Load[?] : &:r1689_17, ~m?
|
||||
# 1689| mu1689_19(int) = Store[?] : &:r1689_14, r1689_18
|
||||
# 1689| r1689_20(glval<int>) = FieldAddress[z] : r1689_2
|
||||
# 1689| r1689_21(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_22(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_21, ~m?
|
||||
# 1689| r1689_23(glval<int>) = FieldAddress[z] : r1689_22
|
||||
# 1689| r1689_24(int) = Load[?] : &:r1689_23, ~m?
|
||||
# 1689| mu1689_25(int) = Store[?] : &:r1689_20, r1689_24
|
||||
# 1689| r1689_26(decltype([...](...){...})) = Load[#temp1689:28] : &:r1689_2, ~m?
|
||||
# 1689| mu1689_27(decltype([...](...){...})) = Store[lambda_inner] : &:r1689_1, r1689_26
|
||||
# 1690| v1690_1(void) = NoOp :
|
||||
# 1688| v1688_8(void) = ReturnIndirection[#this] : &:r1688_6, ~m?
|
||||
# 1688| v1688_9(void) = ReturnVoid :
|
||||
# 1688| v1688_10(void) = AliasedUse : ~m?
|
||||
# 1688| v1688_11(void) = ExitFunction :
|
||||
# 1688| v1688_1(void) = EnterFunction :
|
||||
# 1688| mu1688_2(unknown) = AliasedDefinition :
|
||||
# 1688| mu1688_3(unknown) = InitializeNonLocal :
|
||||
# 1688| r1688_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1688| mu1688_5(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1688_4
|
||||
# 1688| r1688_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1688_4, ~m?
|
||||
# 1688| mu1688_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1688_6
|
||||
# 1689| r1689_1(glval<decltype([...](...){...})>) = VariableAddress[lambda_inner] :
|
||||
# 1689| r1689_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1689:28] :
|
||||
# 1689| mu1689_3(decltype([...](...){...})) = Uninitialized[#temp1689:28] : &:r1689_2
|
||||
# 1689| r1689_4(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1689_2
|
||||
# 1689| r1689_5(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_6(lambda [] type at line 1689, col. 29 *) = Load[#this] : &:r1689_5, ~m?
|
||||
# 1689| r1689_7(glval<CapturedLambdaMyObj>) = FieldAddress[obj1] : r1689_6
|
||||
# 1689| r1689_8(CapturedLambdaMyObj) = Load[?] : &:r1689_7, ~m?
|
||||
# 1689| mu1689_9(CapturedLambdaMyObj) = Store[?] : &:r1689_4, r1689_8
|
||||
# 1689| r1689_10(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1689_2
|
||||
# 1689| r1689_11(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_12(lambda [] type at line 1689, col. 29 *) = Load[#this] : &:r1689_11, ~m?
|
||||
# 1689| r1689_13(glval<CapturedLambdaMyObj>) = FieldAddress[obj2] : r1689_12
|
||||
# 1689| r1689_14(CapturedLambdaMyObj) = Load[?] : &:r1689_13, ~m?
|
||||
# 1689| mu1689_15(CapturedLambdaMyObj) = Store[?] : &:r1689_10, r1689_14
|
||||
# 1689| r1689_16(glval<int>) = FieldAddress[x] : r1689_2
|
||||
# 1689| r1689_17(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_18(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_17, ~m?
|
||||
# 1689| r1689_19(glval<int>) = FieldAddress[x] : r1689_18
|
||||
# 1689| r1689_20(int) = Load[?] : &:r1689_19, ~m?
|
||||
# 1689| mu1689_21(int) = Store[?] : &:r1689_16, r1689_20
|
||||
# 1689| r1689_22(glval<int>) = FieldAddress[y] : r1689_2
|
||||
# 1689| r1689_23(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_24(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_23, ~m?
|
||||
# 1689| r1689_25(glval<int>) = FieldAddress[y] : r1689_24
|
||||
# 1689| r1689_26(int) = Load[?] : &:r1689_25, ~m?
|
||||
# 1689| mu1689_27(int) = Store[?] : &:r1689_22, r1689_26
|
||||
# 1689| r1689_28(glval<int>) = FieldAddress[z] : r1689_2
|
||||
# 1689| r1689_29(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1689| r1689_30(lambda [] type at line 1688, col. 25 *) = Load[#this] : &:r1689_29, ~m?
|
||||
# 1689| r1689_31(glval<int>) = FieldAddress[z] : r1689_30
|
||||
# 1689| r1689_32(int) = Load[?] : &:r1689_31, ~m?
|
||||
# 1689| mu1689_33(int) = Store[?] : &:r1689_28, r1689_32
|
||||
# 1689| r1689_34(decltype([...](...){...})) = Load[#temp1689:28] : &:r1689_2, ~m?
|
||||
# 1689| mu1689_35(decltype([...](...){...})) = Store[lambda_inner] : &:r1689_1, r1689_34
|
||||
# 1690| v1690_1(void) = NoOp :
|
||||
# 1688| v1688_8(void) = ReturnIndirection[#this] : &:r1688_6, ~m?
|
||||
# 1688| v1688_9(void) = ReturnVoid :
|
||||
# 1688| v1688_10(void) = AliasedUse : ~m?
|
||||
# 1688| v1688_11(void) = ExitFunction :
|
||||
|
||||
# 1689| void (void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const)::(lambda [] type at line 1689, col. 29)::operator()() const
|
||||
# 1689| Block 0
|
||||
@@ -8999,6 +9017,191 @@ ir.cpp:
|
||||
# 1693| v1693_6(void) = AliasedUse : ~m?
|
||||
# 1693| v1693_7(void) = ExitFunction :
|
||||
|
||||
# 1701| void TrivialLambdaClass::m() const
|
||||
# 1701| Block 0
|
||||
# 1701| v1701_1(void) = EnterFunction :
|
||||
# 1701| mu1701_2(unknown) = AliasedDefinition :
|
||||
# 1701| mu1701_3(unknown) = InitializeNonLocal :
|
||||
# 1701| r1701_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1701| mu1701_5(glval<TrivialLambdaClass>) = InitializeParameter[#this] : &:r1701_4
|
||||
# 1701| r1701_6(glval<TrivialLambdaClass>) = Load[#this] : &:r1701_4, ~m?
|
||||
# 1701| mu1701_7(TrivialLambdaClass) = InitializeIndirection[#this] : &:r1701_6
|
||||
# 1702| r1702_1(glval<decltype([...](...){...})>) = VariableAddress[l_m_outer] :
|
||||
# 1702| r1702_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1702:25] :
|
||||
# 1702| mu1702_3(decltype([...](...){...})) = Uninitialized[#temp1702:25] : &:r1702_2
|
||||
# 1702| r1702_4(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1702_2
|
||||
# 1702| r1702_5(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1702| r1702_6(TrivialLambdaClass *) = Load[#this] : &:r1702_5, ~m?
|
||||
# 1702| r1702_7(TrivialLambdaClass) = Load[?] : &:r1702_6, ~m?
|
||||
# 1702| mu1702_8(TrivialLambdaClass) = Store[?] : &:r1702_4, r1702_7
|
||||
# 1702| r1702_9(decltype([...](...){...})) = Load[#temp1702:25] : &:r1702_2, ~m?
|
||||
# 1702| mu1702_10(decltype([...](...){...})) = Store[l_m_outer] : &:r1702_1, r1702_9
|
||||
# 1709| v1709_1(void) = NoOp :
|
||||
# 1701| v1701_8(void) = ReturnIndirection[#this] : &:r1701_6, ~m?
|
||||
# 1701| v1701_9(void) = ReturnVoid :
|
||||
# 1701| v1701_10(void) = AliasedUse : ~m?
|
||||
# 1701| v1701_11(void) = ExitFunction :
|
||||
|
||||
# 1702| void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const
|
||||
# 1702| Block 0
|
||||
# 1702| v1702_1(void) = EnterFunction :
|
||||
# 1702| mu1702_2(unknown) = AliasedDefinition :
|
||||
# 1702| mu1702_3(unknown) = InitializeNonLocal :
|
||||
# 1702| r1702_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1702| mu1702_5(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1702_4
|
||||
# 1702| r1702_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1702_4, ~m?
|
||||
# 1702| mu1702_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1702_6
|
||||
# 1703| r1703_1(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1703| r1703_2(lambda [] type at line 1702, col. 26 *) = Load[#this] : &:r1703_1, ~m?
|
||||
# 1703| r1703_3(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1703_2
|
||||
# 1703| r1703_4(TrivialLambdaClass *) = CopyValue : r1703_3
|
||||
# 1703| r1703_5(glval<unknown>) = FunctionAddress[m] :
|
||||
# 1703| v1703_6(void) = Call[m] : func:r1703_5, this:r1703_4
|
||||
# 1703| mu1703_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 1703| v1703_8(void) = ^IndirectReadSideEffect[-1] : &:r1703_4, ~m?
|
||||
# 1705| r1705_1(glval<decltype([...](...){...})>) = VariableAddress[l_m_inner] :
|
||||
# 1705| r1705_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1705:29] :
|
||||
# 1705| mu1705_3(decltype([...](...){...})) = Uninitialized[#temp1705:29] : &:r1705_2
|
||||
# 1705| r1705_4(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1705_2
|
||||
# 1705| r1705_5(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1705| r1705_6(lambda [] type at line 1705, col. 30 *) = Load[#this] : &:r1705_5, ~m?
|
||||
# 1705| r1705_7(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1705_6
|
||||
# 1705| r1705_8(TrivialLambdaClass) = Load[?] : &:r1705_7, ~m?
|
||||
# 1705| mu1705_9(TrivialLambdaClass) = Store[?] : &:r1705_4, r1705_8
|
||||
# 1705| r1705_10(decltype([...](...){...})) = Load[#temp1705:29] : &:r1705_2, ~m?
|
||||
# 1705| mu1705_11(decltype([...](...){...})) = Store[l_m_inner] : &:r1705_1, r1705_10
|
||||
# 1708| v1708_1(void) = NoOp :
|
||||
# 1702| v1702_8(void) = ReturnIndirection[#this] : &:r1702_6, ~m?
|
||||
# 1702| v1702_9(void) = ReturnVoid :
|
||||
# 1702| v1702_10(void) = AliasedUse : ~m?
|
||||
# 1702| v1702_11(void) = ExitFunction :
|
||||
|
||||
# 1705| void (void (void TrivialLambdaClass::m() const)::(lambda [] type at line 1702, col. 26)::operator()() const)::(lambda [] type at line 1705, col. 30)::operator()() const
|
||||
# 1705| Block 0
|
||||
# 1705| v1705_1(void) = EnterFunction :
|
||||
# 1705| mu1705_2(unknown) = AliasedDefinition :
|
||||
# 1705| mu1705_3(unknown) = InitializeNonLocal :
|
||||
# 1705| r1705_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1705| mu1705_5(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1705_4
|
||||
# 1705| r1705_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1705_4, ~m?
|
||||
# 1705| mu1705_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1705_6
|
||||
# 1706| r1706_1(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1706| r1706_2(lambda [] type at line 1705, col. 30 *) = Load[#this] : &:r1706_1, ~m?
|
||||
# 1706| r1706_3(glval<TrivialLambdaClass>) = FieldAddress[(captured this)] : r1706_2
|
||||
# 1706| r1706_4(TrivialLambdaClass *) = CopyValue : r1706_3
|
||||
# 1706| r1706_5(glval<unknown>) = FunctionAddress[m] :
|
||||
# 1706| v1706_6(void) = Call[m] : func:r1706_5, this:r1706_4
|
||||
# 1706| mu1706_7(unknown) = ^CallSideEffect : ~m?
|
||||
# 1706| v1706_8(void) = ^IndirectReadSideEffect[-1] : &:r1706_4, ~m?
|
||||
# 1707| v1707_1(void) = NoOp :
|
||||
# 1705| v1705_8(void) = ReturnIndirection[#this] : &:r1705_6, ~m?
|
||||
# 1705| v1705_9(void) = ReturnVoid :
|
||||
# 1705| v1705_10(void) = AliasedUse : ~m?
|
||||
# 1705| v1705_11(void) = ExitFunction :
|
||||
|
||||
# 1712| void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&)
|
||||
# 1712| Block 0
|
||||
# 1712| v1712_1(void) = EnterFunction :
|
||||
# 1712| mu1712_2(unknown) = AliasedDefinition :
|
||||
# 1712| mu1712_3(unknown) = InitializeNonLocal :
|
||||
# 1712| r1712_4(glval<TrivialLambdaClass>) = VariableAddress[p1] :
|
||||
# 1712| mu1712_5(TrivialLambdaClass) = InitializeParameter[p1] : &:r1712_4
|
||||
# 1712| r1712_6(glval<TrivialLambdaClass &>) = VariableAddress[p2] :
|
||||
# 1712| mu1712_7(TrivialLambdaClass &) = InitializeParameter[p2] : &:r1712_6
|
||||
# 1712| r1712_8(TrivialLambdaClass &) = Load[p2] : &:r1712_6, ~m?
|
||||
# 1712| mu1712_9(unknown) = InitializeIndirection[p2] : &:r1712_8
|
||||
# 1712| r1712_10(glval<TrivialLambdaClass &&>) = VariableAddress[p3] :
|
||||
# 1712| mu1712_11(TrivialLambdaClass &&) = InitializeParameter[p3] : &:r1712_10
|
||||
# 1712| r1712_12(TrivialLambdaClass &&) = Load[p3] : &:r1712_10, ~m?
|
||||
# 1712| mu1712_13(unknown) = InitializeIndirection[p3] : &:r1712_12
|
||||
# 1713| r1713_1(glval<TrivialLambdaClass>) = VariableAddress[l1] :
|
||||
# 1713| mu1713_2(TrivialLambdaClass) = Uninitialized[l1] : &:r1713_1
|
||||
# 1714| r1714_1(glval<TrivialLambdaClass &>) = VariableAddress[l2] :
|
||||
# 1714| r1714_2(glval<TrivialLambdaClass>) = VariableAddress[#temp1714:36] :
|
||||
# 1714| r1714_3(glval<TrivialLambdaClass>) = VariableAddress[#temp1714:36] :
|
||||
# 1714| r1714_4(TrivialLambdaClass) = Constant[0] :
|
||||
# 1714| mu1714_5(TrivialLambdaClass) = Store[#temp1714:36] : &:r1714_3, r1714_4
|
||||
# 1714| r1714_6(TrivialLambdaClass) = Load[#temp1714:36] : &:r1714_3, ~m?
|
||||
# 1714| mu1714_7(TrivialLambdaClass) = Store[#temp1714:36] : &:r1714_2, r1714_6
|
||||
# 1714| r1714_8(glval<TrivialLambdaClass>) = Convert : r1714_2
|
||||
# 1714| r1714_9(TrivialLambdaClass &) = CopyValue : r1714_8
|
||||
# 1714| mu1714_10(TrivialLambdaClass &) = Store[l2] : &:r1714_1, r1714_9
|
||||
# 1716| r1716_1(glval<decltype([...](...){...})>) = VariableAddress[l_outer1] :
|
||||
# 1716| r1716_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1716:20] :
|
||||
# 1716| mu1716_3(decltype([...](...){...})) = Uninitialized[#temp1716:20] : &:r1716_2
|
||||
# 1716| r1716_4(glval<TrivialLambdaClass>) = FieldAddress[p1] : r1716_2
|
||||
# 1716| r1716_5(glval<TrivialLambdaClass>) = VariableAddress[p1] :
|
||||
# 1716| r1716_6(TrivialLambdaClass) = Load[p1] : &:r1716_5, ~m?
|
||||
# 1716| mu1716_7(TrivialLambdaClass) = Store[?] : &:r1716_4, r1716_6
|
||||
# 1716| r1716_8(glval<TrivialLambdaClass>) = FieldAddress[p2] : r1716_2
|
||||
# 1716| r1716_9(glval<TrivialLambdaClass &>) = VariableAddress[p2] :
|
||||
# 1716| r1716_10(TrivialLambdaClass &) = Load[p2] : &:r1716_9, ~m?
|
||||
#-----| r0_1(TrivialLambdaClass) = Load[?] : &:r1716_10, ~m?
|
||||
#-----| mu0_2(TrivialLambdaClass) = Store[?] : &:r1716_8, r0_1
|
||||
# 1716| r1716_11(glval<TrivialLambdaClass>) = FieldAddress[p3] : r1716_2
|
||||
# 1716| r1716_12(glval<TrivialLambdaClass &&>) = VariableAddress[p3] :
|
||||
# 1716| r1716_13(TrivialLambdaClass &&) = Load[p3] : &:r1716_12, ~m?
|
||||
#-----| r0_3(TrivialLambdaClass) = Load[?] : &:r1716_13, ~m?
|
||||
#-----| mu0_4(TrivialLambdaClass) = Store[?] : &:r1716_11, r0_3
|
||||
# 1716| r1716_14(glval<TrivialLambdaClass>) = FieldAddress[l1] : r1716_2
|
||||
# 1716| r1716_15(glval<TrivialLambdaClass>) = VariableAddress[l1] :
|
||||
# 1716| r1716_16(TrivialLambdaClass) = Load[l1] : &:r1716_15, ~m?
|
||||
# 1716| mu1716_17(TrivialLambdaClass) = Store[?] : &:r1716_14, r1716_16
|
||||
# 1716| r1716_18(glval<TrivialLambdaClass>) = FieldAddress[l2] : r1716_2
|
||||
# 1716| r1716_19(glval<TrivialLambdaClass &>) = VariableAddress[l2] :
|
||||
# 1716| r1716_20(TrivialLambdaClass &) = Load[l2] : &:r1716_19, ~m?
|
||||
#-----| r0_5(TrivialLambdaClass) = Load[?] : &:r1716_20, ~m?
|
||||
#-----| mu0_6(TrivialLambdaClass) = Store[?] : &:r1716_18, r0_5
|
||||
# 1716| r1716_21(decltype([...](...){...})) = Load[#temp1716:20] : &:r1716_2, ~m?
|
||||
# 1716| mu1716_22(decltype([...](...){...})) = Store[l_outer1] : &:r1716_1, r1716_21
|
||||
# 1719| v1719_1(void) = NoOp :
|
||||
# 1712| v1712_14(void) = ReturnIndirection[p2] : &:r1712_8, ~m?
|
||||
# 1712| v1712_15(void) = ReturnIndirection[p3] : &:r1712_12, ~m?
|
||||
# 1712| v1712_16(void) = ReturnVoid :
|
||||
# 1712| v1712_17(void) = AliasedUse : ~m?
|
||||
# 1712| v1712_18(void) = ExitFunction :
|
||||
|
||||
# 1716| void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const
|
||||
# 1716| Block 0
|
||||
# 1716| v1716_1(void) = EnterFunction :
|
||||
# 1716| mu1716_2(unknown) = AliasedDefinition :
|
||||
# 1716| mu1716_3(unknown) = InitializeNonLocal :
|
||||
# 1716| r1716_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1716| mu1716_5(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1716_4
|
||||
# 1716| r1716_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1716_4, ~m?
|
||||
# 1716| mu1716_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1716_6
|
||||
# 1717| r1717_1(glval<decltype([...](...){...})>) = VariableAddress[l_inner1] :
|
||||
# 1717| r1717_2(glval<decltype([...](...){...})>) = VariableAddress[#temp1717:24] :
|
||||
# 1717| mu1717_3(decltype([...](...){...})) = Uninitialized[#temp1717:24] : &:r1717_2
|
||||
# 1717| r1717_4(glval<TrivialLambdaClass>) = FieldAddress[p1] : r1717_2
|
||||
# 1717| r1717_5(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1717| r1717_6(lambda [] type at line 1717, col. 25 *) = Load[#this] : &:r1717_5, ~m?
|
||||
# 1717| r1717_7(glval<TrivialLambdaClass>) = FieldAddress[p1] : r1717_6
|
||||
# 1717| r1717_8(TrivialLambdaClass) = Load[?] : &:r1717_7, ~m?
|
||||
# 1717| mu1717_9(TrivialLambdaClass) = Store[?] : &:r1717_4, r1717_8
|
||||
# 1717| r1717_10(decltype([...](...){...})) = Load[#temp1717:24] : &:r1717_2, ~m?
|
||||
# 1717| mu1717_11(decltype([...](...){...})) = Store[l_inner1] : &:r1717_1, r1717_10
|
||||
# 1718| v1718_1(void) = NoOp :
|
||||
# 1716| v1716_8(void) = ReturnIndirection[#this] : &:r1716_6, ~m?
|
||||
# 1716| v1716_9(void) = ReturnVoid :
|
||||
# 1716| v1716_10(void) = AliasedUse : ~m?
|
||||
# 1716| v1716_11(void) = ExitFunction :
|
||||
|
||||
# 1717| void (void (void captured_lambda2(TrivialLambdaClass, TrivialLambdaClass&, TrivialLambdaClass&&))::(lambda [] type at line 1716, col. 21)::operator()() const)::(lambda [] type at line 1717, col. 25)::operator()() const
|
||||
# 1717| Block 0
|
||||
# 1717| v1717_1(void) = EnterFunction :
|
||||
# 1717| mu1717_2(unknown) = AliasedDefinition :
|
||||
# 1717| mu1717_3(unknown) = InitializeNonLocal :
|
||||
# 1717| r1717_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 1717| mu1717_5(glval<decltype([...](...){...})>) = InitializeParameter[#this] : &:r1717_4
|
||||
# 1717| r1717_6(glval<decltype([...](...){...})>) = Load[#this] : &:r1717_4, ~m?
|
||||
# 1717| mu1717_7(decltype([...](...){...})) = InitializeIndirection[#this] : &:r1717_6
|
||||
# 1717| v1717_8(void) = NoOp :
|
||||
# 1717| v1717_9(void) = ReturnIndirection[#this] : &:r1717_6, ~m?
|
||||
# 1717| v1717_10(void) = ReturnVoid :
|
||||
# 1717| v1717_11(void) = AliasedUse : ~m?
|
||||
# 1717| v1717_12(void) = ExitFunction :
|
||||
|
||||
perf-regression.cpp:
|
||||
# 6| void Big::Big()
|
||||
# 6| Block 0
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:1688:24:1690:5 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1689:28:1689:54 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -6,8 +6,6 @@ missingOperandType
|
||||
duplicateChiOperand
|
||||
sideEffectWithoutPrimary
|
||||
instructionWithoutSuccessor
|
||||
| ir.cpp:1688:24:1690:5 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1683:6:1683:20 | void captured_lambda(int, int&, int&&) | void captured_lambda(int, int&, int&&) |
|
||||
| ir.cpp:1689:28:1689:54 | FieldAddress: {...} | Instruction 'FieldAddress: {...}' has no successors in function '$@'. | ir.cpp:1688:46:1688:46 | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const | void (void captured_lambda(int, int&, int&&))::(lambda [] type at line 1688, col. 25)::operator()() const |
|
||||
ambiguousSuccessors
|
||||
unexplainedLoop
|
||||
unnecessaryPhiInstruction
|
||||
|
||||
@@ -122,6 +122,8 @@
|
||||
| captures.cpp:22:18:24:3 | initializer for myLambda |
|
||||
| captures.cpp:22:18:24:3 | y |
|
||||
| captures.cpp:22:18:24:3 | {...} |
|
||||
| captures.cpp:22:19:22:19 | (reference dereference) |
|
||||
| captures.cpp:22:19:22:19 | (reference dereference) |
|
||||
| captures.cpp:22:19:22:19 | (unnamed constructor) |
|
||||
| captures.cpp:22:19:22:19 | (unnamed constructor) |
|
||||
| captures.cpp:22:19:22:19 | (unnamed constructor) |
|
||||
@@ -184,6 +186,7 @@
|
||||
| end_pos.cpp:9:14:11:5 | [...](...){...} |
|
||||
| end_pos.cpp:9:14:11:5 | initializer for fp |
|
||||
| end_pos.cpp:9:14:11:5 | {...} |
|
||||
| end_pos.cpp:9:15:9:15 | (reference dereference) |
|
||||
| end_pos.cpp:9:15:9:15 | (unnamed constructor) |
|
||||
| end_pos.cpp:9:15:9:15 | (unnamed constructor) |
|
||||
| end_pos.cpp:9:15:9:15 | (unnamed constructor) |
|
||||
|
||||
Reference in New Issue
Block a user