@@ -14161,6 +14161,221 @@ ir.cpp:
1416114161# 1851| Type = [PointerType] const char *
1416214162# 1851| ValueCategory = prvalue
1416314163# 1852| getStmt(2): [ReturnStmt] return ...
14164+ # 1855| [CopyAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S const&)
14165+ # 1855| <params>:
14166+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14167+ #-----| Type = [LValueReferenceType] const S &
14168+ # 1855| [MoveAssignmentOperator] missing_declaration_entries::S& missing_declaration_entries::S::operator=(missing_declaration_entries::S&&)
14169+ # 1855| <params>:
14170+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14171+ #-----| Type = [RValueReferenceType] S &&
14172+ # 1859| [CopyAssignmentOperator] missing_declaration_entries::Bar1<int>& missing_declaration_entries::Bar1<int>::operator=(missing_declaration_entries::Bar1<int> const&)
14173+ # 1859| <params>:
14174+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14175+ #-----| Type = [LValueReferenceType] const Bar1<int> &
14176+ # 1859| [MoveAssignmentOperator] missing_declaration_entries::Bar1<int>& missing_declaration_entries::Bar1<int>::operator=(missing_declaration_entries::Bar1<int>&&)
14177+ # 1859| <params>:
14178+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14179+ #-----| Type = [RValueReferenceType] Bar1<int> &&
14180+ # 1862| [MemberFunction] void* missing_declaration_entries::Bar1<T>::missing_type_decl_entry(missing_declaration_entries::Bar1<T>::pointer)
14181+ # 1862| <params>:
14182+ # 1862| getParameter(0): [Parameter] p
14183+ # 1862| Type = [CTypedefType,NestedTypedefType] pointer
14184+ # 1862| getEntryPoint(): [BlockStmt] { ... }
14185+ # 1863| getStmt(0): [DeclStmt] declaration
14186+ # 1863| getDeclarationEntry(0): [TypeDeclarationEntry] declaration of _Res
14187+ # 1863| Type = [CTypedefType,LocalTypedefType] _Res
14188+ # 1864| getStmt(1): [ReturnStmt] return ...
14189+ # 1864| getExpr(): [VariableAccess] p
14190+ # 1864| Type = [CTypedefType,NestedTypedefType] pointer
14191+ # 1864| ValueCategory = prvalue(load)
14192+ # 1864| getExpr().getFullyConverted(): [CStyleCast] (void *)...
14193+ # 1864| Conversion = [PointerConversion] pointer conversion
14194+ # 1864| Type = [VoidPointerType] void *
14195+ # 1864| ValueCategory = prvalue
14196+ # 1862| [MemberFunction] void* missing_declaration_entries::Bar1<int>::missing_type_decl_entry(missing_declaration_entries::Bar1<int>::pointer)
14197+ # 1862| <params>:
14198+ # 1862| getParameter(0): [Parameter] p
14199+ # 1862| Type = [CTypedefType,NestedTypedefType] pointer
14200+ # 1862| getEntryPoint(): [BlockStmt] { ... }
14201+ # 1863| getStmt(0): [DeclStmt] declaration
14202+ # 1864| getStmt(1): [ReturnStmt] return ...
14203+ # 1864| getExpr(): [VariableAccess] p
14204+ # 1864| Type = [CTypedefType,NestedTypedefType] pointer
14205+ # 1864| ValueCategory = prvalue(load)
14206+ # 1864| getExpr().getFullyConverted(): [CStyleCast] (void *)...
14207+ # 1864| Conversion = [PointerConversion] pointer conversion
14208+ # 1864| Type = [VoidPointerType] void *
14209+ # 1864| ValueCategory = prvalue
14210+ # 1868| [TopLevelFunction] void missing_declaration_entries::test1()
14211+ # 1868| <params>:
14212+ # 1868| getEntryPoint(): [BlockStmt] { ... }
14213+ # 1869| getStmt(0): [DeclStmt] declaration
14214+ # 1869| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b
14215+ # 1869| Type = [ClassTemplateInstantiation,Struct] Bar1<int>
14216+ # 1870| getStmt(1): [ExprStmt] ExprStmt
14217+ # 1870| getExpr(): [FunctionCall] call to missing_type_decl_entry
14218+ # 1870| Type = [VoidPointerType] void *
14219+ # 1870| ValueCategory = prvalue
14220+ # 1870| getQualifier(): [VariableAccess] b
14221+ # 1870| Type = [ClassTemplateInstantiation,Struct] Bar1<int>
14222+ # 1870| ValueCategory = lvalue
14223+ # 1870| getArgument(0): [Literal] 0
14224+ # 1870| Type = [NullPointerType] decltype(nullptr)
14225+ # 1870| Value = [Literal] 0
14226+ # 1870| ValueCategory = prvalue
14227+ # 1870| getArgument(0).getFullyConverted(): [CStyleCast] (pointer)...
14228+ # 1870| Conversion = [PointerConversion] pointer conversion
14229+ # 1870| Type = [CTypedefType,NestedTypedefType] pointer
14230+ # 1870| Value = [CStyleCast] 0
14231+ # 1870| ValueCategory = prvalue
14232+ # 1871| getStmt(2): [ReturnStmt] return ...
14233+ # 1873| [CopyAssignmentOperator] missing_declaration_entries::Bar2<int>& missing_declaration_entries::Bar2<int>::operator=(missing_declaration_entries::Bar2<int> const&)
14234+ # 1873| <params>:
14235+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14236+ #-----| Type = [LValueReferenceType] const Bar2<int> &
14237+ # 1873| [MoveAssignmentOperator] missing_declaration_entries::Bar2<int>& missing_declaration_entries::Bar2<int>::operator=(missing_declaration_entries::Bar2<int>&&)
14238+ # 1873| <params>:
14239+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
14240+ #-----| Type = [RValueReferenceType] Bar2<int> &&
14241+ # 1875| [MemberFunction] int missing_declaration_entries::Bar2<T>::two_missing_variable_declaration_entries()
14242+ # 1875| <params>:
14243+ # 1875| getEntryPoint(): [BlockStmt] { ... }
14244+ # 1876| getStmt(0): [DeclStmt] declaration
14245+ # 1876| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
14246+ # 1876| Type = [ArrayType] int[10]
14247+ # 1876| getDeclarationEntry(1): [VariableDeclarationEntry] definition of y
14248+ # 1876| Type = [ArrayType] int[10]
14249+ # 1877| getStmt(1): [ExprStmt] ExprStmt
14250+ # 1877| getExpr(): [AssignExpr] ... = ...
14251+ # 1877| Type = [IntType] int
14252+ # 1877| ValueCategory = lvalue
14253+ # 1877| getLValue(): [PointerDereferenceExpr] * ...
14254+ # 1877| Type = [IntType] int
14255+ # 1877| ValueCategory = lvalue
14256+ # 1877| getOperand(): [VariableAccess] x
14257+ # 1877| Type = [ArrayType] int[10]
14258+ # 1877| ValueCategory = lvalue
14259+ # 1877| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14260+ # 1877| Type = [IntPointerType] int *
14261+ # 1877| ValueCategory = prvalue
14262+ # 1877| getRValue(): [Literal] 10
14263+ # 1877| Type = [IntType] int
14264+ # 1877| Value = [Literal] 10
14265+ # 1877| ValueCategory = prvalue
14266+ # 1878| getStmt(2): [ExprStmt] ExprStmt
14267+ # 1878| getExpr(): [AssignExpr] ... = ...
14268+ # 1878| Type = [IntType] int
14269+ # 1878| ValueCategory = lvalue
14270+ # 1878| getLValue(): [PointerDereferenceExpr] * ...
14271+ # 1878| Type = [IntType] int
14272+ # 1878| ValueCategory = lvalue
14273+ # 1878| getOperand(): [VariableAccess] y
14274+ # 1878| Type = [ArrayType] int[10]
14275+ # 1878| ValueCategory = lvalue
14276+ # 1878| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14277+ # 1878| Type = [IntPointerType] int *
14278+ # 1878| ValueCategory = prvalue
14279+ # 1878| getRValue(): [Literal] 10
14280+ # 1878| Type = [IntType] int
14281+ # 1878| Value = [Literal] 10
14282+ # 1878| ValueCategory = prvalue
14283+ # 1879| getStmt(3): [ReturnStmt] return ...
14284+ # 1879| getExpr(): [AddExpr] ... + ...
14285+ # 1879| Type = [IntType] int
14286+ # 1879| ValueCategory = prvalue
14287+ # 1879| getLeftOperand(): [PointerDereferenceExpr] * ...
14288+ # 1879| Type = [IntType] int
14289+ # 1879| ValueCategory = prvalue(load)
14290+ # 1879| getOperand(): [VariableAccess] x
14291+ # 1879| Type = [ArrayType] int[10]
14292+ # 1879| ValueCategory = lvalue
14293+ # 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14294+ # 1879| Type = [IntPointerType] int *
14295+ # 1879| ValueCategory = prvalue
14296+ # 1879| getRightOperand(): [PointerDereferenceExpr] * ...
14297+ # 1879| Type = [IntType] int
14298+ # 1879| ValueCategory = prvalue(load)
14299+ # 1879| getOperand(): [VariableAccess] y
14300+ # 1879| Type = [ArrayType] int[10]
14301+ # 1879| ValueCategory = lvalue
14302+ # 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14303+ # 1879| Type = [IntPointerType] int *
14304+ # 1879| ValueCategory = prvalue
14305+ # 1875| [MemberFunction] int missing_declaration_entries::Bar2<int>::two_missing_variable_declaration_entries()
14306+ # 1875| <params>:
14307+ # 1875| getEntryPoint(): [BlockStmt] { ... }
14308+ # 1876| getStmt(0): [DeclStmt] declaration
14309+ # 1877| getStmt(1): [ExprStmt] ExprStmt
14310+ # 1877| getExpr(): [AssignExpr] ... = ...
14311+ # 1877| Type = [IntType] int
14312+ # 1877| ValueCategory = lvalue
14313+ # 1877| getLValue(): [PointerDereferenceExpr] * ...
14314+ # 1877| Type = [IntType] int
14315+ # 1877| ValueCategory = lvalue
14316+ # 1877| getOperand(): [VariableAccess] x
14317+ # 1877| Type = [ArrayType] int[10]
14318+ # 1877| ValueCategory = lvalue
14319+ # 1877| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14320+ # 1877| Type = [IntPointerType] int *
14321+ # 1877| ValueCategory = prvalue
14322+ # 1877| getRValue(): [Literal] 10
14323+ # 1877| Type = [IntType] int
14324+ # 1877| Value = [Literal] 10
14325+ # 1877| ValueCategory = prvalue
14326+ # 1878| getStmt(2): [ExprStmt] ExprStmt
14327+ # 1878| getExpr(): [AssignExpr] ... = ...
14328+ # 1878| Type = [IntType] int
14329+ # 1878| ValueCategory = lvalue
14330+ # 1878| getLValue(): [PointerDereferenceExpr] * ...
14331+ # 1878| Type = [IntType] int
14332+ # 1878| ValueCategory = lvalue
14333+ # 1878| getOperand(): [VariableAccess] y
14334+ # 1878| Type = [ArrayType] int[10]
14335+ # 1878| ValueCategory = lvalue
14336+ # 1878| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14337+ # 1878| Type = [IntPointerType] int *
14338+ # 1878| ValueCategory = prvalue
14339+ # 1878| getRValue(): [Literal] 10
14340+ # 1878| Type = [IntType] int
14341+ # 1878| Value = [Literal] 10
14342+ # 1878| ValueCategory = prvalue
14343+ # 1879| getStmt(3): [ReturnStmt] return ...
14344+ # 1879| getExpr(): [AddExpr] ... + ...
14345+ # 1879| Type = [IntType] int
14346+ # 1879| ValueCategory = prvalue
14347+ # 1879| getLeftOperand(): [PointerDereferenceExpr] * ...
14348+ # 1879| Type = [IntType] int
14349+ # 1879| ValueCategory = prvalue(load)
14350+ # 1879| getOperand(): [VariableAccess] x
14351+ # 1879| Type = [ArrayType] int[10]
14352+ # 1879| ValueCategory = lvalue
14353+ # 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14354+ # 1879| Type = [IntPointerType] int *
14355+ # 1879| ValueCategory = prvalue
14356+ # 1879| getRightOperand(): [PointerDereferenceExpr] * ...
14357+ # 1879| Type = [IntType] int
14358+ # 1879| ValueCategory = prvalue(load)
14359+ # 1879| getOperand(): [VariableAccess] y
14360+ # 1879| Type = [ArrayType] int[10]
14361+ # 1879| ValueCategory = lvalue
14362+ # 1879| getOperand().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
14363+ # 1879| Type = [IntPointerType] int *
14364+ # 1879| ValueCategory = prvalue
14365+ # 1883| [TopLevelFunction] void missing_declaration_entries::test2()
14366+ # 1883| <params>:
14367+ # 1883| getEntryPoint(): [BlockStmt] { ... }
14368+ # 1884| getStmt(0): [DeclStmt] declaration
14369+ # 1884| getDeclarationEntry(0): [VariableDeclarationEntry] definition of b
14370+ # 1884| Type = [ClassTemplateInstantiation,Struct] Bar2<int>
14371+ # 1885| getStmt(1): [ExprStmt] ExprStmt
14372+ # 1885| getExpr(): [FunctionCall] call to two_missing_variable_declaration_entries
14373+ # 1885| Type = [IntType] int
14374+ # 1885| ValueCategory = prvalue
14375+ # 1885| getQualifier(): [VariableAccess] b
14376+ # 1885| Type = [ClassTemplateInstantiation,Struct] Bar2<int>
14377+ # 1885| ValueCategory = lvalue
14378+ # 1886| getStmt(2): [ReturnStmt] return ...
1416414379perf-regression.cpp:
1416514380# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
1416614381# 4| <params>:
0 commit comments