@@ -11574,6 +11574,297 @@ ir.cpp:
11574
11574
# 1478| Type = [IntType] int
11575
11575
# 1478| ValueCategory = prvalue(load)
11576
11576
# 1480| getStmt(3): [ReturnStmt] return ...
11577
+ # 1482| [CopyAssignmentOperator] StructuredBindingDataMemberStruct& StructuredBindingDataMemberStruct::operator=(StructuredBindingDataMemberStruct const&)
11578
+ # 1482| <params>:
11579
+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
11580
+ #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
11581
+ # 1482| [Constructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct()
11582
+ # 1482| <params>:
11583
+ # 1482| <initializations>:
11584
+ # 1482| getInitializer(0): [ConstructorFieldInit] constructor init of field i
11585
+ # 1482| Type = [IntType] int
11586
+ # 1482| ValueCategory = prvalue
11587
+ # 1482| getInitializer(1): [ConstructorFieldInit] constructor init of field d
11588
+ # 1482| Type = [DoubleType] double
11589
+ # 1482| ValueCategory = prvalue
11590
+ # 1482| getInitializer(2): [ConstructorFieldInit] constructor init of field r
11591
+ # 1482| Type = [LValueReferenceType] int &
11592
+ # 1482| ValueCategory = prvalue
11593
+ # 1482| getEntryPoint(): [BlockStmt] { ... }
11594
+ # 1482| getStmt(0): [ReturnStmt] return ...
11595
+ # 1482| [CopyConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct const&)
11596
+ # 1482| <params>:
11597
+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
11598
+ #-----| Type = [LValueReferenceType] const StructuredBindingDataMemberStruct &
11599
+ # 1482| <initializations>:
11600
+ # 1482| getInitializer(0): [ConstructorFieldInit] constructor init of field i
11601
+ # 1482| Type = [IntType] int
11602
+ # 1482| ValueCategory = prvalue
11603
+ # 1482| getExpr(): [Literal] Unknown literal
11604
+ # 1482| Type = [IntType] int
11605
+ # 1482| ValueCategory = prvalue
11606
+ # 1482| getInitializer(1): [ConstructorFieldInit] constructor init of field d
11607
+ # 1482| Type = [DoubleType] double
11608
+ # 1482| ValueCategory = prvalue
11609
+ # 1482| getExpr(): [Literal] Unknown literal
11610
+ # 1482| Type = [DoubleType] double
11611
+ # 1482| ValueCategory = prvalue
11612
+ # 1482| getInitializer(2): [ConstructorFieldInit] constructor init of field b
11613
+ # 1482| Type = [IntType] unsigned int
11614
+ # 1482| ValueCategory = prvalue
11615
+ # 1482| getExpr(): [Literal] Unknown literal
11616
+ # 1482| Type = [IntType] unsigned int
11617
+ # 1482| ValueCategory = prvalue
11618
+ # 1482| getInitializer(3): [ConstructorFieldInit] constructor init of field r
11619
+ # 1482| Type = [LValueReferenceType] int &
11620
+ # 1482| ValueCategory = prvalue
11621
+ # 1482| getExpr(): [Literal] Unknown literal
11622
+ # 1482| Type = [LValueReferenceType] int &
11623
+ # 1482| ValueCategory = prvalue
11624
+ # 1482| getEntryPoint(): [BlockStmt] { ... }
11625
+ # 1482| getStmt(0): [ReturnStmt] return ...
11626
+ # 1482| [MoveConstructor] void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct(StructuredBindingDataMemberStruct&&)
11627
+ # 1482| <params>:
11628
+ #-----| getParameter(0): [Parameter] (unnamed parameter 0)
11629
+ #-----| Type = [RValueReferenceType] StructuredBindingDataMemberStruct &&
11630
+ # 1489| [TopLevelFunction] void data_member_structured_binding()
11631
+ # 1489| <params>:
11632
+ # 1489| getEntryPoint(): [BlockStmt] { ... }
11633
+ # 1490| getStmt(0): [DeclStmt] declaration
11634
+ # 1490| getDeclarationEntry(0): [VariableDeclarationEntry] definition of s
11635
+ # 1490| Type = [Struct] StructuredBindingDataMemberStruct
11636
+ # 1490| getVariable().getInitializer(): [Initializer] initializer for s
11637
+ # 1490| getExpr(): [ConstructorCall] call to StructuredBindingDataMemberStruct
11638
+ # 1490| Type = [VoidType] void
11639
+ # 1490| ValueCategory = prvalue
11640
+ # 1492| getStmt(1): [BlockStmt] { ... }
11641
+ # 1493| getStmt(0): [DeclStmt] declaration
11642
+ # 1493| getDeclarationEntry(0): (no string representation)
11643
+ # 1493| Type = [Struct] StructuredBindingDataMemberStruct
11644
+ # 1493| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable)
11645
+ # 1493| getExpr(): [VariableAccess] s
11646
+ # 1493| Type = [Struct] StructuredBindingDataMemberStruct
11647
+ # 1493| ValueCategory = prvalue(load)
11648
+ # 1493| getDeclarationEntry(1): [VariableDeclarationEntry] definition of i
11649
+ # 1493| Type = [IntType] int
11650
+ #-----| getVariable().getInitializer(): [Initializer] initializer for i
11651
+ # 1493| getExpr(): [ValueFieldAccess] i
11652
+ # 1493| Type = [IntType] int
11653
+ # 1493| ValueCategory = lvalue
11654
+ # 1493| getQualifier(): [VariableAccess] (unnamed local variable)
11655
+ # 1493| Type = [Struct] StructuredBindingDataMemberStruct
11656
+ # 1493| ValueCategory = lvalue
11657
+ # 1493| getDeclarationEntry(2): [VariableDeclarationEntry] definition of d
11658
+ # 1493| Type = [DoubleType] double
11659
+ #-----| getVariable().getInitializer(): [Initializer] initializer for d
11660
+ # 1493| getExpr(): [ValueFieldAccess] d
11661
+ # 1493| Type = [DoubleType] double
11662
+ # 1493| ValueCategory = lvalue
11663
+ # 1493| getQualifier(): [VariableAccess] (unnamed local variable)
11664
+ # 1493| Type = [Struct] StructuredBindingDataMemberStruct
11665
+ # 1493| ValueCategory = lvalue
11666
+ # 1493| getDeclarationEntry(3): [VariableDeclarationEntry] definition of b
11667
+ # 1493| Type = [IntType] unsigned int
11668
+ #-----| getVariable().getInitializer(): [Initializer] initializer for b
11669
+ # 1493| getExpr(): [ValueFieldAccess] b
11670
+ # 1493| Type = [IntType] unsigned int
11671
+ # 1493| ValueCategory = lvalue
11672
+ # 1493| getQualifier(): [VariableAccess] (unnamed local variable)
11673
+ # 1493| Type = [Struct] StructuredBindingDataMemberStruct
11674
+ # 1493| ValueCategory = lvalue
11675
+ # 1493| getDeclarationEntry(4): [VariableDeclarationEntry] definition of r
11676
+ # 1493| Type = [IntType] int
11677
+ #-----| getVariable().getInitializer(): [Initializer] initializer for r
11678
+ # 1493| getExpr(): [ValueFieldAccess] r
11679
+ # 1493| Type = [LValueReferenceType] int &
11680
+ # 1493| ValueCategory = prvalue(load)
11681
+ # 1493| getQualifier(): [VariableAccess] (unnamed local variable)
11682
+ # 1493| Type = [Struct] StructuredBindingDataMemberStruct
11683
+ # 1493| ValueCategory = lvalue
11684
+ # 1493| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11685
+ # 1493| Type = [IntType] int
11686
+ # 1493| ValueCategory = lvalue
11687
+ # 1494| getStmt(1): [ExprStmt] ExprStmt
11688
+ # 1494| getExpr(): [AssignExpr] ... = ...
11689
+ # 1494| Type = [DoubleType] double
11690
+ # 1494| ValueCategory = lvalue
11691
+ # 1494| getLValue(): [VariableAccess] d
11692
+ # 1494| Type = [DoubleType] double
11693
+ # 1494| ValueCategory = lvalue
11694
+ # 1494| getRValue(): [Literal] 4.0
11695
+ # 1494| Type = [DoubleType] double
11696
+ # 1494| Value = [Literal] 4.0
11697
+ # 1494| ValueCategory = prvalue
11698
+ # 1495| getStmt(2): [DeclStmt] declaration
11699
+ # 1495| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd
11700
+ # 1495| Type = [LValueReferenceType] double &
11701
+ # 1495| getVariable().getInitializer(): [Initializer] initializer for rd
11702
+ # 1495| getExpr(): [VariableAccess] d
11703
+ # 1495| Type = [DoubleType] double
11704
+ # 1495| ValueCategory = lvalue
11705
+ # 1495| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11706
+ # 1495| Type = [LValueReferenceType] double &
11707
+ # 1495| ValueCategory = prvalue
11708
+ # 1496| getStmt(3): [DeclStmt] declaration
11709
+ # 1496| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v
11710
+ # 1496| Type = [IntType] int
11711
+ # 1496| getVariable().getInitializer(): [Initializer] initializer for v
11712
+ # 1496| getExpr(): [VariableAccess] i
11713
+ # 1496| Type = [IntType] int
11714
+ # 1496| ValueCategory = prvalue(load)
11715
+ # 1497| getStmt(4): [ExprStmt] ExprStmt
11716
+ # 1497| getExpr(): [AssignExpr] ... = ...
11717
+ # 1497| Type = [IntType] int
11718
+ # 1497| ValueCategory = lvalue
11719
+ # 1497| getLValue(): [VariableAccess] r
11720
+ # 1497| Type = [IntType] int
11721
+ # 1497| ValueCategory = lvalue
11722
+ # 1497| getRValue(): [Literal] 5
11723
+ # 1497| Type = [IntType] int
11724
+ # 1497| Value = [Literal] 5
11725
+ # 1497| ValueCategory = prvalue
11726
+ # 1498| getStmt(5): [DeclStmt] declaration
11727
+ # 1498| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr
11728
+ # 1498| Type = [LValueReferenceType] int &
11729
+ # 1498| getVariable().getInitializer(): [Initializer] initializer for rr
11730
+ # 1498| getExpr(): [VariableAccess] r
11731
+ # 1498| Type = [IntType] int
11732
+ # 1498| ValueCategory = lvalue
11733
+ # 1498| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11734
+ # 1498| Type = [LValueReferenceType] int &
11735
+ # 1498| ValueCategory = prvalue
11736
+ # 1499| getStmt(6): [DeclStmt] declaration
11737
+ # 1499| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w
11738
+ # 1499| Type = [IntType] int
11739
+ # 1499| getVariable().getInitializer(): [Initializer] initializer for w
11740
+ # 1499| getExpr(): [VariableAccess] r
11741
+ # 1499| Type = [IntType] int
11742
+ # 1499| ValueCategory = prvalue(load)
11743
+ # 1502| getStmt(2): [BlockStmt] { ... }
11744
+ # 1503| getStmt(0): [DeclStmt] declaration
11745
+ # 1503| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable
11746
+ # 1503| Type = [Struct] StructuredBindingDataMemberStruct
11747
+ # 1503| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable
11748
+ # 1503| getExpr(): [VariableAccess] s
11749
+ # 1503| Type = [Struct] StructuredBindingDataMemberStruct
11750
+ # 1503| ValueCategory = prvalue(load)
11751
+ # 1504| getStmt(1): [DeclStmt] declaration
11752
+ # 1504| getDeclarationEntry(0): [VariableDeclarationEntry] definition of i
11753
+ # 1504| Type = [LValueReferenceType] int &
11754
+ # 1504| getVariable().getInitializer(): [Initializer] initializer for i
11755
+ # 1504| getExpr(): [ValueFieldAccess] i
11756
+ # 1504| Type = [IntType] int
11757
+ # 1504| ValueCategory = lvalue
11758
+ # 1504| getQualifier(): [VariableAccess] unnamed_local_variable
11759
+ # 1504| Type = [Struct] StructuredBindingDataMemberStruct
11760
+ # 1504| ValueCategory = lvalue
11761
+ # 1504| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11762
+ # 1504| Type = [LValueReferenceType] int &
11763
+ # 1504| ValueCategory = prvalue
11764
+ # 1505| getStmt(2): [DeclStmt] declaration
11765
+ # 1505| getDeclarationEntry(0): [VariableDeclarationEntry] definition of d
11766
+ # 1505| Type = [LValueReferenceType] double &
11767
+ # 1505| getVariable().getInitializer(): [Initializer] initializer for d
11768
+ # 1505| getExpr(): [ValueFieldAccess] d
11769
+ # 1505| Type = [DoubleType] double
11770
+ # 1505| ValueCategory = lvalue
11771
+ # 1505| getQualifier(): [VariableAccess] unnamed_local_variable
11772
+ # 1505| Type = [Struct] StructuredBindingDataMemberStruct
11773
+ # 1505| ValueCategory = lvalue
11774
+ # 1505| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11775
+ # 1505| Type = [LValueReferenceType] double &
11776
+ # 1505| ValueCategory = prvalue
11777
+ # 1507| getStmt(3): [DeclStmt] declaration
11778
+ # 1507| getDeclarationEntry(0): [VariableDeclarationEntry] definition of r
11779
+ # 1507| Type = [LValueReferenceType] int &
11780
+ # 1507| getVariable().getInitializer(): [Initializer] initializer for r
11781
+ # 1507| getExpr(): [ValueFieldAccess] r
11782
+ # 1507| Type = [LValueReferenceType] int &
11783
+ # 1507| ValueCategory = prvalue(load)
11784
+ # 1507| getQualifier(): [VariableAccess] unnamed_local_variable
11785
+ # 1507| Type = [Struct] StructuredBindingDataMemberStruct
11786
+ # 1507| ValueCategory = lvalue
11787
+ # 1507| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11788
+ # 1507| Type = [LValueReferenceType] int &
11789
+ # 1507| ValueCategory = prvalue
11790
+ # 1507| getExpr(): [ReferenceDereferenceExpr] (reference dereference)
11791
+ # 1507| Type = [IntType] int
11792
+ # 1507| ValueCategory = lvalue
11793
+ # 1508| getStmt(4): [ExprStmt] ExprStmt
11794
+ # 1508| getExpr(): [AssignExpr] ... = ...
11795
+ # 1508| Type = [DoubleType] double
11796
+ # 1508| ValueCategory = lvalue
11797
+ # 1508| getLValue(): [VariableAccess] d
11798
+ # 1508| Type = [LValueReferenceType] double &
11799
+ # 1508| ValueCategory = prvalue(load)
11800
+ # 1508| getRValue(): [Literal] 4.0
11801
+ # 1508| Type = [DoubleType] double
11802
+ # 1508| Value = [Literal] 4.0
11803
+ # 1508| ValueCategory = prvalue
11804
+ # 1508| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11805
+ # 1508| Type = [DoubleType] double
11806
+ # 1508| ValueCategory = lvalue
11807
+ # 1509| getStmt(5): [DeclStmt] declaration
11808
+ # 1509| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rd
11809
+ # 1509| Type = [LValueReferenceType] double &
11810
+ # 1509| getVariable().getInitializer(): [Initializer] initializer for rd
11811
+ # 1509| getExpr(): [VariableAccess] d
11812
+ # 1509| Type = [LValueReferenceType] double &
11813
+ # 1509| ValueCategory = prvalue(load)
11814
+ # 1509| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11815
+ # 1509| Type = [LValueReferenceType] double &
11816
+ # 1509| ValueCategory = prvalue
11817
+ # 1509| getExpr(): [ReferenceDereferenceExpr] (reference dereference)
11818
+ # 1509| Type = [DoubleType] double
11819
+ # 1509| ValueCategory = lvalue
11820
+ # 1510| getStmt(6): [DeclStmt] declaration
11821
+ # 1510| getDeclarationEntry(0): [VariableDeclarationEntry] definition of v
11822
+ # 1510| Type = [IntType] int
11823
+ # 1510| getVariable().getInitializer(): [Initializer] initializer for v
11824
+ # 1510| getExpr(): [VariableAccess] i
11825
+ # 1510| Type = [LValueReferenceType] int &
11826
+ # 1510| ValueCategory = prvalue(load)
11827
+ # 1510| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11828
+ # 1510| Type = [IntType] int
11829
+ # 1510| ValueCategory = prvalue(load)
11830
+ # 1511| getStmt(7): [ExprStmt] ExprStmt
11831
+ # 1511| getExpr(): [AssignExpr] ... = ...
11832
+ # 1511| Type = [IntType] int
11833
+ # 1511| ValueCategory = lvalue
11834
+ # 1511| getLValue(): [VariableAccess] r
11835
+ # 1511| Type = [LValueReferenceType] int &
11836
+ # 1511| ValueCategory = prvalue(load)
11837
+ # 1511| getRValue(): [Literal] 5
11838
+ # 1511| Type = [IntType] int
11839
+ # 1511| Value = [Literal] 5
11840
+ # 1511| ValueCategory = prvalue
11841
+ # 1511| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11842
+ # 1511| Type = [IntType] int
11843
+ # 1511| ValueCategory = lvalue
11844
+ # 1512| getStmt(8): [DeclStmt] declaration
11845
+ # 1512| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rr
11846
+ # 1512| Type = [LValueReferenceType] int &
11847
+ # 1512| getVariable().getInitializer(): [Initializer] initializer for rr
11848
+ # 1512| getExpr(): [VariableAccess] r
11849
+ # 1512| Type = [LValueReferenceType] int &
11850
+ # 1512| ValueCategory = prvalue(load)
11851
+ # 1512| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11852
+ # 1512| Type = [LValueReferenceType] int &
11853
+ # 1512| ValueCategory = prvalue
11854
+ # 1512| getExpr(): [ReferenceDereferenceExpr] (reference dereference)
11855
+ # 1512| Type = [IntType] int
11856
+ # 1512| ValueCategory = lvalue
11857
+ # 1513| getStmt(9): [DeclStmt] declaration
11858
+ # 1513| getDeclarationEntry(0): [VariableDeclarationEntry] definition of w
11859
+ # 1513| Type = [IntType] int
11860
+ # 1513| getVariable().getInitializer(): [Initializer] initializer for w
11861
+ # 1513| getExpr(): [VariableAccess] r
11862
+ # 1513| Type = [LValueReferenceType] int &
11863
+ # 1513| ValueCategory = prvalue(load)
11864
+ # 1513| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11865
+ # 1513| Type = [IntType] int
11866
+ # 1513| ValueCategory = prvalue(load)
11867
+ # 1515| getStmt(3): [ReturnStmt] return ...
11577
11868
perf-regression.cpp:
11578
11869
# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
11579
11870
# 4| <params>:
0 commit comments