mirror of
https://github.com/github/codeql.git
synced 2026-04-30 03:05:15 +02:00
Merge pull request #13811 from jketema/ternary-tests
C++: Add more IR tests for the ternary operator
This commit is contained in:
@@ -14888,6 +14888,432 @@ ir.cpp:
|
||||
# 1993| Type = [Class] C
|
||||
# 1993| ValueCategory = lvalue
|
||||
# 1994| getStmt(3): [ReturnStmt] return ...
|
||||
# 1996| [TopLevelFunction] void TernaryTestInt(bool, int, int, int)
|
||||
# 1996| <params>:
|
||||
# 1996| getParameter(0): [Parameter] a
|
||||
# 1996| Type = [BoolType] bool
|
||||
# 1996| getParameter(1): [Parameter] x
|
||||
# 1996| Type = [IntType] int
|
||||
# 1996| getParameter(2): [Parameter] y
|
||||
# 1996| Type = [IntType] int
|
||||
# 1996| getParameter(3): [Parameter] z
|
||||
# 1996| Type = [IntType] int
|
||||
# 1996| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 1997| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 1997| getExpr(): [AssignExpr] ... = ...
|
||||
# 1997| Type = [IntType] int
|
||||
# 1997| ValueCategory = lvalue
|
||||
# 1997| getLValue(): [VariableAccess] z
|
||||
# 1997| Type = [IntType] int
|
||||
# 1997| ValueCategory = lvalue
|
||||
# 1997| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 1997| Type = [IntType] int
|
||||
# 1997| ValueCategory = prvalue
|
||||
# 1997| getCondition(): [VariableAccess] a
|
||||
# 1997| Type = [BoolType] bool
|
||||
# 1997| ValueCategory = prvalue(load)
|
||||
# 1997| getThen(): [VariableAccess] x
|
||||
# 1997| Type = [IntType] int
|
||||
# 1997| ValueCategory = prvalue(load)
|
||||
# 1997| getElse(): [VariableAccess] y
|
||||
# 1997| Type = [IntType] int
|
||||
# 1997| ValueCategory = prvalue(load)
|
||||
# 1998| getStmt(1): [ExprStmt] ExprStmt
|
||||
# 1998| getExpr(): [AssignExpr] ... = ...
|
||||
# 1998| Type = [IntType] int
|
||||
# 1998| ValueCategory = lvalue
|
||||
# 1998| getLValue(): [VariableAccess] z
|
||||
# 1998| Type = [IntType] int
|
||||
# 1998| ValueCategory = lvalue
|
||||
# 1998| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 1998| Type = [IntType] int
|
||||
# 1998| ValueCategory = prvalue
|
||||
# 1998| getCondition(): [VariableAccess] a
|
||||
# 1998| Type = [BoolType] bool
|
||||
# 1998| ValueCategory = prvalue(load)
|
||||
# 1998| getThen(): [VariableAccess] x
|
||||
# 1998| Type = [IntType] int
|
||||
# 1998| ValueCategory = prvalue(load)
|
||||
# 1998| getElse(): [Literal] 5
|
||||
# 1998| Type = [IntType] int
|
||||
# 1998| Value = [Literal] 5
|
||||
# 1998| ValueCategory = prvalue
|
||||
# 1999| getStmt(2): [ExprStmt] ExprStmt
|
||||
# 1999| getExpr(): [AssignExpr] ... = ...
|
||||
# 1999| Type = [IntType] int
|
||||
# 1999| ValueCategory = lvalue
|
||||
# 1999| getLValue(): [VariableAccess] z
|
||||
# 1999| Type = [IntType] int
|
||||
# 1999| ValueCategory = lvalue
|
||||
# 1999| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 1999| Type = [IntType] int
|
||||
# 1999| ValueCategory = prvalue
|
||||
# 1999| getCondition(): [VariableAccess] a
|
||||
# 1999| Type = [BoolType] bool
|
||||
# 1999| ValueCategory = prvalue(load)
|
||||
# 1999| getThen(): [Literal] 3
|
||||
# 1999| Type = [IntType] int
|
||||
# 1999| Value = [Literal] 3
|
||||
# 1999| ValueCategory = prvalue
|
||||
# 1999| getElse(): [Literal] 5
|
||||
# 1999| Type = [IntType] int
|
||||
# 1999| Value = [Literal] 5
|
||||
# 1999| ValueCategory = prvalue
|
||||
# 2000| getStmt(3): [ExprStmt] ExprStmt
|
||||
# 2000| getExpr(): [ConditionalExpr] ... ? ... : ...
|
||||
# 2000| Type = [IntType] int
|
||||
# 2000| ValueCategory = lvalue
|
||||
# 2000| getCondition(): [VariableAccess] a
|
||||
# 2000| Type = [BoolType] bool
|
||||
# 2000| ValueCategory = prvalue(load)
|
||||
# 2000| getThen(): [VariableAccess] x
|
||||
# 2000| Type = [IntType] int
|
||||
# 2000| ValueCategory = lvalue
|
||||
# 2000| getElse(): [AssignExpr] ... = ...
|
||||
# 2000| Type = [IntType] int
|
||||
# 2000| ValueCategory = lvalue
|
||||
# 2000| getLValue(): [VariableAccess] y
|
||||
# 2000| Type = [IntType] int
|
||||
# 2000| ValueCategory = lvalue
|
||||
# 2000| getRValue(): [Literal] 7
|
||||
# 2000| Type = [IntType] int
|
||||
# 2000| Value = [Literal] 7
|
||||
# 2000| ValueCategory = prvalue
|
||||
# 2001| getStmt(4): [ReturnStmt] return ...
|
||||
# 2003| [CopyAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj const&)
|
||||
# 2003| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const TernaryPodObj &
|
||||
# 2003| [MoveAssignmentOperator] TernaryPodObj& TernaryPodObj::operator=(TernaryPodObj&&)
|
||||
# 2003| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [RValueReferenceType] TernaryPodObj &&
|
||||
# 2006| [TopLevelFunction] void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj)
|
||||
# 2006| <params>:
|
||||
# 2006| getParameter(0): [Parameter] a
|
||||
# 2006| Type = [BoolType] bool
|
||||
# 2006| getParameter(1): [Parameter] x
|
||||
# 2006| Type = [Struct] TernaryPodObj
|
||||
# 2006| getParameter(2): [Parameter] y
|
||||
# 2006| Type = [Struct] TernaryPodObj
|
||||
# 2006| getParameter(3): [Parameter] z
|
||||
# 2006| Type = [Struct] TernaryPodObj
|
||||
# 2006| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2007| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2007| getExpr(): [AssignExpr] ... = ...
|
||||
# 2007| Type = [Struct] TernaryPodObj
|
||||
# 2007| ValueCategory = lvalue
|
||||
# 2007| getLValue(): [VariableAccess] z
|
||||
# 2007| Type = [Struct] TernaryPodObj
|
||||
# 2007| ValueCategory = lvalue
|
||||
# 2007| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 2007| Type = [Struct] TernaryPodObj
|
||||
# 2007| ValueCategory = prvalue
|
||||
# 2007| getCondition(): [VariableAccess] a
|
||||
# 2007| Type = [BoolType] bool
|
||||
# 2007| ValueCategory = prvalue(load)
|
||||
# 2007| getThen(): [VariableAccess] x
|
||||
# 2007| Type = [Struct] TernaryPodObj
|
||||
# 2007| ValueCategory = prvalue(load)
|
||||
# 2007| getElse(): [VariableAccess] y
|
||||
# 2007| Type = [Struct] TernaryPodObj
|
||||
# 2007| ValueCategory = prvalue(load)
|
||||
# 2008| getStmt(1): [ExprStmt] ExprStmt
|
||||
# 2008| getExpr(): [AssignExpr] ... = ...
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = lvalue
|
||||
# 2008| getLValue(): [VariableAccess] z
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = lvalue
|
||||
# 2008| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = prvalue
|
||||
# 2008| getCondition(): [VariableAccess] a
|
||||
# 2008| Type = [BoolType] bool
|
||||
# 2008| ValueCategory = prvalue(load)
|
||||
# 2008| getThen(): [VariableAccess] x
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = prvalue(load)
|
||||
# 2008| getElse(): [Literal] 0
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| Value = [Literal] 0
|
||||
# 2008| ValueCategory = prvalue
|
||||
# 2008| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = prvalue(load)
|
||||
# 2008| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = prvalue(load)
|
||||
# 2008| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2008| Type = [Struct] TernaryPodObj
|
||||
# 2008| ValueCategory = prvalue(load)
|
||||
# 2009| getStmt(2): [ExprStmt] ExprStmt
|
||||
# 2009| getExpr(): [AssignExpr] ... = ...
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| ValueCategory = lvalue
|
||||
# 2009| getLValue(): [VariableAccess] z
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| ValueCategory = lvalue
|
||||
# 2009| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| ValueCategory = prvalue
|
||||
# 2009| getCondition(): [VariableAccess] a
|
||||
# 2009| Type = [BoolType] bool
|
||||
# 2009| ValueCategory = prvalue(load)
|
||||
# 2009| getThen(): [Literal] 0
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| Value = [Literal] 0
|
||||
# 2009| ValueCategory = prvalue
|
||||
# 2009| getElse(): [Literal] 0
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| Value = [Literal] 0
|
||||
# 2009| ValueCategory = prvalue
|
||||
# 2009| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| ValueCategory = prvalue(load)
|
||||
# 2009| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| ValueCategory = prvalue(load)
|
||||
# 2009| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2009| Type = [Struct] TernaryPodObj
|
||||
# 2009| ValueCategory = prvalue(load)
|
||||
# 2010| getStmt(3): [ExprStmt] ExprStmt
|
||||
# 2010| getExpr(): [AssignExpr] ... = ...
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = lvalue
|
||||
# 2010| getLValue(): [VariableAccess] z
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = lvalue
|
||||
# 2010| getRValue(): [ConditionalExpr] ... ? ... : ...
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = prvalue
|
||||
# 2010| getCondition(): [VariableAccess] a
|
||||
# 2010| Type = [BoolType] bool
|
||||
# 2010| ValueCategory = prvalue(load)
|
||||
# 2010| getThen(): [VariableAccess] x
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = prvalue(load)
|
||||
# 2010| getElse(): [AssignExpr] ... = ...
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = prvalue
|
||||
# 2010| getLValue(): [VariableAccess] y
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = lvalue
|
||||
# 2010| getRValue(): [Literal] 0
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| Value = [Literal] 0
|
||||
# 2010| ValueCategory = prvalue
|
||||
# 2010| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2010| Type = [Struct] TernaryPodObj
|
||||
# 2010| ValueCategory = prvalue(load)
|
||||
# 2011| getStmt(4): [ReturnStmt] return ...
|
||||
# 2013| [CopyAssignmentOperator] TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&)
|
||||
# 2013| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
#-----| getEntryPoint(): [BlockStmt] { ... }
|
||||
#-----| getStmt(0): [ReturnStmt] return ...
|
||||
#-----| getExpr(): [PointerDereferenceExpr] * ...
|
||||
#-----| Type = [Struct] TernaryNonPodObj
|
||||
#-----| ValueCategory = lvalue
|
||||
#-----| getOperand(): [ThisExpr] this
|
||||
#-----| Type = [PointerType] TernaryNonPodObj *
|
||||
#-----| ValueCategory = prvalue(load)
|
||||
#-----| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
#-----| Type = [LValueReferenceType] TernaryNonPodObj &
|
||||
#-----| ValueCategory = prvalue
|
||||
# 2013| [Constructor] void TernaryNonPodObj::TernaryNonPodObj()
|
||||
# 2013| <params>:
|
||||
# 2013| <initializations>:
|
||||
# 2013| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2013| getStmt(0): [ReturnStmt] return ...
|
||||
# 2013| [CopyConstructor] void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&)
|
||||
# 2013| <params>:
|
||||
#-----| getParameter(0): [Parameter] (unnamed parameter 0)
|
||||
#-----| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2013| <initializations>:
|
||||
# 2013| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2013| getStmt(0): [ReturnStmt] return ...
|
||||
# 2014| [Destructor,VirtualFunction] void TernaryNonPodObj::~TernaryNonPodObj()
|
||||
# 2014| <params>:
|
||||
# 2014| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2014| getStmt(0): [ReturnStmt] return ...
|
||||
# 2014| <destructions>:
|
||||
# 2017| [TopLevelFunction] void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj)
|
||||
# 2017| <params>:
|
||||
# 2017| getParameter(0): [Parameter] a
|
||||
# 2017| Type = [BoolType] bool
|
||||
# 2017| getParameter(1): [Parameter] x
|
||||
# 2017| Type = [Struct] TernaryNonPodObj
|
||||
# 2017| getParameter(2): [Parameter] y
|
||||
# 2017| Type = [Struct] TernaryNonPodObj
|
||||
# 2017| getParameter(3): [Parameter] z
|
||||
# 2017| Type = [Struct] TernaryNonPodObj
|
||||
# 2017| getEntryPoint(): [BlockStmt] { ... }
|
||||
# 2018| getStmt(0): [ExprStmt] ExprStmt
|
||||
# 2018| getExpr(): [FunctionCall] call to operator=
|
||||
# 2018| Type = [LValueReferenceType] TernaryNonPodObj &
|
||||
# 2018| ValueCategory = prvalue
|
||||
# 2018| getQualifier(): [VariableAccess] z
|
||||
# 2018| Type = [Struct] TernaryNonPodObj
|
||||
# 2018| ValueCategory = lvalue
|
||||
# 2018| getArgument(0): [ConditionalExpr] ... ? ... : ...
|
||||
# 2018| Type = [Struct] TernaryNonPodObj
|
||||
# 2018| ValueCategory = lvalue
|
||||
# 2018| getCondition(): [VariableAccess] a
|
||||
# 2018| Type = [BoolType] bool
|
||||
# 2018| ValueCategory = prvalue(load)
|
||||
# 2018| getThen(): [VariableAccess] x
|
||||
# 2018| Type = [Struct] TernaryNonPodObj
|
||||
# 2018| ValueCategory = lvalue
|
||||
# 2018| getElse(): [VariableAccess] y
|
||||
# 2018| Type = [Struct] TernaryNonPodObj
|
||||
# 2018| ValueCategory = lvalue
|
||||
# 2018| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 2018| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2018| ValueCategory = prvalue
|
||||
# 2018| getExpr(): [CStyleCast] (const TernaryNonPodObj)...
|
||||
# 2018| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 2018| Type = [SpecifiedType] const TernaryNonPodObj
|
||||
# 2018| ValueCategory = lvalue
|
||||
# 2018| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2018| Type = [Struct] TernaryNonPodObj
|
||||
# 2018| ValueCategory = lvalue
|
||||
# 2019| getStmt(1): [ExprStmt] ExprStmt
|
||||
# 2019| getExpr(): [FunctionCall] call to operator=
|
||||
# 2019| Type = [LValueReferenceType] TernaryNonPodObj &
|
||||
# 2019| ValueCategory = prvalue
|
||||
# 2019| getQualifier(): [VariableAccess] z
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = lvalue
|
||||
# 2019| getArgument(0): [ConditionalExpr] ... ? ... : ...
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = prvalue
|
||||
# 2019| getCondition(): [VariableAccess] a
|
||||
# 2019| Type = [BoolType] bool
|
||||
# 2019| ValueCategory = prvalue(load)
|
||||
# 2019| getThen(): [ConstructorCall] call to TernaryNonPodObj
|
||||
# 2019| Type = [VoidType] void
|
||||
# 2019| ValueCategory = prvalue
|
||||
# 2019| getArgument(0): [VariableAccess] x
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = lvalue
|
||||
# 2019| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 2019| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2019| ValueCategory = prvalue
|
||||
# 2019| getExpr(): [CStyleCast] (const TernaryNonPodObj)...
|
||||
# 2019| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 2019| Type = [SpecifiedType] const TernaryNonPodObj
|
||||
# 2019| ValueCategory = lvalue
|
||||
# 2019| getElse(): [ConstructorCall] call to TernaryNonPodObj
|
||||
# 2019| Type = [VoidType] void
|
||||
# 2019| ValueCategory = prvalue
|
||||
# 2019| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = prvalue(load)
|
||||
# 2019| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = prvalue(load)
|
||||
# 2019| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 2019| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2019| ValueCategory = prvalue
|
||||
# 2019| getExpr(): [CStyleCast] (const TernaryNonPodObj)...
|
||||
# 2019| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 2019| Type = [SpecifiedType] const TernaryNonPodObj
|
||||
# 2019| ValueCategory = lvalue
|
||||
# 2019| getExpr(): [TemporaryObjectExpr] temporary object
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = lvalue
|
||||
# 2019| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2019| Type = [Struct] TernaryNonPodObj
|
||||
# 2019| ValueCategory = lvalue
|
||||
# 2020| getStmt(2): [ExprStmt] ExprStmt
|
||||
# 2020| getExpr(): [FunctionCall] call to operator=
|
||||
# 2020| Type = [LValueReferenceType] TernaryNonPodObj &
|
||||
# 2020| ValueCategory = prvalue
|
||||
# 2020| getQualifier(): [VariableAccess] z
|
||||
# 2020| Type = [Struct] TernaryNonPodObj
|
||||
# 2020| ValueCategory = lvalue
|
||||
# 2020| getArgument(0): [ConditionalExpr] ... ? ... : ...
|
||||
# 2020| Type = [Struct] TernaryNonPodObj
|
||||
# 2020| ValueCategory = prvalue
|
||||
# 2020| getCondition(): [VariableAccess] a
|
||||
# 2020| Type = [BoolType] bool
|
||||
# 2020| ValueCategory = prvalue(load)
|
||||
# 2020| getThen(): [ConstructorCall] call to TernaryNonPodObj
|
||||
# 2020| Type = [VoidType] void
|
||||
# 2020| ValueCategory = prvalue
|
||||
# 2020| getElse(): [ConstructorCall] call to TernaryNonPodObj
|
||||
# 2020| Type = [VoidType] void
|
||||
# 2020| ValueCategory = prvalue
|
||||
# 2020| getThen().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2020| Type = [Struct] TernaryNonPodObj
|
||||
# 2020| ValueCategory = prvalue(load)
|
||||
# 2020| getElse().getFullyConverted(): [TemporaryObjectExpr] temporary object
|
||||
# 2020| Type = [Struct] TernaryNonPodObj
|
||||
# 2020| ValueCategory = prvalue(load)
|
||||
# 2020| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 2020| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2020| ValueCategory = prvalue
|
||||
# 2020| getExpr(): [CStyleCast] (const TernaryNonPodObj)...
|
||||
# 2020| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 2020| Type = [SpecifiedType] const TernaryNonPodObj
|
||||
# 2020| ValueCategory = lvalue
|
||||
# 2020| getExpr(): [TemporaryObjectExpr] temporary object
|
||||
# 2020| Type = [Struct] TernaryNonPodObj
|
||||
# 2020| ValueCategory = lvalue
|
||||
# 2020| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2020| Type = [Struct] TernaryNonPodObj
|
||||
# 2020| ValueCategory = lvalue
|
||||
# 2021| getStmt(3): [ExprStmt] ExprStmt
|
||||
# 2021| getExpr(): [FunctionCall] call to operator=
|
||||
# 2021| Type = [LValueReferenceType] TernaryNonPodObj &
|
||||
# 2021| ValueCategory = prvalue
|
||||
# 2021| getQualifier(): [VariableAccess] z
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getArgument(0): [ConditionalExpr] ... ? ... : ...
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getCondition(): [VariableAccess] a
|
||||
# 2021| Type = [BoolType] bool
|
||||
# 2021| ValueCategory = prvalue(load)
|
||||
# 2021| getThen(): [VariableAccess] x
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getElse(): [FunctionCall] call to operator=
|
||||
# 2021| Type = [LValueReferenceType] TernaryNonPodObj &
|
||||
# 2021| ValueCategory = prvalue
|
||||
# 2021| getQualifier(): [VariableAccess] y
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getArgument(0): [ConstructorCall] call to TernaryNonPodObj
|
||||
# 2021| Type = [VoidType] void
|
||||
# 2021| ValueCategory = prvalue
|
||||
# 2021| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 2021| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2021| ValueCategory = prvalue
|
||||
# 2021| getExpr(): [CStyleCast] (const TernaryNonPodObj)...
|
||||
# 2021| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 2021| Type = [SpecifiedType] const TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getExpr(): [TemporaryObjectExpr] temporary object
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getElse().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getArgument(0).getFullyConverted(): [ReferenceToExpr] (reference to)
|
||||
# 2021| Type = [LValueReferenceType] const TernaryNonPodObj &
|
||||
# 2021| ValueCategory = prvalue
|
||||
# 2021| getExpr(): [CStyleCast] (const TernaryNonPodObj)...
|
||||
# 2021| Conversion = [GlvalueConversion] glvalue conversion
|
||||
# 2021| Type = [SpecifiedType] const TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2021| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
|
||||
# 2021| Type = [Struct] TernaryNonPodObj
|
||||
# 2021| ValueCategory = lvalue
|
||||
# 2022| getStmt(4): [ReturnStmt] return ...
|
||||
perf-regression.cpp:
|
||||
# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
|
||||
# 4| <params>:
|
||||
|
||||
@@ -1993,4 +1993,32 @@ void SetStaticFuncPtr() {
|
||||
pfn = c.StaticMemberFunction;
|
||||
}
|
||||
|
||||
void TernaryTestInt(bool a, int x, int y, int z) {
|
||||
z = a ? x : y;
|
||||
z = a ? x : 5;
|
||||
z = a ? 3 : 5;
|
||||
a ? x : y = 7;
|
||||
}
|
||||
|
||||
struct TernaryPodObj {
|
||||
};
|
||||
|
||||
void TernaryTestPodObj(bool a, TernaryPodObj x, TernaryPodObj y, TernaryPodObj z) {
|
||||
z = a ? x : y;
|
||||
z = a ? x : TernaryPodObj();
|
||||
z = a ? TernaryPodObj() : TernaryPodObj();
|
||||
z = a ? x : y = TernaryPodObj();
|
||||
}
|
||||
|
||||
struct TernaryNonPodObj {
|
||||
virtual ~TernaryNonPodObj() {}
|
||||
};
|
||||
|
||||
void TernaryTestNonPodObj(bool a, TernaryNonPodObj x, TernaryNonPodObj y, TernaryNonPodObj z) {
|
||||
z = a ? x : y;
|
||||
z = a ? x : TernaryNonPodObj();
|
||||
z = a ? TernaryNonPodObj() : TernaryNonPodObj();
|
||||
z = a ? x : y = TernaryNonPodObj();
|
||||
}
|
||||
|
||||
// semmle-extractor-options: -std=c++17 --clang
|
||||
|
||||
@@ -680,6 +680,10 @@
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_1 |
|
||||
| file://:0:0:0:0 | Address | &:r0_2 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
@@ -704,6 +708,10 @@
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_3 |
|
||||
| file://:0:0:0:0 | Address | &:r0_4 |
|
||||
| file://:0:0:0:0 | Address | &:r0_4 |
|
||||
| file://:0:0:0:0 | Address | &:r0_5 |
|
||||
@@ -715,6 +723,8 @@
|
||||
| file://:0:0:0:0 | Address | &:r0_5 |
|
||||
| file://:0:0:0:0 | Address | &:r0_5 |
|
||||
| file://:0:0:0:0 | Address | &:r0_5 |
|
||||
| file://:0:0:0:0 | Address | &:r0_5 |
|
||||
| file://:0:0:0:0 | Address | &:r0_6 |
|
||||
| file://:0:0:0:0 | Address | &:r0_6 |
|
||||
| file://:0:0:0:0 | Address | &:r0_7 |
|
||||
| file://:0:0:0:0 | Address | &:r0_7 |
|
||||
@@ -799,6 +809,8 @@
|
||||
| file://:0:0:0:0 | Load | m0_2 |
|
||||
| file://:0:0:0:0 | Load | m0_2 |
|
||||
| file://:0:0:0:0 | Load | m0_2 |
|
||||
| file://:0:0:0:0 | Load | m0_2 |
|
||||
| file://:0:0:0:0 | Load | m0_2 |
|
||||
| file://:0:0:0:0 | Load | m0_5 |
|
||||
| file://:0:0:0:0 | Load | m0_8 |
|
||||
| file://:0:0:0:0 | Load | m0_11 |
|
||||
@@ -814,6 +826,7 @@
|
||||
| file://:0:0:0:0 | Load | m1834_6 |
|
||||
| file://:0:0:0:0 | Load | m1834_6 |
|
||||
| file://:0:0:0:0 | Load | m1839_6 |
|
||||
| file://:0:0:0:0 | Load | m2013_6 |
|
||||
| file://:0:0:0:0 | Load | ~m0_4 |
|
||||
| file://:0:0:0:0 | Load | ~m1444_6 |
|
||||
| file://:0:0:0:0 | Load | ~m1712_10 |
|
||||
@@ -832,6 +845,8 @@
|
||||
| file://:0:0:0:0 | SideEffect | m0_4 |
|
||||
| file://:0:0:0:0 | SideEffect | m0_4 |
|
||||
| file://:0:0:0:0 | SideEffect | m0_4 |
|
||||
| file://:0:0:0:0 | SideEffect | m0_4 |
|
||||
| file://:0:0:0:0 | SideEffect | m0_4 |
|
||||
| file://:0:0:0:0 | SideEffect | m0_14 |
|
||||
| file://:0:0:0:0 | SideEffect | m1078_23 |
|
||||
| file://:0:0:0:0 | SideEffect | m1078_23 |
|
||||
@@ -869,6 +884,7 @@
|
||||
| file://:0:0:0:0 | StoreValue | r0_7 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_9 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_9 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_9 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_12 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_12 |
|
||||
| file://:0:0:0:0 | StoreValue | r0_13 |
|
||||
@@ -895,6 +911,8 @@
|
||||
| file://:0:0:0:0 | Unary | r0_7 |
|
||||
| file://:0:0:0:0 | Unary | r0_7 |
|
||||
| file://:0:0:0:0 | Unary | r0_7 |
|
||||
| file://:0:0:0:0 | Unary | r0_7 |
|
||||
| file://:0:0:0:0 | Unary | r0_8 |
|
||||
| file://:0:0:0:0 | Unary | r0_8 |
|
||||
| file://:0:0:0:0 | Unary | r0_9 |
|
||||
| file://:0:0:0:0 | Unary | r0_9 |
|
||||
@@ -9058,6 +9076,407 @@
|
||||
| ir.cpp:1992:23:1992:45 | StoreValue | r1992_2 |
|
||||
| ir.cpp:1993:5:1993:7 | Address | &:r1993_3 |
|
||||
| ir.cpp:1993:13:1993:32 | StoreValue | r1993_2 |
|
||||
| ir.cpp:1996:6:1996:19 | ChiPartial | partial:m1996_3 |
|
||||
| ir.cpp:1996:6:1996:19 | ChiTotal | total:m1996_2 |
|
||||
| ir.cpp:1996:6:1996:19 | SideEffect | m1996_3 |
|
||||
| ir.cpp:1996:26:1996:26 | Address | &:r1996_5 |
|
||||
| ir.cpp:1996:33:1996:33 | Address | &:r1996_7 |
|
||||
| ir.cpp:1996:40:1996:40 | Address | &:r1996_9 |
|
||||
| ir.cpp:1996:47:1996:47 | Address | &:r1996_11 |
|
||||
| ir.cpp:1997:5:1997:5 | Address | &:r1997_7 |
|
||||
| ir.cpp:1997:9:1997:9 | Address | &:r1997_1 |
|
||||
| ir.cpp:1997:9:1997:9 | Condition | r1997_2 |
|
||||
| ir.cpp:1997:9:1997:9 | Load | m1996_6 |
|
||||
| ir.cpp:1997:9:1997:17 | Address | &:r1997_5 |
|
||||
| ir.cpp:1997:9:1997:17 | Address | &:r1997_11 |
|
||||
| ir.cpp:1997:9:1997:17 | Address | &:r1997_15 |
|
||||
| ir.cpp:1997:9:1997:17 | Load | m1997_4 |
|
||||
| ir.cpp:1997:9:1997:17 | Phi | from 2:m1997_12 |
|
||||
| ir.cpp:1997:9:1997:17 | Phi | from 3:m1997_16 |
|
||||
| ir.cpp:1997:9:1997:17 | StoreValue | r1997_6 |
|
||||
| ir.cpp:1997:13:1997:13 | Address | &:r1997_9 |
|
||||
| ir.cpp:1997:13:1997:13 | Load | m1996_8 |
|
||||
| ir.cpp:1997:13:1997:13 | StoreValue | r1997_10 |
|
||||
| ir.cpp:1997:17:1997:17 | Address | &:r1997_13 |
|
||||
| ir.cpp:1997:17:1997:17 | Load | m1996_10 |
|
||||
| ir.cpp:1997:17:1997:17 | StoreValue | r1997_14 |
|
||||
| ir.cpp:1998:5:1998:5 | Address | &:r1998_7 |
|
||||
| ir.cpp:1998:9:1998:9 | Address | &:r1998_1 |
|
||||
| ir.cpp:1998:9:1998:9 | Condition | r1998_2 |
|
||||
| ir.cpp:1998:9:1998:9 | Load | m1996_6 |
|
||||
| ir.cpp:1998:9:1998:17 | Address | &:r1998_5 |
|
||||
| ir.cpp:1998:9:1998:17 | Address | &:r1998_11 |
|
||||
| ir.cpp:1998:9:1998:17 | Address | &:r1998_14 |
|
||||
| ir.cpp:1998:9:1998:17 | Load | m1998_4 |
|
||||
| ir.cpp:1998:9:1998:17 | Phi | from 5:m1998_12 |
|
||||
| ir.cpp:1998:9:1998:17 | Phi | from 6:m1998_15 |
|
||||
| ir.cpp:1998:9:1998:17 | StoreValue | r1998_6 |
|
||||
| ir.cpp:1998:13:1998:13 | Address | &:r1998_9 |
|
||||
| ir.cpp:1998:13:1998:13 | Load | m1996_8 |
|
||||
| ir.cpp:1998:13:1998:13 | StoreValue | r1998_10 |
|
||||
| ir.cpp:1998:17:1998:17 | StoreValue | r1998_13 |
|
||||
| ir.cpp:1999:5:1999:5 | Address | &:r1999_7 |
|
||||
| ir.cpp:1999:9:1999:9 | Address | &:r1999_1 |
|
||||
| ir.cpp:1999:9:1999:9 | Condition | r1999_2 |
|
||||
| ir.cpp:1999:9:1999:9 | Load | m1996_6 |
|
||||
| ir.cpp:1999:9:1999:17 | Address | &:r1999_5 |
|
||||
| ir.cpp:1999:9:1999:17 | Address | &:r1999_10 |
|
||||
| ir.cpp:1999:9:1999:17 | Address | &:r1999_13 |
|
||||
| ir.cpp:1999:9:1999:17 | Load | m1999_4 |
|
||||
| ir.cpp:1999:9:1999:17 | Phi | from 8:m1999_11 |
|
||||
| ir.cpp:1999:9:1999:17 | Phi | from 9:m1999_14 |
|
||||
| ir.cpp:1999:9:1999:17 | StoreValue | r1999_6 |
|
||||
| ir.cpp:1999:13:1999:13 | StoreValue | r1999_9 |
|
||||
| ir.cpp:1999:17:1999:17 | StoreValue | r1999_12 |
|
||||
| ir.cpp:2000:5:2000:5 | Address | &:r2000_1 |
|
||||
| ir.cpp:2000:5:2000:5 | Condition | r2000_2 |
|
||||
| ir.cpp:2000:5:2000:5 | Load | m1996_6 |
|
||||
| ir.cpp:2000:5:2000:17 | Address | &:r2000_5 |
|
||||
| ir.cpp:2000:5:2000:17 | Address | &:r2000_8 |
|
||||
| ir.cpp:2000:5:2000:17 | Address | &:r2000_14 |
|
||||
| ir.cpp:2000:5:2000:17 | Load | m2000_4 |
|
||||
| ir.cpp:2000:5:2000:17 | Phi | from 11:m2000_9 |
|
||||
| ir.cpp:2000:5:2000:17 | Phi | from 12:m2000_15 |
|
||||
| ir.cpp:2000:9:2000:9 | StoreValue | r2000_7 |
|
||||
| ir.cpp:2000:13:2000:13 | Address | &:r2000_11 |
|
||||
| ir.cpp:2000:13:2000:13 | Unary | r2000_11 |
|
||||
| ir.cpp:2000:13:2000:17 | StoreValue | r2000_13 |
|
||||
| ir.cpp:2000:17:2000:17 | StoreValue | r2000_10 |
|
||||
| ir.cpp:2006:6:2006:22 | ChiPartial | partial:m2006_3 |
|
||||
| ir.cpp:2006:6:2006:22 | ChiTotal | total:m2006_2 |
|
||||
| ir.cpp:2006:6:2006:22 | SideEffect | m2006_3 |
|
||||
| ir.cpp:2006:29:2006:29 | Address | &:r2006_5 |
|
||||
| ir.cpp:2006:46:2006:46 | Address | &:r2006_7 |
|
||||
| ir.cpp:2006:63:2006:63 | Address | &:r2006_9 |
|
||||
| ir.cpp:2006:80:2006:80 | Address | &:r2006_11 |
|
||||
| ir.cpp:2007:5:2007:5 | Address | &:r2007_7 |
|
||||
| ir.cpp:2007:9:2007:9 | Address | &:r2007_1 |
|
||||
| ir.cpp:2007:9:2007:9 | Condition | r2007_2 |
|
||||
| ir.cpp:2007:9:2007:9 | Load | m2006_6 |
|
||||
| ir.cpp:2007:9:2007:17 | Address | &:r2007_5 |
|
||||
| ir.cpp:2007:9:2007:17 | Address | &:r2007_11 |
|
||||
| ir.cpp:2007:9:2007:17 | Address | &:r2007_15 |
|
||||
| ir.cpp:2007:9:2007:17 | Load | m2007_4 |
|
||||
| ir.cpp:2007:9:2007:17 | Phi | from 2:m2007_12 |
|
||||
| ir.cpp:2007:9:2007:17 | Phi | from 3:m2007_16 |
|
||||
| ir.cpp:2007:9:2007:17 | StoreValue | r2007_6 |
|
||||
| ir.cpp:2007:13:2007:13 | Address | &:r2007_9 |
|
||||
| ir.cpp:2007:13:2007:13 | Load | m2006_8 |
|
||||
| ir.cpp:2007:13:2007:13 | StoreValue | r2007_10 |
|
||||
| ir.cpp:2007:17:2007:17 | Address | &:r2007_13 |
|
||||
| ir.cpp:2007:17:2007:17 | Load | m2006_10 |
|
||||
| ir.cpp:2007:17:2007:17 | StoreValue | r2007_14 |
|
||||
| ir.cpp:2008:5:2008:5 | Address | &:r2008_10 |
|
||||
| ir.cpp:2008:9:2008:9 | Address | &:r2008_2 |
|
||||
| ir.cpp:2008:9:2008:9 | Address | &:r2008_6 |
|
||||
| ir.cpp:2008:9:2008:9 | Address | &:r2008_17 |
|
||||
| ir.cpp:2008:9:2008:9 | Address | &:r2008_23 |
|
||||
| ir.cpp:2008:9:2008:9 | Condition | r2008_3 |
|
||||
| ir.cpp:2008:9:2008:9 | Load | m2006_6 |
|
||||
| ir.cpp:2008:9:2008:9 | Load | m2008_5 |
|
||||
| ir.cpp:2008:9:2008:9 | Phi | from 5:m2008_18 |
|
||||
| ir.cpp:2008:9:2008:9 | Phi | from 6:m2008_24 |
|
||||
| ir.cpp:2008:9:2008:9 | StoreValue | r2008_7 |
|
||||
| ir.cpp:2008:9:2008:31 | Address | &:r2008_1 |
|
||||
| ir.cpp:2008:9:2008:31 | Address | &:r2008_1 |
|
||||
| ir.cpp:2008:9:2008:31 | Load | m2008_8 |
|
||||
| ir.cpp:2008:9:2008:31 | StoreValue | r2008_9 |
|
||||
| ir.cpp:2008:13:2008:13 | Address | &:r2008_12 |
|
||||
| ir.cpp:2008:13:2008:13 | Address | &:r2008_12 |
|
||||
| ir.cpp:2008:13:2008:13 | Address | &:r2008_13 |
|
||||
| ir.cpp:2008:13:2008:13 | Load | m2006_8 |
|
||||
| ir.cpp:2008:13:2008:13 | Load | m2008_15 |
|
||||
| ir.cpp:2008:13:2008:13 | StoreValue | r2008_14 |
|
||||
| ir.cpp:2008:13:2008:13 | StoreValue | r2008_16 |
|
||||
| ir.cpp:2008:17:2008:31 | Address | &:r2008_19 |
|
||||
| ir.cpp:2008:17:2008:31 | Address | &:r2008_19 |
|
||||
| ir.cpp:2008:17:2008:31 | Load | m2008_21 |
|
||||
| ir.cpp:2008:17:2008:31 | StoreValue | r2008_20 |
|
||||
| ir.cpp:2008:17:2008:31 | StoreValue | r2008_22 |
|
||||
| ir.cpp:2009:5:2009:5 | Address | &:r2009_10 |
|
||||
| ir.cpp:2009:9:2009:9 | Address | &:r2009_2 |
|
||||
| ir.cpp:2009:9:2009:9 | Address | &:r2009_6 |
|
||||
| ir.cpp:2009:9:2009:9 | Address | &:r2009_16 |
|
||||
| ir.cpp:2009:9:2009:9 | Address | &:r2009_22 |
|
||||
| ir.cpp:2009:9:2009:9 | Condition | r2009_3 |
|
||||
| ir.cpp:2009:9:2009:9 | Load | m2006_6 |
|
||||
| ir.cpp:2009:9:2009:9 | Load | m2009_5 |
|
||||
| ir.cpp:2009:9:2009:9 | Phi | from 8:m2009_17 |
|
||||
| ir.cpp:2009:9:2009:9 | Phi | from 9:m2009_23 |
|
||||
| ir.cpp:2009:9:2009:9 | StoreValue | r2009_7 |
|
||||
| ir.cpp:2009:9:2009:45 | Address | &:r2009_1 |
|
||||
| ir.cpp:2009:9:2009:45 | Address | &:r2009_1 |
|
||||
| ir.cpp:2009:9:2009:45 | Load | m2009_8 |
|
||||
| ir.cpp:2009:9:2009:45 | StoreValue | r2009_9 |
|
||||
| ir.cpp:2009:13:2009:27 | Address | &:r2009_12 |
|
||||
| ir.cpp:2009:13:2009:27 | Address | &:r2009_12 |
|
||||
| ir.cpp:2009:13:2009:27 | Load | m2009_14 |
|
||||
| ir.cpp:2009:13:2009:27 | StoreValue | r2009_13 |
|
||||
| ir.cpp:2009:13:2009:27 | StoreValue | r2009_15 |
|
||||
| ir.cpp:2009:31:2009:45 | Address | &:r2009_18 |
|
||||
| ir.cpp:2009:31:2009:45 | Address | &:r2009_18 |
|
||||
| ir.cpp:2009:31:2009:45 | Load | m2009_20 |
|
||||
| ir.cpp:2009:31:2009:45 | StoreValue | r2009_19 |
|
||||
| ir.cpp:2009:31:2009:45 | StoreValue | r2009_21 |
|
||||
| ir.cpp:2010:5:2010:5 | Address | &:r2010_7 |
|
||||
| ir.cpp:2010:9:2010:9 | Address | &:r2010_1 |
|
||||
| ir.cpp:2010:9:2010:9 | Condition | r2010_2 |
|
||||
| ir.cpp:2010:9:2010:9 | Load | m2006_6 |
|
||||
| ir.cpp:2010:9:2010:35 | Address | &:r2010_5 |
|
||||
| ir.cpp:2010:9:2010:35 | Address | &:r2010_11 |
|
||||
| ir.cpp:2010:9:2010:35 | Address | &:r2010_20 |
|
||||
| ir.cpp:2010:9:2010:35 | Load | m2010_4 |
|
||||
| ir.cpp:2010:9:2010:35 | Phi | from 11:m2010_12 |
|
||||
| ir.cpp:2010:9:2010:35 | Phi | from 12:m2010_21 |
|
||||
| ir.cpp:2010:9:2010:35 | StoreValue | r2010_6 |
|
||||
| ir.cpp:2010:13:2010:13 | Address | &:r2010_9 |
|
||||
| ir.cpp:2010:13:2010:13 | Load | m2006_8 |
|
||||
| ir.cpp:2010:13:2010:13 | StoreValue | r2010_10 |
|
||||
| ir.cpp:2010:17:2010:17 | Address | &:r2010_17 |
|
||||
| ir.cpp:2010:17:2010:35 | StoreValue | r2010_19 |
|
||||
| ir.cpp:2010:21:2010:35 | Address | &:r2010_13 |
|
||||
| ir.cpp:2010:21:2010:35 | Address | &:r2010_13 |
|
||||
| ir.cpp:2010:21:2010:35 | Load | m2010_15 |
|
||||
| ir.cpp:2010:21:2010:35 | StoreValue | r2010_14 |
|
||||
| ir.cpp:2010:21:2010:35 | StoreValue | r2010_16 |
|
||||
| ir.cpp:2010:21:2010:35 | Unary | r2010_16 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_5 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_7 |
|
||||
| ir.cpp:2013:8:2013:8 | Address | &:r2013_10 |
|
||||
| ir.cpp:2013:8:2013:8 | ChiPartial | partial:m2013_3 |
|
||||
| ir.cpp:2013:8:2013:8 | ChiPartial | partial:m2013_3 |
|
||||
| ir.cpp:2013:8:2013:8 | ChiPartial | partial:m2013_3 |
|
||||
| ir.cpp:2013:8:2013:8 | ChiTotal | total:m2013_2 |
|
||||
| ir.cpp:2013:8:2013:8 | ChiTotal | total:m2013_2 |
|
||||
| ir.cpp:2013:8:2013:8 | ChiTotal | total:m2013_2 |
|
||||
| ir.cpp:2013:8:2013:8 | Load | m0_10 |
|
||||
| ir.cpp:2013:8:2013:8 | Load | m2013_6 |
|
||||
| ir.cpp:2013:8:2013:8 | Load | m2013_6 |
|
||||
| ir.cpp:2013:8:2013:8 | Load | m2013_6 |
|
||||
| ir.cpp:2013:8:2013:8 | SideEffect | m2013_3 |
|
||||
| ir.cpp:2013:8:2013:8 | SideEffect | m2013_3 |
|
||||
| ir.cpp:2013:8:2013:8 | SideEffect | m2013_3 |
|
||||
| ir.cpp:2013:8:2013:8 | SideEffect | m2013_8 |
|
||||
| ir.cpp:2013:8:2013:8 | SideEffect | m2013_8 |
|
||||
| ir.cpp:2013:8:2013:8 | SideEffect | m2013_8 |
|
||||
| ir.cpp:2014:13:2014:29 | Address | &:r2014_5 |
|
||||
| ir.cpp:2014:13:2014:29 | Address | &:r2014_5 |
|
||||
| ir.cpp:2014:13:2014:29 | Address | &:r2014_7 |
|
||||
| ir.cpp:2014:13:2014:29 | Address | &:r2014_7 |
|
||||
| ir.cpp:2014:13:2014:29 | ChiPartial | partial:m2014_3 |
|
||||
| ir.cpp:2014:13:2014:29 | ChiTotal | total:m2014_2 |
|
||||
| ir.cpp:2014:13:2014:29 | Load | m2014_6 |
|
||||
| ir.cpp:2014:13:2014:29 | SideEffect | m2014_3 |
|
||||
| ir.cpp:2014:13:2014:29 | SideEffect | m2014_8 |
|
||||
| ir.cpp:2017:6:2017:25 | ChiPartial | partial:m2017_3 |
|
||||
| ir.cpp:2017:6:2017:25 | ChiTotal | total:m2017_2 |
|
||||
| ir.cpp:2017:6:2017:25 | SideEffect | ~m2021_14 |
|
||||
| ir.cpp:2017:32:2017:32 | Address | &:r2017_5 |
|
||||
| ir.cpp:2017:52:2017:52 | Address | &:r2017_7 |
|
||||
| ir.cpp:2017:72:2017:72 | Address | &:r2017_9 |
|
||||
| ir.cpp:2017:92:2017:92 | Address | &:r2017_11 |
|
||||
| ir.cpp:2018:5:2018:5 | Address | &:r2018_1 |
|
||||
| ir.cpp:2018:5:2018:5 | Address | &:r2018_1 |
|
||||
| ir.cpp:2018:5:2018:5 | Arg(this) | this:r2018_1 |
|
||||
| ir.cpp:2018:5:2018:5 | ChiPartial | partial:m2018_16 |
|
||||
| ir.cpp:2018:5:2018:5 | ChiTotal | total:m2017_12 |
|
||||
| ir.cpp:2018:5:2018:5 | SideEffect | m2017_12 |
|
||||
| ir.cpp:2018:7:2018:7 | CallTarget | func:r2018_2 |
|
||||
| ir.cpp:2018:7:2018:7 | ChiPartial | partial:m2018_12 |
|
||||
| ir.cpp:2018:7:2018:7 | ChiTotal | total:m2017_4 |
|
||||
| ir.cpp:2018:7:2018:7 | SideEffect | ~m2017_4 |
|
||||
| ir.cpp:2018:7:2018:7 | Unary | r2018_11 |
|
||||
| ir.cpp:2018:9:2018:9 | Address | &:r2018_3 |
|
||||
| ir.cpp:2018:9:2018:9 | Condition | r2018_4 |
|
||||
| ir.cpp:2018:9:2018:9 | Load | m2017_6 |
|
||||
| ir.cpp:2018:9:2018:17 | Address | &:r2018_7 |
|
||||
| ir.cpp:2018:9:2018:17 | Address | &:r2018_10 |
|
||||
| ir.cpp:2018:9:2018:17 | Address | &:r2018_20 |
|
||||
| ir.cpp:2018:9:2018:17 | Address | &:r2018_23 |
|
||||
| ir.cpp:2018:9:2018:17 | Arg(0) | 0:r2018_10 |
|
||||
| ir.cpp:2018:9:2018:17 | Load | m2018_6 |
|
||||
| ir.cpp:2018:9:2018:17 | Phi | from 2:m2018_21 |
|
||||
| ir.cpp:2018:9:2018:17 | Phi | from 3:m2018_24 |
|
||||
| ir.cpp:2018:9:2018:17 | SideEffect | ~m2018_13 |
|
||||
| ir.cpp:2018:9:2018:17 | Unary | r2018_8 |
|
||||
| ir.cpp:2018:9:2018:17 | Unary | r2018_9 |
|
||||
| ir.cpp:2018:13:2018:13 | StoreValue | r2018_19 |
|
||||
| ir.cpp:2018:17:2018:17 | StoreValue | r2018_22 |
|
||||
| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 |
|
||||
| ir.cpp:2019:5:2019:5 | Address | &:r2019_1 |
|
||||
| ir.cpp:2019:5:2019:5 | Arg(this) | this:r2019_1 |
|
||||
| ir.cpp:2019:5:2019:5 | ChiPartial | partial:m2019_19 |
|
||||
| ir.cpp:2019:5:2019:5 | ChiTotal | total:m2018_17 |
|
||||
| ir.cpp:2019:5:2019:5 | SideEffect | m2018_17 |
|
||||
| ir.cpp:2019:7:2019:7 | CallTarget | func:r2019_2 |
|
||||
| ir.cpp:2019:7:2019:7 | ChiPartial | partial:m2019_15 |
|
||||
| ir.cpp:2019:7:2019:7 | ChiTotal | total:m2019_7 |
|
||||
| ir.cpp:2019:7:2019:7 | SideEffect | ~m2019_7 |
|
||||
| ir.cpp:2019:7:2019:7 | Unary | r2019_14 |
|
||||
| ir.cpp:2019:9:2019:9 | Address | &:r2019_4 |
|
||||
| ir.cpp:2019:9:2019:9 | Address | &:r2019_9 |
|
||||
| ir.cpp:2019:9:2019:9 | Address | &:r2019_35 |
|
||||
| ir.cpp:2019:9:2019:9 | Address | &:r2019_46 |
|
||||
| ir.cpp:2019:9:2019:9 | Condition | r2019_5 |
|
||||
| ir.cpp:2019:9:2019:9 | Load | m2017_6 |
|
||||
| ir.cpp:2019:9:2019:9 | Load | m2019_8 |
|
||||
| ir.cpp:2019:9:2019:9 | Phi | from 5:m2019_36 |
|
||||
| ir.cpp:2019:9:2019:9 | Phi | from 5:~m2019_30 |
|
||||
| ir.cpp:2019:9:2019:9 | Phi | from 6:m2019_47 |
|
||||
| ir.cpp:2019:9:2019:9 | Phi | from 6:~m2019_42 |
|
||||
| ir.cpp:2019:9:2019:9 | StoreValue | r2019_10 |
|
||||
| ir.cpp:2019:9:2019:34 | Address | &:r2019_3 |
|
||||
| ir.cpp:2019:9:2019:34 | Address | &:r2019_13 |
|
||||
| ir.cpp:2019:9:2019:34 | Arg(0) | 0:r2019_13 |
|
||||
| ir.cpp:2019:9:2019:34 | SideEffect | ~m2019_11 |
|
||||
| ir.cpp:2019:9:2019:34 | Unary | r2019_3 |
|
||||
| ir.cpp:2019:9:2019:34 | Unary | r2019_12 |
|
||||
| ir.cpp:2019:13:2019:13 | Address | &:r2019_22 |
|
||||
| ir.cpp:2019:13:2019:13 | Address | &:r2019_22 |
|
||||
| ir.cpp:2019:13:2019:13 | Address | &:r2019_22 |
|
||||
| ir.cpp:2019:13:2019:13 | Address | &:r2019_27 |
|
||||
| ir.cpp:2019:13:2019:13 | Arg(0) | 0:r2019_27 |
|
||||
| ir.cpp:2019:13:2019:13 | Arg(this) | this:r2019_22 |
|
||||
| ir.cpp:2019:13:2019:13 | CallTarget | func:r2019_24 |
|
||||
| ir.cpp:2019:13:2019:13 | ChiPartial | partial:m2019_29 |
|
||||
| ir.cpp:2019:13:2019:13 | ChiPartial | partial:m2019_32 |
|
||||
| ir.cpp:2019:13:2019:13 | ChiTotal | total:m2018_13 |
|
||||
| ir.cpp:2019:13:2019:13 | ChiTotal | total:m2019_23 |
|
||||
| ir.cpp:2019:13:2019:13 | Load | m2019_33 |
|
||||
| ir.cpp:2019:13:2019:13 | SideEffect | ~m2017_8 |
|
||||
| ir.cpp:2019:13:2019:13 | SideEffect | ~m2018_13 |
|
||||
| ir.cpp:2019:13:2019:13 | StoreValue | r2019_34 |
|
||||
| ir.cpp:2019:13:2019:13 | Unary | r2019_25 |
|
||||
| ir.cpp:2019:13:2019:13 | Unary | r2019_26 |
|
||||
| ir.cpp:2019:17:2019:34 | Address | &:r2019_37 |
|
||||
| ir.cpp:2019:17:2019:34 | Address | &:r2019_37 |
|
||||
| ir.cpp:2019:17:2019:34 | Address | &:r2019_37 |
|
||||
| ir.cpp:2019:17:2019:34 | Arg(this) | this:r2019_37 |
|
||||
| ir.cpp:2019:17:2019:34 | CallTarget | func:r2019_39 |
|
||||
| ir.cpp:2019:17:2019:34 | ChiPartial | partial:m2019_41 |
|
||||
| ir.cpp:2019:17:2019:34 | ChiPartial | partial:m2019_43 |
|
||||
| ir.cpp:2019:17:2019:34 | ChiTotal | total:m2018_13 |
|
||||
| ir.cpp:2019:17:2019:34 | ChiTotal | total:m2019_38 |
|
||||
| ir.cpp:2019:17:2019:34 | Load | m2019_44 |
|
||||
| ir.cpp:2019:17:2019:34 | SideEffect | ~m2018_13 |
|
||||
| ir.cpp:2019:17:2019:34 | StoreValue | r2019_45 |
|
||||
| ir.cpp:2020:5:2020:5 | Address | &:r2020_1 |
|
||||
| ir.cpp:2020:5:2020:5 | Address | &:r2020_1 |
|
||||
| ir.cpp:2020:5:2020:5 | Arg(this) | this:r2020_1 |
|
||||
| ir.cpp:2020:5:2020:5 | ChiPartial | partial:m2020_19 |
|
||||
| ir.cpp:2020:5:2020:5 | ChiTotal | total:m2019_20 |
|
||||
| ir.cpp:2020:5:2020:5 | SideEffect | m2019_20 |
|
||||
| ir.cpp:2020:7:2020:7 | CallTarget | func:r2020_2 |
|
||||
| ir.cpp:2020:7:2020:7 | ChiPartial | partial:m2020_15 |
|
||||
| ir.cpp:2020:7:2020:7 | ChiTotal | total:m2020_7 |
|
||||
| ir.cpp:2020:7:2020:7 | SideEffect | ~m2020_7 |
|
||||
| ir.cpp:2020:7:2020:7 | Unary | r2020_14 |
|
||||
| ir.cpp:2020:9:2020:9 | Address | &:r2020_4 |
|
||||
| ir.cpp:2020:9:2020:9 | Address | &:r2020_9 |
|
||||
| ir.cpp:2020:9:2020:9 | Address | &:r2020_31 |
|
||||
| ir.cpp:2020:9:2020:9 | Address | &:r2020_42 |
|
||||
| ir.cpp:2020:9:2020:9 | Condition | r2020_5 |
|
||||
| ir.cpp:2020:9:2020:9 | Load | m2017_6 |
|
||||
| ir.cpp:2020:9:2020:9 | Load | m2020_8 |
|
||||
| ir.cpp:2020:9:2020:9 | Phi | from 8:m2020_32 |
|
||||
| ir.cpp:2020:9:2020:9 | Phi | from 8:~m2020_27 |
|
||||
| ir.cpp:2020:9:2020:9 | Phi | from 9:m2020_43 |
|
||||
| ir.cpp:2020:9:2020:9 | Phi | from 9:~m2020_38 |
|
||||
| ir.cpp:2020:9:2020:9 | StoreValue | r2020_10 |
|
||||
| ir.cpp:2020:9:2020:51 | Address | &:r2020_3 |
|
||||
| ir.cpp:2020:9:2020:51 | Address | &:r2020_13 |
|
||||
| ir.cpp:2020:9:2020:51 | Arg(0) | 0:r2020_13 |
|
||||
| ir.cpp:2020:9:2020:51 | SideEffect | ~m2020_11 |
|
||||
| ir.cpp:2020:9:2020:51 | Unary | r2020_3 |
|
||||
| ir.cpp:2020:9:2020:51 | Unary | r2020_12 |
|
||||
| ir.cpp:2020:13:2020:30 | Address | &:r2020_22 |
|
||||
| ir.cpp:2020:13:2020:30 | Address | &:r2020_22 |
|
||||
| ir.cpp:2020:13:2020:30 | Address | &:r2020_22 |
|
||||
| ir.cpp:2020:13:2020:30 | Arg(this) | this:r2020_22 |
|
||||
| ir.cpp:2020:13:2020:30 | CallTarget | func:r2020_24 |
|
||||
| ir.cpp:2020:13:2020:30 | ChiPartial | partial:m2020_26 |
|
||||
| ir.cpp:2020:13:2020:30 | ChiPartial | partial:m2020_28 |
|
||||
| ir.cpp:2020:13:2020:30 | ChiTotal | total:m2019_16 |
|
||||
| ir.cpp:2020:13:2020:30 | ChiTotal | total:m2020_23 |
|
||||
| ir.cpp:2020:13:2020:30 | Load | m2020_29 |
|
||||
| ir.cpp:2020:13:2020:30 | SideEffect | ~m2019_16 |
|
||||
| ir.cpp:2020:13:2020:30 | StoreValue | r2020_30 |
|
||||
| ir.cpp:2020:34:2020:51 | Address | &:r2020_33 |
|
||||
| ir.cpp:2020:34:2020:51 | Address | &:r2020_33 |
|
||||
| ir.cpp:2020:34:2020:51 | Address | &:r2020_33 |
|
||||
| ir.cpp:2020:34:2020:51 | Arg(this) | this:r2020_33 |
|
||||
| ir.cpp:2020:34:2020:51 | CallTarget | func:r2020_35 |
|
||||
| ir.cpp:2020:34:2020:51 | ChiPartial | partial:m2020_37 |
|
||||
| ir.cpp:2020:34:2020:51 | ChiPartial | partial:m2020_39 |
|
||||
| ir.cpp:2020:34:2020:51 | ChiTotal | total:m2019_16 |
|
||||
| ir.cpp:2020:34:2020:51 | ChiTotal | total:m2020_34 |
|
||||
| ir.cpp:2020:34:2020:51 | Load | m2020_40 |
|
||||
| ir.cpp:2020:34:2020:51 | SideEffect | ~m2019_16 |
|
||||
| ir.cpp:2020:34:2020:51 | StoreValue | r2020_41 |
|
||||
| ir.cpp:2021:5:2021:5 | Address | &:r2021_1 |
|
||||
| ir.cpp:2021:5:2021:5 | Address | &:r2021_1 |
|
||||
| ir.cpp:2021:5:2021:5 | Arg(this) | this:r2021_1 |
|
||||
| ir.cpp:2021:5:2021:5 | ChiPartial | partial:m2021_17 |
|
||||
| ir.cpp:2021:5:2021:5 | ChiTotal | total:m2020_20 |
|
||||
| ir.cpp:2021:5:2021:5 | SideEffect | m2020_20 |
|
||||
| ir.cpp:2021:7:2021:7 | CallTarget | func:r2021_2 |
|
||||
| ir.cpp:2021:7:2021:7 | ChiPartial | partial:m2021_13 |
|
||||
| ir.cpp:2021:7:2021:7 | ChiTotal | total:m2021_6 |
|
||||
| ir.cpp:2021:7:2021:7 | SideEffect | ~m2021_6 |
|
||||
| ir.cpp:2021:7:2021:7 | Unary | r2021_12 |
|
||||
| ir.cpp:2021:9:2021:9 | Address | &:r2021_3 |
|
||||
| ir.cpp:2021:9:2021:9 | Condition | r2021_4 |
|
||||
| ir.cpp:2021:9:2021:9 | Load | m2017_6 |
|
||||
| ir.cpp:2021:9:2021:38 | Address | &:r2021_8 |
|
||||
| ir.cpp:2021:9:2021:38 | Address | &:r2021_11 |
|
||||
| ir.cpp:2021:9:2021:38 | Address | &:r2021_21 |
|
||||
| ir.cpp:2021:9:2021:38 | Address | &:r2021_43 |
|
||||
| ir.cpp:2021:9:2021:38 | Arg(0) | 0:r2021_11 |
|
||||
| ir.cpp:2021:9:2021:38 | Load | m2021_7 |
|
||||
| ir.cpp:2021:9:2021:38 | Phi | from 11:m2021_22 |
|
||||
| ir.cpp:2021:9:2021:38 | Phi | from 11:~m2020_16 |
|
||||
| ir.cpp:2021:9:2021:38 | Phi | from 12:m2021_44 |
|
||||
| ir.cpp:2021:9:2021:38 | Phi | from 12:~m2021_37 |
|
||||
| ir.cpp:2021:9:2021:38 | SideEffect | ~m2021_14 |
|
||||
| ir.cpp:2021:9:2021:38 | Unary | r2021_9 |
|
||||
| ir.cpp:2021:9:2021:38 | Unary | r2021_10 |
|
||||
| ir.cpp:2021:13:2021:13 | StoreValue | r2021_20 |
|
||||
| ir.cpp:2021:17:2021:17 | Address | &:r2021_23 |
|
||||
| ir.cpp:2021:17:2021:17 | Address | &:r2021_23 |
|
||||
| ir.cpp:2021:17:2021:17 | Arg(this) | this:r2021_23 |
|
||||
| ir.cpp:2021:17:2021:17 | ChiPartial | partial:m2021_40 |
|
||||
| ir.cpp:2021:17:2021:17 | ChiTotal | total:m2017_10 |
|
||||
| ir.cpp:2021:17:2021:17 | SideEffect | m2017_10 |
|
||||
| ir.cpp:2021:19:2021:19 | CallTarget | func:r2021_24 |
|
||||
| ir.cpp:2021:19:2021:19 | ChiPartial | partial:m2021_36 |
|
||||
| ir.cpp:2021:19:2021:19 | ChiTotal | total:m2021_30 |
|
||||
| ir.cpp:2021:19:2021:19 | SideEffect | ~m2021_30 |
|
||||
| ir.cpp:2021:19:2021:19 | Unary | r2021_35 |
|
||||
| ir.cpp:2021:19:2021:39 | StoreValue | r2021_42 |
|
||||
| ir.cpp:2021:21:2021:38 | Address | &:r2021_25 |
|
||||
| ir.cpp:2021:21:2021:38 | Address | &:r2021_25 |
|
||||
| ir.cpp:2021:21:2021:38 | Address | &:r2021_34 |
|
||||
| ir.cpp:2021:21:2021:38 | Arg(0) | 0:r2021_34 |
|
||||
| ir.cpp:2021:21:2021:38 | Arg(this) | this:r2021_25 |
|
||||
| ir.cpp:2021:21:2021:38 | CallTarget | func:r2021_27 |
|
||||
| ir.cpp:2021:21:2021:38 | ChiPartial | partial:m2021_29 |
|
||||
| ir.cpp:2021:21:2021:38 | ChiPartial | partial:m2021_31 |
|
||||
| ir.cpp:2021:21:2021:38 | ChiTotal | total:m2020_16 |
|
||||
| ir.cpp:2021:21:2021:38 | ChiTotal | total:m2021_26 |
|
||||
| ir.cpp:2021:21:2021:38 | SideEffect | ~m2020_16 |
|
||||
| ir.cpp:2021:21:2021:38 | SideEffect | ~m2021_32 |
|
||||
| ir.cpp:2021:21:2021:38 | Unary | r2021_25 |
|
||||
| ir.cpp:2021:21:2021:38 | Unary | r2021_33 |
|
||||
| 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 |
|
||||
|
||||
@@ -10456,6 +10456,523 @@ ir.cpp:
|
||||
# 1990| v1990_5(void) = AliasedUse : ~m?
|
||||
# 1990| v1990_6(void) = ExitFunction :
|
||||
|
||||
# 1996| void TernaryTestInt(bool, int, int, int)
|
||||
# 1996| Block 0
|
||||
# 1996| v1996_1(void) = EnterFunction :
|
||||
# 1996| mu1996_2(unknown) = AliasedDefinition :
|
||||
# 1996| mu1996_3(unknown) = InitializeNonLocal :
|
||||
# 1996| r1996_4(glval<bool>) = VariableAddress[a] :
|
||||
# 1996| mu1996_5(bool) = InitializeParameter[a] : &:r1996_4
|
||||
# 1996| r1996_6(glval<int>) = VariableAddress[x] :
|
||||
# 1996| mu1996_7(int) = InitializeParameter[x] : &:r1996_6
|
||||
# 1996| r1996_8(glval<int>) = VariableAddress[y] :
|
||||
# 1996| mu1996_9(int) = InitializeParameter[y] : &:r1996_8
|
||||
# 1996| r1996_10(glval<int>) = VariableAddress[z] :
|
||||
# 1996| mu1996_11(int) = InitializeParameter[z] : &:r1996_10
|
||||
# 1997| r1997_1(glval<bool>) = VariableAddress[a] :
|
||||
# 1997| r1997_2(bool) = Load[a] : &:r1997_1, ~m?
|
||||
# 1997| v1997_3(void) = ConditionalBranch : r1997_2
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 1997| Block 1
|
||||
# 1997| r1997_4(glval<int>) = VariableAddress[#temp1997:9] :
|
||||
# 1997| r1997_5(int) = Load[#temp1997:9] : &:r1997_4, ~m?
|
||||
# 1997| r1997_6(glval<int>) = VariableAddress[z] :
|
||||
# 1997| mu1997_7(int) = Store[z] : &:r1997_6, r1997_5
|
||||
# 1998| r1998_1(glval<bool>) = VariableAddress[a] :
|
||||
# 1998| r1998_2(bool) = Load[a] : &:r1998_1, ~m?
|
||||
# 1998| v1998_3(void) = ConditionalBranch : r1998_2
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 1997| Block 2
|
||||
# 1997| r1997_8(glval<int>) = VariableAddress[x] :
|
||||
# 1997| r1997_9(int) = Load[x] : &:r1997_8, ~m?
|
||||
# 1997| r1997_10(glval<int>) = VariableAddress[#temp1997:9] :
|
||||
# 1997| mu1997_11(int) = Store[#temp1997:9] : &:r1997_10, r1997_9
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 1997| Block 3
|
||||
# 1997| r1997_12(glval<int>) = VariableAddress[y] :
|
||||
# 1997| r1997_13(int) = Load[y] : &:r1997_12, ~m?
|
||||
# 1997| r1997_14(glval<int>) = VariableAddress[#temp1997:9] :
|
||||
# 1997| mu1997_15(int) = Store[#temp1997:9] : &:r1997_14, r1997_13
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 1998| Block 4
|
||||
# 1998| r1998_4(glval<int>) = VariableAddress[#temp1998:9] :
|
||||
# 1998| r1998_5(int) = Load[#temp1998:9] : &:r1998_4, ~m?
|
||||
# 1998| r1998_6(glval<int>) = VariableAddress[z] :
|
||||
# 1998| mu1998_7(int) = Store[z] : &:r1998_6, r1998_5
|
||||
# 1999| r1999_1(glval<bool>) = VariableAddress[a] :
|
||||
# 1999| r1999_2(bool) = Load[a] : &:r1999_1, ~m?
|
||||
# 1999| v1999_3(void) = ConditionalBranch : r1999_2
|
||||
#-----| False -> Block 9
|
||||
#-----| True -> Block 8
|
||||
|
||||
# 1998| Block 5
|
||||
# 1998| r1998_8(glval<int>) = VariableAddress[x] :
|
||||
# 1998| r1998_9(int) = Load[x] : &:r1998_8, ~m?
|
||||
# 1998| r1998_10(glval<int>) = VariableAddress[#temp1998:9] :
|
||||
# 1998| mu1998_11(int) = Store[#temp1998:9] : &:r1998_10, r1998_9
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 1998| Block 6
|
||||
# 1998| r1998_12(int) = Constant[5] :
|
||||
# 1998| r1998_13(glval<int>) = VariableAddress[#temp1998:9] :
|
||||
# 1998| mu1998_14(int) = Store[#temp1998:9] : &:r1998_13, r1998_12
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 1999| Block 7
|
||||
# 1999| r1999_4(glval<int>) = VariableAddress[#temp1999:9] :
|
||||
# 1999| r1999_5(int) = Load[#temp1999:9] : &:r1999_4, ~m?
|
||||
# 1999| r1999_6(glval<int>) = VariableAddress[z] :
|
||||
# 1999| mu1999_7(int) = Store[z] : &:r1999_6, r1999_5
|
||||
# 2000| r2000_1(glval<bool>) = VariableAddress[a] :
|
||||
# 2000| r2000_2(bool) = Load[a] : &:r2000_1, ~m?
|
||||
# 2000| v2000_3(void) = ConditionalBranch : r2000_2
|
||||
#-----| False -> Block 12
|
||||
#-----| True -> Block 11
|
||||
|
||||
# 1999| Block 8
|
||||
# 1999| r1999_8(int) = Constant[3] :
|
||||
# 1999| r1999_9(glval<int>) = VariableAddress[#temp1999:9] :
|
||||
# 1999| mu1999_10(int) = Store[#temp1999:9] : &:r1999_9, r1999_8
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 1999| Block 9
|
||||
# 1999| r1999_11(int) = Constant[5] :
|
||||
# 1999| r1999_12(glval<int>) = VariableAddress[#temp1999:9] :
|
||||
# 1999| mu1999_13(int) = Store[#temp1999:9] : &:r1999_12, r1999_11
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2000| Block 10
|
||||
# 2000| r2000_4(glval<unknown>) = VariableAddress[#temp2000:5] :
|
||||
# 2000| r2000_5(glval<int>) = Load[#temp2000:5] : &:r2000_4, ~m?
|
||||
# 2001| v2001_1(void) = NoOp :
|
||||
# 1996| v1996_12(void) = ReturnVoid :
|
||||
# 1996| v1996_13(void) = AliasedUse : ~m?
|
||||
# 1996| v1996_14(void) = ExitFunction :
|
||||
|
||||
# 2000| Block 11
|
||||
# 2000| r2000_6(glval<int>) = VariableAddress[x] :
|
||||
# 2000| r2000_7(glval<unknown>) = VariableAddress[#temp2000:5] :
|
||||
# 2000| mu2000_8(glval<int>) = Store[#temp2000:5] : &:r2000_7, r2000_6
|
||||
#-----| Goto -> Block 10
|
||||
|
||||
# 2000| Block 12
|
||||
# 2000| r2000_9(int) = Constant[7] :
|
||||
# 2000| r2000_10(glval<int>) = VariableAddress[y] :
|
||||
# 2000| mu2000_11(int) = Store[y] : &:r2000_10, r2000_9
|
||||
# 2000| r2000_12(glval<int>) = CopyValue : r2000_10
|
||||
# 2000| r2000_13(glval<unknown>) = VariableAddress[#temp2000:5] :
|
||||
# 2000| mu2000_14(glval<int>) = Store[#temp2000:5] : &:r2000_13, r2000_12
|
||||
#-----| Goto -> Block 10
|
||||
|
||||
# 2006| void TernaryTestPodObj(bool, TernaryPodObj, TernaryPodObj, TernaryPodObj)
|
||||
# 2006| Block 0
|
||||
# 2006| v2006_1(void) = EnterFunction :
|
||||
# 2006| mu2006_2(unknown) = AliasedDefinition :
|
||||
# 2006| mu2006_3(unknown) = InitializeNonLocal :
|
||||
# 2006| r2006_4(glval<bool>) = VariableAddress[a] :
|
||||
# 2006| mu2006_5(bool) = InitializeParameter[a] : &:r2006_4
|
||||
# 2006| r2006_6(glval<TernaryPodObj>) = VariableAddress[x] :
|
||||
# 2006| mu2006_7(TernaryPodObj) = InitializeParameter[x] : &:r2006_6
|
||||
# 2006| r2006_8(glval<TernaryPodObj>) = VariableAddress[y] :
|
||||
# 2006| mu2006_9(TernaryPodObj) = InitializeParameter[y] : &:r2006_8
|
||||
# 2006| r2006_10(glval<TernaryPodObj>) = VariableAddress[z] :
|
||||
# 2006| mu2006_11(TernaryPodObj) = InitializeParameter[z] : &:r2006_10
|
||||
# 2007| r2007_1(glval<bool>) = VariableAddress[a] :
|
||||
# 2007| r2007_2(bool) = Load[a] : &:r2007_1, ~m?
|
||||
# 2007| v2007_3(void) = ConditionalBranch : r2007_2
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 2007| Block 1
|
||||
# 2007| r2007_4(glval<TernaryPodObj>) = VariableAddress[#temp2007:9] :
|
||||
# 2007| r2007_5(TernaryPodObj) = Load[#temp2007:9] : &:r2007_4, ~m?
|
||||
# 2007| r2007_6(glval<TernaryPodObj>) = VariableAddress[z] :
|
||||
# 2007| mu2007_7(TernaryPodObj) = Store[z] : &:r2007_6, r2007_5
|
||||
# 2008| r2008_1(glval<TernaryPodObj>) = VariableAddress[#temp2008:9] :
|
||||
# 2008| r2008_2(glval<bool>) = VariableAddress[a] :
|
||||
# 2008| r2008_3(bool) = Load[a] : &:r2008_2, ~m?
|
||||
# 2008| v2008_4(void) = ConditionalBranch : r2008_3
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 2007| Block 2
|
||||
# 2007| r2007_8(glval<TernaryPodObj>) = VariableAddress[x] :
|
||||
# 2007| r2007_9(TernaryPodObj) = Load[x] : &:r2007_8, ~m?
|
||||
# 2007| r2007_10(glval<TernaryPodObj>) = VariableAddress[#temp2007:9] :
|
||||
# 2007| mu2007_11(TernaryPodObj) = Store[#temp2007:9] : &:r2007_10, r2007_9
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 2007| Block 3
|
||||
# 2007| r2007_12(glval<TernaryPodObj>) = VariableAddress[y] :
|
||||
# 2007| r2007_13(TernaryPodObj) = Load[y] : &:r2007_12, ~m?
|
||||
# 2007| r2007_14(glval<TernaryPodObj>) = VariableAddress[#temp2007:9] :
|
||||
# 2007| mu2007_15(TernaryPodObj) = Store[#temp2007:9] : &:r2007_14, r2007_13
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 2008| Block 4
|
||||
# 2008| r2008_5(glval<TernaryPodObj>) = VariableAddress[#temp2008:9] :
|
||||
# 2008| r2008_6(TernaryPodObj) = Load[#temp2008:9] : &:r2008_5, ~m?
|
||||
# 2008| mu2008_7(TernaryPodObj) = Store[#temp2008:9] : &:r2008_1, r2008_6
|
||||
# 2008| r2008_8(TernaryPodObj) = Load[#temp2008:9] : &:r2008_1, ~m?
|
||||
# 2008| r2008_9(glval<TernaryPodObj>) = VariableAddress[z] :
|
||||
# 2008| mu2008_10(TernaryPodObj) = Store[z] : &:r2008_9, r2008_8
|
||||
# 2009| r2009_1(glval<TernaryPodObj>) = VariableAddress[#temp2009:9] :
|
||||
# 2009| r2009_2(glval<bool>) = VariableAddress[a] :
|
||||
# 2009| r2009_3(bool) = Load[a] : &:r2009_2, ~m?
|
||||
# 2009| v2009_4(void) = ConditionalBranch : r2009_3
|
||||
#-----| False -> Block 9
|
||||
#-----| True -> Block 8
|
||||
|
||||
# 2008| Block 5
|
||||
# 2008| r2008_11(glval<TernaryPodObj>) = VariableAddress[#temp2008:13] :
|
||||
# 2008| r2008_12(glval<TernaryPodObj>) = VariableAddress[x] :
|
||||
# 2008| r2008_13(TernaryPodObj) = Load[x] : &:r2008_12, ~m?
|
||||
# 2008| mu2008_14(TernaryPodObj) = Store[#temp2008:13] : &:r2008_11, r2008_13
|
||||
# 2008| r2008_15(TernaryPodObj) = Load[#temp2008:13] : &:r2008_11, ~m?
|
||||
# 2008| r2008_16(glval<TernaryPodObj>) = VariableAddress[#temp2008:9] :
|
||||
# 2008| mu2008_17(TernaryPodObj) = Store[#temp2008:9] : &:r2008_16, r2008_15
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 2008| Block 6
|
||||
# 2008| r2008_18(glval<TernaryPodObj>) = VariableAddress[#temp2008:17] :
|
||||
# 2008| r2008_19(TernaryPodObj) = Constant[0] :
|
||||
# 2008| mu2008_20(TernaryPodObj) = Store[#temp2008:17] : &:r2008_18, r2008_19
|
||||
# 2008| r2008_21(TernaryPodObj) = Load[#temp2008:17] : &:r2008_18, ~m?
|
||||
# 2008| r2008_22(glval<TernaryPodObj>) = VariableAddress[#temp2008:9] :
|
||||
# 2008| mu2008_23(TernaryPodObj) = Store[#temp2008:9] : &:r2008_22, r2008_21
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 2009| Block 7
|
||||
# 2009| r2009_5(glval<TernaryPodObj>) = VariableAddress[#temp2009:9] :
|
||||
# 2009| r2009_6(TernaryPodObj) = Load[#temp2009:9] : &:r2009_5, ~m?
|
||||
# 2009| mu2009_7(TernaryPodObj) = Store[#temp2009:9] : &:r2009_1, r2009_6
|
||||
# 2009| r2009_8(TernaryPodObj) = Load[#temp2009:9] : &:r2009_1, ~m?
|
||||
# 2009| r2009_9(glval<TernaryPodObj>) = VariableAddress[z] :
|
||||
# 2009| mu2009_10(TernaryPodObj) = Store[z] : &:r2009_9, r2009_8
|
||||
# 2010| r2010_1(glval<bool>) = VariableAddress[a] :
|
||||
# 2010| r2010_2(bool) = Load[a] : &:r2010_1, ~m?
|
||||
# 2010| v2010_3(void) = ConditionalBranch : r2010_2
|
||||
#-----| False -> Block 12
|
||||
#-----| True -> Block 11
|
||||
|
||||
# 2009| Block 8
|
||||
# 2009| r2009_11(glval<TernaryPodObj>) = VariableAddress[#temp2009:13] :
|
||||
# 2009| r2009_12(TernaryPodObj) = Constant[0] :
|
||||
# 2009| mu2009_13(TernaryPodObj) = Store[#temp2009:13] : &:r2009_11, r2009_12
|
||||
# 2009| r2009_14(TernaryPodObj) = Load[#temp2009:13] : &:r2009_11, ~m?
|
||||
# 2009| r2009_15(glval<TernaryPodObj>) = VariableAddress[#temp2009:9] :
|
||||
# 2009| mu2009_16(TernaryPodObj) = Store[#temp2009:9] : &:r2009_15, r2009_14
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2009| Block 9
|
||||
# 2009| r2009_17(glval<TernaryPodObj>) = VariableAddress[#temp2009:31] :
|
||||
# 2009| r2009_18(TernaryPodObj) = Constant[0] :
|
||||
# 2009| mu2009_19(TernaryPodObj) = Store[#temp2009:31] : &:r2009_17, r2009_18
|
||||
# 2009| r2009_20(TernaryPodObj) = Load[#temp2009:31] : &:r2009_17, ~m?
|
||||
# 2009| r2009_21(glval<TernaryPodObj>) = VariableAddress[#temp2009:9] :
|
||||
# 2009| mu2009_22(TernaryPodObj) = Store[#temp2009:9] : &:r2009_21, r2009_20
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2010| Block 10
|
||||
# 2010| r2010_4(glval<TernaryPodObj>) = VariableAddress[#temp2010:9] :
|
||||
# 2010| r2010_5(TernaryPodObj) = Load[#temp2010:9] : &:r2010_4, ~m?
|
||||
# 2010| r2010_6(glval<TernaryPodObj>) = VariableAddress[z] :
|
||||
# 2010| mu2010_7(TernaryPodObj) = Store[z] : &:r2010_6, r2010_5
|
||||
# 2011| v2011_1(void) = NoOp :
|
||||
# 2006| v2006_12(void) = ReturnVoid :
|
||||
# 2006| v2006_13(void) = AliasedUse : ~m?
|
||||
# 2006| v2006_14(void) = ExitFunction :
|
||||
|
||||
# 2010| Block 11
|
||||
# 2010| r2010_8(glval<TernaryPodObj>) = VariableAddress[x] :
|
||||
# 2010| r2010_9(TernaryPodObj) = Load[x] : &:r2010_8, ~m?
|
||||
# 2010| r2010_10(glval<TernaryPodObj>) = VariableAddress[#temp2010:9] :
|
||||
# 2010| mu2010_11(TernaryPodObj) = Store[#temp2010:9] : &:r2010_10, r2010_9
|
||||
#-----| Goto -> Block 10
|
||||
|
||||
# 2010| Block 12
|
||||
# 2010| r2010_12(glval<TernaryPodObj>) = VariableAddress[#temp2010:21] :
|
||||
# 2010| r2010_13(TernaryPodObj) = Constant[0] :
|
||||
# 2010| mu2010_14(TernaryPodObj) = Store[#temp2010:21] : &:r2010_12, r2010_13
|
||||
# 2010| r2010_15(TernaryPodObj) = Load[#temp2010:21] : &:r2010_12, ~m?
|
||||
# 2010| r2010_16(glval<TernaryPodObj>) = VariableAddress[y] :
|
||||
# 2010| mu2010_17(TernaryPodObj) = Store[y] : &:r2010_16, r2010_15
|
||||
# 2010| r2010_18(TernaryPodObj) = CopyValue : r2010_15
|
||||
# 2010| r2010_19(glval<TernaryPodObj>) = VariableAddress[#temp2010:9] :
|
||||
# 2010| mu2010_20(TernaryPodObj) = Store[#temp2010:9] : &:r2010_19, r2010_18
|
||||
#-----| Goto -> Block 10
|
||||
|
||||
# 2013| TernaryNonPodObj& TernaryNonPodObj::operator=(TernaryNonPodObj const&)
|
||||
# 2013| Block 0
|
||||
# 2013| v2013_1(void) = EnterFunction :
|
||||
# 2013| mu2013_2(unknown) = AliasedDefinition :
|
||||
# 2013| mu2013_3(unknown) = InitializeNonLocal :
|
||||
# 2013| r2013_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 2013| mu2013_5(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2013_4
|
||||
# 2013| r2013_6(glval<TernaryNonPodObj>) = Load[#this] : &:r2013_4, ~m?
|
||||
# 2013| mu2013_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_6
|
||||
#-----| r0_1(glval<TernaryNonPodObj &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
#-----| mu0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
|
||||
#-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
|
||||
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
|
||||
#-----| r0_5(glval<TernaryNonPodObj &>) = VariableAddress[#return] :
|
||||
#-----| r0_6(glval<unknown>) = VariableAddress[#this] :
|
||||
#-----| r0_7(TernaryNonPodObj *) = Load[#this] : &:r0_6, ~m?
|
||||
#-----| r0_8(glval<TernaryNonPodObj>) = CopyValue : r0_7
|
||||
#-----| r0_9(TernaryNonPodObj &) = CopyValue : r0_8
|
||||
#-----| mu0_10(TernaryNonPodObj &) = Store[#return] : &:r0_5, r0_9
|
||||
# 2013| v2013_8(void) = ReturnIndirection[#this] : &:r2013_6, ~m?
|
||||
#-----| v0_11(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m?
|
||||
# 2013| r2013_9(glval<TernaryNonPodObj &>) = VariableAddress[#return] :
|
||||
# 2013| v2013_10(void) = ReturnValue : &:r2013_9, ~m?
|
||||
# 2013| v2013_11(void) = AliasedUse : ~m?
|
||||
# 2013| v2013_12(void) = ExitFunction :
|
||||
|
||||
# 2013| void TernaryNonPodObj::TernaryNonPodObj()
|
||||
# 2013| Block 0
|
||||
# 2013| v2013_1(void) = EnterFunction :
|
||||
# 2013| mu2013_2(unknown) = AliasedDefinition :
|
||||
# 2013| mu2013_3(unknown) = InitializeNonLocal :
|
||||
# 2013| r2013_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 2013| mu2013_5(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2013_4
|
||||
# 2013| r2013_6(glval<TernaryNonPodObj>) = Load[#this] : &:r2013_4, ~m?
|
||||
# 2013| mu2013_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_6
|
||||
# 2013| v2013_8(void) = NoOp :
|
||||
# 2013| v2013_9(void) = ReturnIndirection[#this] : &:r2013_6, ~m?
|
||||
# 2013| v2013_10(void) = ReturnVoid :
|
||||
# 2013| v2013_11(void) = AliasedUse : ~m?
|
||||
# 2013| v2013_12(void) = ExitFunction :
|
||||
|
||||
# 2013| void TernaryNonPodObj::TernaryNonPodObj(TernaryNonPodObj const&)
|
||||
# 2013| Block 0
|
||||
# 2013| v2013_1(void) = EnterFunction :
|
||||
# 2013| mu2013_2(unknown) = AliasedDefinition :
|
||||
# 2013| mu2013_3(unknown) = InitializeNonLocal :
|
||||
# 2013| r2013_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 2013| mu2013_5(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2013_4
|
||||
# 2013| r2013_6(glval<TernaryNonPodObj>) = Load[#this] : &:r2013_4, ~m?
|
||||
# 2013| mu2013_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2013_6
|
||||
#-----| r0_1(glval<TernaryNonPodObj &>) = VariableAddress[(unnamed parameter 0)] :
|
||||
#-----| mu0_2(TernaryNonPodObj &) = InitializeParameter[(unnamed parameter 0)] : &:r0_1
|
||||
#-----| r0_3(TernaryNonPodObj &) = Load[(unnamed parameter 0)] : &:r0_1, ~m?
|
||||
#-----| mu0_4(unknown) = InitializeIndirection[(unnamed parameter 0)] : &:r0_3
|
||||
# 2013| v2013_8(void) = NoOp :
|
||||
# 2013| v2013_9(void) = ReturnIndirection[#this] : &:r2013_6, ~m?
|
||||
#-----| v0_5(void) = ReturnIndirection[(unnamed parameter 0)] : &:r0_3, ~m?
|
||||
# 2013| v2013_10(void) = ReturnVoid :
|
||||
# 2013| v2013_11(void) = AliasedUse : ~m?
|
||||
# 2013| v2013_12(void) = ExitFunction :
|
||||
|
||||
# 2014| void TernaryNonPodObj::~TernaryNonPodObj()
|
||||
# 2014| Block 0
|
||||
# 2014| v2014_1(void) = EnterFunction :
|
||||
# 2014| mu2014_2(unknown) = AliasedDefinition :
|
||||
# 2014| mu2014_3(unknown) = InitializeNonLocal :
|
||||
# 2014| r2014_4(glval<unknown>) = VariableAddress[#this] :
|
||||
# 2014| mu2014_5(glval<TernaryNonPodObj>) = InitializeParameter[#this] : &:r2014_4
|
||||
# 2014| r2014_6(glval<TernaryNonPodObj>) = Load[#this] : &:r2014_4, ~m?
|
||||
# 2014| mu2014_7(TernaryNonPodObj) = InitializeIndirection[#this] : &:r2014_6
|
||||
# 2014| v2014_8(void) = NoOp :
|
||||
# 2014| v2014_9(void) = ReturnIndirection[#this] : &:r2014_6, ~m?
|
||||
# 2014| v2014_10(void) = ReturnVoid :
|
||||
# 2014| v2014_11(void) = AliasedUse : ~m?
|
||||
# 2014| v2014_12(void) = ExitFunction :
|
||||
|
||||
# 2017| void TernaryTestNonPodObj(bool, TernaryNonPodObj, TernaryNonPodObj, TernaryNonPodObj)
|
||||
# 2017| Block 0
|
||||
# 2017| v2017_1(void) = EnterFunction :
|
||||
# 2017| mu2017_2(unknown) = AliasedDefinition :
|
||||
# 2017| mu2017_3(unknown) = InitializeNonLocal :
|
||||
# 2017| r2017_4(glval<bool>) = VariableAddress[a] :
|
||||
# 2017| mu2017_5(bool) = InitializeParameter[a] : &:r2017_4
|
||||
# 2017| r2017_6(glval<TernaryNonPodObj>) = VariableAddress[x] :
|
||||
# 2017| mu2017_7(TernaryNonPodObj) = InitializeParameter[x] : &:r2017_6
|
||||
# 2017| r2017_8(glval<TernaryNonPodObj>) = VariableAddress[y] :
|
||||
# 2017| mu2017_9(TernaryNonPodObj) = InitializeParameter[y] : &:r2017_8
|
||||
# 2017| r2017_10(glval<TernaryNonPodObj>) = VariableAddress[z] :
|
||||
# 2017| mu2017_11(TernaryNonPodObj) = InitializeParameter[z] : &:r2017_10
|
||||
# 2018| r2018_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
|
||||
# 2018| r2018_2(glval<unknown>) = FunctionAddress[operator=] :
|
||||
# 2018| r2018_3(glval<bool>) = VariableAddress[a] :
|
||||
# 2018| r2018_4(bool) = Load[a] : &:r2018_3, ~m?
|
||||
# 2018| v2018_5(void) = ConditionalBranch : r2018_4
|
||||
#-----| False -> Block 3
|
||||
#-----| True -> Block 2
|
||||
|
||||
# 2018| Block 1
|
||||
# 2018| r2018_6(glval<unknown>) = VariableAddress[#temp2018:9] :
|
||||
# 2018| r2018_7(glval<TernaryNonPodObj>) = Load[#temp2018:9] : &:r2018_6, ~m?
|
||||
# 2018| r2018_8(glval<TernaryNonPodObj>) = Convert : r2018_7
|
||||
# 2018| r2018_9(TernaryNonPodObj &) = CopyValue : r2018_8
|
||||
# 2018| r2018_10(TernaryNonPodObj &) = Call[operator=] : func:r2018_2, this:r2018_1, 0:r2018_9
|
||||
# 2018| mu2018_11(unknown) = ^CallSideEffect : ~m?
|
||||
# 2018| v2018_12(void) = ^IndirectReadSideEffect[-1] : &:r2018_1, ~m?
|
||||
# 2018| v2018_13(void) = ^BufferReadSideEffect[0] : &:r2018_9, ~m?
|
||||
# 2018| mu2018_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2018_1
|
||||
# 2018| r2018_15(glval<TernaryNonPodObj>) = CopyValue : r2018_10
|
||||
# 2019| r2019_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
|
||||
# 2019| r2019_2(glval<unknown>) = FunctionAddress[operator=] :
|
||||
# 2019| r2019_3(glval<TernaryNonPodObj>) = VariableAddress[#temp2019:9] :
|
||||
# 2019| r2019_4(glval<bool>) = VariableAddress[a] :
|
||||
# 2019| r2019_5(bool) = Load[a] : &:r2019_4, ~m?
|
||||
# 2019| v2019_6(void) = ConditionalBranch : r2019_5
|
||||
#-----| False -> Block 6
|
||||
#-----| True -> Block 5
|
||||
|
||||
# 2018| Block 2
|
||||
# 2018| r2018_16(glval<TernaryNonPodObj>) = VariableAddress[x] :
|
||||
# 2018| r2018_17(glval<unknown>) = VariableAddress[#temp2018:9] :
|
||||
# 2018| mu2018_18(glval<TernaryNonPodObj>) = Store[#temp2018:9] : &:r2018_17, r2018_16
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 2018| Block 3
|
||||
# 2018| r2018_19(glval<TernaryNonPodObj>) = VariableAddress[y] :
|
||||
# 2018| r2018_20(glval<unknown>) = VariableAddress[#temp2018:9] :
|
||||
# 2018| mu2018_21(glval<TernaryNonPodObj>) = Store[#temp2018:9] : &:r2018_20, r2018_19
|
||||
#-----| Goto -> Block 1
|
||||
|
||||
# 2019| Block 4
|
||||
# 2019| r2019_7(glval<TernaryNonPodObj>) = VariableAddress[#temp2019:9] :
|
||||
# 2019| r2019_8(TernaryNonPodObj) = Load[#temp2019:9] : &:r2019_7, ~m?
|
||||
# 2019| mu2019_9(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_3, r2019_8
|
||||
# 2019| r2019_10(glval<TernaryNonPodObj>) = Convert : r2019_3
|
||||
# 2019| r2019_11(TernaryNonPodObj &) = CopyValue : r2019_10
|
||||
# 2019| r2019_12(TernaryNonPodObj &) = Call[operator=] : func:r2019_2, this:r2019_1, 0:r2019_11
|
||||
# 2019| mu2019_13(unknown) = ^CallSideEffect : ~m?
|
||||
# 2019| v2019_14(void) = ^IndirectReadSideEffect[-1] : &:r2019_1, ~m?
|
||||
# 2019| v2019_15(void) = ^BufferReadSideEffect[0] : &:r2019_11, ~m?
|
||||
# 2019| mu2019_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_1
|
||||
# 2019| r2019_17(glval<TernaryNonPodObj>) = CopyValue : r2019_12
|
||||
# 2020| r2020_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
|
||||
# 2020| r2020_2(glval<unknown>) = FunctionAddress[operator=] :
|
||||
# 2020| r2020_3(glval<TernaryNonPodObj>) = VariableAddress[#temp2020:9] :
|
||||
# 2020| r2020_4(glval<bool>) = VariableAddress[a] :
|
||||
# 2020| r2020_5(bool) = Load[a] : &:r2020_4, ~m?
|
||||
# 2020| v2020_6(void) = ConditionalBranch : r2020_5
|
||||
#-----| False -> Block 9
|
||||
#-----| True -> Block 8
|
||||
|
||||
# 2019| Block 5
|
||||
# 2019| r2019_18(glval<TernaryNonPodObj>) = VariableAddress[#temp2019:13] :
|
||||
# 2019| mu2019_19(TernaryNonPodObj) = Uninitialized[#temp2019:13] : &:r2019_18
|
||||
# 2019| r2019_20(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
|
||||
# 2019| r2019_21(glval<TernaryNonPodObj>) = VariableAddress[x] :
|
||||
# 2019| r2019_22(glval<TernaryNonPodObj>) = Convert : r2019_21
|
||||
# 2019| r2019_23(TernaryNonPodObj &) = CopyValue : r2019_22
|
||||
# 2019| v2019_24(void) = Call[TernaryNonPodObj] : func:r2019_20, this:r2019_18, 0:r2019_23
|
||||
# 2019| mu2019_25(unknown) = ^CallSideEffect : ~m?
|
||||
# 2019| v2019_26(void) = ^BufferReadSideEffect[0] : &:r2019_23, ~m?
|
||||
# 2019| mu2019_27(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_18
|
||||
# 2019| r2019_28(TernaryNonPodObj) = Load[#temp2019:13] : &:r2019_18, ~m?
|
||||
# 2019| r2019_29(glval<TernaryNonPodObj>) = VariableAddress[#temp2019:9] :
|
||||
# 2019| mu2019_30(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_29, r2019_28
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 2019| Block 6
|
||||
# 2019| r2019_31(glval<TernaryNonPodObj>) = VariableAddress[#temp2019:17] :
|
||||
# 2019| mu2019_32(TernaryNonPodObj) = Uninitialized[#temp2019:17] : &:r2019_31
|
||||
# 2019| r2019_33(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
|
||||
# 2019| v2019_34(void) = Call[TernaryNonPodObj] : func:r2019_33, this:r2019_31
|
||||
# 2019| mu2019_35(unknown) = ^CallSideEffect : ~m?
|
||||
# 2019| mu2019_36(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2019_31
|
||||
# 2019| r2019_37(TernaryNonPodObj) = Load[#temp2019:17] : &:r2019_31, ~m?
|
||||
# 2019| r2019_38(glval<TernaryNonPodObj>) = VariableAddress[#temp2019:9] :
|
||||
# 2019| mu2019_39(TernaryNonPodObj) = Store[#temp2019:9] : &:r2019_38, r2019_37
|
||||
#-----| Goto -> Block 4
|
||||
|
||||
# 2020| Block 7
|
||||
# 2020| r2020_7(glval<TernaryNonPodObj>) = VariableAddress[#temp2020:9] :
|
||||
# 2020| r2020_8(TernaryNonPodObj) = Load[#temp2020:9] : &:r2020_7, ~m?
|
||||
# 2020| mu2020_9(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_3, r2020_8
|
||||
# 2020| r2020_10(glval<TernaryNonPodObj>) = Convert : r2020_3
|
||||
# 2020| r2020_11(TernaryNonPodObj &) = CopyValue : r2020_10
|
||||
# 2020| r2020_12(TernaryNonPodObj &) = Call[operator=] : func:r2020_2, this:r2020_1, 0:r2020_11
|
||||
# 2020| mu2020_13(unknown) = ^CallSideEffect : ~m?
|
||||
# 2020| v2020_14(void) = ^IndirectReadSideEffect[-1] : &:r2020_1, ~m?
|
||||
# 2020| v2020_15(void) = ^BufferReadSideEffect[0] : &:r2020_11, ~m?
|
||||
# 2020| mu2020_16(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_1
|
||||
# 2020| r2020_17(glval<TernaryNonPodObj>) = CopyValue : r2020_12
|
||||
# 2021| r2021_1(glval<TernaryNonPodObj>) = VariableAddress[z] :
|
||||
# 2021| r2021_2(glval<unknown>) = FunctionAddress[operator=] :
|
||||
# 2021| r2021_3(glval<bool>) = VariableAddress[a] :
|
||||
# 2021| r2021_4(bool) = Load[a] : &:r2021_3, ~m?
|
||||
# 2021| v2021_5(void) = ConditionalBranch : r2021_4
|
||||
#-----| False -> Block 12
|
||||
#-----| True -> Block 11
|
||||
|
||||
# 2020| Block 8
|
||||
# 2020| r2020_18(glval<TernaryNonPodObj>) = VariableAddress[#temp2020:13] :
|
||||
# 2020| mu2020_19(TernaryNonPodObj) = Uninitialized[#temp2020:13] : &:r2020_18
|
||||
# 2020| r2020_20(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
|
||||
# 2020| v2020_21(void) = Call[TernaryNonPodObj] : func:r2020_20, this:r2020_18
|
||||
# 2020| mu2020_22(unknown) = ^CallSideEffect : ~m?
|
||||
# 2020| mu2020_23(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_18
|
||||
# 2020| r2020_24(TernaryNonPodObj) = Load[#temp2020:13] : &:r2020_18, ~m?
|
||||
# 2020| r2020_25(glval<TernaryNonPodObj>) = VariableAddress[#temp2020:9] :
|
||||
# 2020| mu2020_26(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_25, r2020_24
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2020| Block 9
|
||||
# 2020| r2020_27(glval<TernaryNonPodObj>) = VariableAddress[#temp2020:34] :
|
||||
# 2020| mu2020_28(TernaryNonPodObj) = Uninitialized[#temp2020:34] : &:r2020_27
|
||||
# 2020| r2020_29(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
|
||||
# 2020| v2020_30(void) = Call[TernaryNonPodObj] : func:r2020_29, this:r2020_27
|
||||
# 2020| mu2020_31(unknown) = ^CallSideEffect : ~m?
|
||||
# 2020| mu2020_32(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2020_27
|
||||
# 2020| r2020_33(TernaryNonPodObj) = Load[#temp2020:34] : &:r2020_27, ~m?
|
||||
# 2020| r2020_34(glval<TernaryNonPodObj>) = VariableAddress[#temp2020:9] :
|
||||
# 2020| mu2020_35(TernaryNonPodObj) = Store[#temp2020:9] : &:r2020_34, r2020_33
|
||||
#-----| Goto -> Block 7
|
||||
|
||||
# 2021| Block 10
|
||||
# 2021| r2021_6(glval<unknown>) = VariableAddress[#temp2021:9] :
|
||||
# 2021| r2021_7(glval<TernaryNonPodObj>) = Load[#temp2021:9] : &:r2021_6, ~m?
|
||||
# 2021| r2021_8(glval<TernaryNonPodObj>) = Convert : r2021_7
|
||||
# 2021| r2021_9(TernaryNonPodObj &) = CopyValue : r2021_8
|
||||
# 2021| r2021_10(TernaryNonPodObj &) = Call[operator=] : func:r2021_2, this:r2021_1, 0:r2021_9
|
||||
# 2021| mu2021_11(unknown) = ^CallSideEffect : ~m?
|
||||
# 2021| v2021_12(void) = ^IndirectReadSideEffect[-1] : &:r2021_1, ~m?
|
||||
# 2021| v2021_13(void) = ^BufferReadSideEffect[0] : &:r2021_9, ~m?
|
||||
# 2021| mu2021_14(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_1
|
||||
# 2021| r2021_15(glval<TernaryNonPodObj>) = CopyValue : r2021_10
|
||||
# 2022| v2022_1(void) = NoOp :
|
||||
# 2017| v2017_12(void) = ReturnVoid :
|
||||
# 2017| v2017_13(void) = AliasedUse : ~m?
|
||||
# 2017| v2017_14(void) = ExitFunction :
|
||||
|
||||
# 2021| Block 11
|
||||
# 2021| r2021_16(glval<TernaryNonPodObj>) = VariableAddress[x] :
|
||||
# 2021| r2021_17(glval<unknown>) = VariableAddress[#temp2021:9] :
|
||||
# 2021| mu2021_18(glval<TernaryNonPodObj>) = Store[#temp2021:9] : &:r2021_17, r2021_16
|
||||
#-----| Goto -> Block 10
|
||||
|
||||
# 2021| Block 12
|
||||
# 2021| r2021_19(glval<TernaryNonPodObj>) = VariableAddress[y] :
|
||||
# 2021| r2021_20(glval<unknown>) = FunctionAddress[operator=] :
|
||||
# 2021| r2021_21(glval<TernaryNonPodObj>) = VariableAddress[#temp2021:21] :
|
||||
# 2021| mu2021_22(TernaryNonPodObj) = Uninitialized[#temp2021:21] : &:r2021_21
|
||||
# 2021| r2021_23(glval<unknown>) = FunctionAddress[TernaryNonPodObj] :
|
||||
# 2021| v2021_24(void) = Call[TernaryNonPodObj] : func:r2021_23, this:r2021_21
|
||||
# 2021| mu2021_25(unknown) = ^CallSideEffect : ~m?
|
||||
# 2021| mu2021_26(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_21
|
||||
# 2021| r2021_27(glval<TernaryNonPodObj>) = Convert : r2021_21
|
||||
# 2021| r2021_28(TernaryNonPodObj &) = CopyValue : r2021_27
|
||||
# 2021| r2021_29(TernaryNonPodObj &) = Call[operator=] : func:r2021_20, this:r2021_19, 0:r2021_28
|
||||
# 2021| mu2021_30(unknown) = ^CallSideEffect : ~m?
|
||||
# 2021| v2021_31(void) = ^IndirectReadSideEffect[-1] : &:r2021_19, ~m?
|
||||
# 2021| v2021_32(void) = ^BufferReadSideEffect[0] : &:r2021_28, ~m?
|
||||
# 2021| mu2021_33(TernaryNonPodObj) = ^IndirectMayWriteSideEffect[-1] : &:r2021_19
|
||||
# 2021| r2021_34(glval<TernaryNonPodObj>) = CopyValue : r2021_29
|
||||
# 2021| r2021_35(glval<unknown>) = VariableAddress[#temp2021:9] :
|
||||
# 2021| mu2021_36(glval<TernaryNonPodObj>) = Store[#temp2021:9] : &:r2021_35, r2021_34
|
||||
#-----| Goto -> Block 10
|
||||
|
||||
perf-regression.cpp:
|
||||
# 6| void Big::Big()
|
||||
# 6| Block 0
|
||||
|
||||
Reference in New Issue
Block a user