@@ -14731,6 +14731,163 @@ ir.cpp:
1473114731# 1970| Type = [IntType] int
1473214732# 1970| ValueCategory = prvalue(load)
1473314733# 1971| getStmt(2): [ReturnStmt] return ...
14734+ # 1973| [CopyAssignmentOperator] ValCat& ValCat::operator=(ValCat const&)
14735+ # 1973| <params>:
14736+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14737+ #-----| Type = [LValueReferenceType] const ValCat &
14738+ # 1973| [MoveAssignmentOperator] ValCat& ValCat::operator=(ValCat&&)
14739+ # 1973| <params>:
14740+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14741+ #-----| Type = [RValueReferenceType] ValCat &&
14742+ # 1974| [MemberFunction] ValCat& ValCat::lvalue()
14743+ # 1974| <params>:
14744+ # 1975| [MemberFunction] ValCat&& ValCat::xvalue()
14745+ # 1975| <params>:
14746+ # 1976| [MemberFunction] ValCat ValCat::prvalue()
14747+ # 1976| <params>:
14748+ # 1979| [TopLevelFunction] void value_category_test()
14749+ # 1979| <params>:
14750+ # 1979| getEntryPoint(): [BlockStmt] { ... }
14751+ # 1980| getStmt(0): [DeclStmt] declaration
14752+ # 1980| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c
14753+ # 1980| Type = [Struct] ValCat
14754+ # 1982| getStmt(1): [ExprStmt] ExprStmt
14755+ # 1982| getExpr(): [AssignExpr] ... = ...
14756+ # 1982| Type = [Struct] ValCat
14757+ # 1982| ValueCategory = lvalue
14758+ # 1982| getLValue(): [FunctionCall] call to lvalue
14759+ # 1982| Type = [LValueReferenceType] ValCat &
14760+ # 1982| ValueCategory = prvalue
14761+ # 1982| getQualifier(): [VariableAccess] c
14762+ # 1982| Type = [Struct] ValCat
14763+ # 1982| ValueCategory = lvalue
14764+ # 1982| getRValue(): [ClassAggregateLiteral] {...}
14765+ # 1982| Type = [Struct] ValCat
14766+ # 1982| ValueCategory = prvalue
14767+ # 1982| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
14768+ # 1982| Type = [Struct] ValCat
14769+ # 1982| ValueCategory = lvalue
14770+ #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14771+ #-----| Type = [Struct] ValCat
14772+ #-----| ValueCategory = prvalue(load)
14773+ # 1983| getStmt(2): [ExprStmt] ExprStmt
14774+ # 1983| getExpr(): [AssignExpr] ... = ...
14775+ # 1983| Type = [Struct] ValCat
14776+ # 1983| ValueCategory = lvalue
14777+ # 1983| getLValue(): [FunctionCall] call to xvalue
14778+ # 1983| Type = [RValueReferenceType] ValCat &&
14779+ # 1983| ValueCategory = prvalue
14780+ # 1983| getQualifier(): [VariableAccess] c
14781+ # 1983| Type = [Struct] ValCat
14782+ # 1983| ValueCategory = lvalue
14783+ # 1983| getRValue(): [ClassAggregateLiteral] {...}
14784+ # 1983| Type = [Struct] ValCat
14785+ # 1983| ValueCategory = prvalue
14786+ # 1983| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
14787+ # 1983| Type = [Struct] ValCat
14788+ # 1983| ValueCategory = lvalue
14789+ #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14790+ #-----| Type = [Struct] ValCat
14791+ #-----| ValueCategory = prvalue(load)
14792+ # 1984| getStmt(3): [ExprStmt] ExprStmt
14793+ # 1984| getExpr(): [AssignExpr] ... = ...
14794+ # 1984| Type = [Struct] ValCat
14795+ # 1984| ValueCategory = lvalue
14796+ # 1984| getLValue(): [FunctionCall] call to prvalue
14797+ # 1984| Type = [Struct] ValCat
14798+ # 1984| ValueCategory = prvalue
14799+ # 1984| getQualifier(): [VariableAccess] c
14800+ # 1984| Type = [Struct] ValCat
14801+ # 1984| ValueCategory = lvalue
14802+ # 1984| getRValue(): [ClassAggregateLiteral] {...}
14803+ # 1984| Type = [Struct] ValCat
14804+ # 1984| ValueCategory = prvalue
14805+ # 1984| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14806+ # 1984| Type = [Struct] ValCat
14807+ # 1984| ValueCategory = lvalue
14808+ #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14809+ #-----| Type = [Struct] ValCat
14810+ #-----| ValueCategory = prvalue(load)
14811+ # 1985| getStmt(4): [ExprStmt] ExprStmt
14812+ # 1985| getExpr(): [AssignExpr] ... = ...
14813+ # 1985| Type = [Struct] ValCat
14814+ # 1985| ValueCategory = lvalue
14815+ # 1985| getLValue(): [FunctionCall] call to lvalue
14816+ # 1985| Type = [LValueReferenceType] ValCat &
14817+ # 1985| ValueCategory = prvalue
14818+ # 1985| getRValue(): [ClassAggregateLiteral] {...}
14819+ # 1985| Type = [Struct] ValCat
14820+ # 1985| ValueCategory = prvalue
14821+ # 1985| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
14822+ # 1985| Type = [Struct] ValCat
14823+ # 1985| ValueCategory = lvalue
14824+ #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14825+ #-----| Type = [Struct] ValCat
14826+ #-----| ValueCategory = prvalue(load)
14827+ # 1986| getStmt(5): [ExprStmt] ExprStmt
14828+ # 1986| getExpr(): [AssignExpr] ... = ...
14829+ # 1986| Type = [Struct] ValCat
14830+ # 1986| ValueCategory = lvalue
14831+ # 1986| getLValue(): [FunctionCall] call to xvalue
14832+ # 1986| Type = [RValueReferenceType] ValCat &&
14833+ # 1986| ValueCategory = prvalue
14834+ # 1986| getRValue(): [ClassAggregateLiteral] {...}
14835+ # 1986| Type = [Struct] ValCat
14836+ # 1986| ValueCategory = prvalue
14837+ # 1986| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
14838+ # 1986| Type = [Struct] ValCat
14839+ # 1986| ValueCategory = lvalue
14840+ #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14841+ #-----| Type = [Struct] ValCat
14842+ #-----| ValueCategory = prvalue(load)
14843+ # 1987| getStmt(6): [ExprStmt] ExprStmt
14844+ # 1987| getExpr(): [AssignExpr] ... = ...
14845+ # 1987| Type = [Struct] ValCat
14846+ # 1987| ValueCategory = lvalue
14847+ # 1987| getLValue(): [FunctionCall] call to prvalue
14848+ # 1987| Type = [Struct] ValCat
14849+ # 1987| ValueCategory = prvalue
14850+ # 1987| getRValue(): [ClassAggregateLiteral] {...}
14851+ # 1987| Type = [Struct] ValCat
14852+ # 1987| ValueCategory = prvalue
14853+ # 1987| getLValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14854+ # 1987| Type = [Struct] ValCat
14855+ # 1987| ValueCategory = lvalue
14856+ #-----| getRValue().getFullyConverted(): [TemporaryObjectExpr] temporary object
14857+ #-----| Type = [Struct] ValCat
14858+ #-----| ValueCategory = prvalue(load)
14859+ # 1988| getStmt(7): [ReturnStmt] return ...
14860+ # 1990| [TopLevelFunction] void SetStaticFuncPtr()
14861+ # 1990| <params>:
14862+ # 1990| getEntryPoint(): [BlockStmt] { ... }
14863+ # 1991| getStmt(0): [DeclStmt] declaration
14864+ # 1991| getDeclarationEntry(0): [VariableDeclarationEntry] definition of c
14865+ # 1991| Type = [Class] C
14866+ # 1991| getVariable().getInitializer(): [Initializer] initializer for c
14867+ # 1991| getExpr(): [ConstructorCall] call to C
14868+ # 1991| Type = [VoidType] void
14869+ # 1991| ValueCategory = prvalue
14870+ # 1992| getStmt(1): [DeclStmt] declaration
14871+ # 1992| getDeclarationEntry(0): [VariableDeclarationEntry] definition of pfn
14872+ # 1992| Type = [FunctionPointerType] ..(*)(..)
14873+ # 1992| getVariable().getInitializer(): [Initializer] initializer for pfn
14874+ # 1992| getExpr(): [FunctionAccess] StaticMemberFunction
14875+ # 1992| Type = [FunctionPointerType] ..(*)(..)
14876+ # 1992| ValueCategory = prvalue(load)
14877+ # 1993| getStmt(2): [ExprStmt] ExprStmt
14878+ # 1993| getExpr(): [AssignExpr] ... = ...
14879+ # 1993| Type = [FunctionPointerType] ..(*)(..)
14880+ # 1993| ValueCategory = lvalue
14881+ # 1993| getLValue(): [VariableAccess] pfn
14882+ # 1993| Type = [FunctionPointerType] ..(*)(..)
14883+ # 1993| ValueCategory = lvalue
14884+ # 1993| getRValue(): [FunctionAccess] StaticMemberFunction
14885+ # 1993| Type = [FunctionPointerType] ..(*)(..)
14886+ # 1993| ValueCategory = prvalue
14887+ # 1993| getQualifier(): [VariableAccess] c
14888+ # 1993| Type = [Class] C
14889+ # 1993| ValueCategory = lvalue
14890+ # 1994| getStmt(3): [ReturnStmt] return ...
1473414891perf-regression.cpp:
1473514892# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
1473614893# 4| <params>:
0 commit comments