@@ -11390,6 +11390,190 @@ ir.cpp:
11390
11390
# 1458| Value = [Literal] 3
11391
11391
# 1458| ValueCategory = prvalue
11392
11392
# 1459| getStmt(1): [ReturnStmt] return ...
11393
+ # 1462| [TopLevelFunction] void array_structured_binding()
11394
+ # 1462| <params>:
11395
+ # 1462| getEntryPoint(): [BlockStmt] { ... }
11396
+ # 1463| getStmt(0): [DeclStmt] declaration
11397
+ # 1463| getDeclarationEntry(0): [VariableDeclarationEntry] definition of xs
11398
+ # 1463| Type = [ArrayType] int[2]
11399
+ # 1463| getVariable().getInitializer(): [Initializer] initializer for xs
11400
+ # 1463| getExpr(): [ArrayAggregateLiteral] {...}
11401
+ # 1463| Type = [ArrayType] int[2]
11402
+ # 1463| ValueCategory = prvalue
11403
+ # 1463| getElementExpr(0): [Literal] 1
11404
+ # 1463| Type = [IntType] int
11405
+ # 1463| Value = [Literal] 1
11406
+ # 1463| ValueCategory = prvalue
11407
+ # 1463| getElementExpr(1): [Literal] 2
11408
+ # 1463| Type = [IntType] int
11409
+ # 1463| Value = [Literal] 2
11410
+ # 1463| ValueCategory = prvalue
11411
+ # 1465| getStmt(1): [BlockStmt] { ... }
11412
+ # 1466| getStmt(0): [DeclStmt] declaration
11413
+ # 1466| getDeclarationEntry(0): (no string representation)
11414
+ # 1466| Type = [LValueReferenceType] int(&)[2]
11415
+ # 1466| getVariable().getInitializer(): [Initializer] initializer for (unnamed local variable)
11416
+ # 1466| getExpr(): [VariableAccess] xs
11417
+ # 1466| Type = [ArrayType] int[2]
11418
+ # 1466| ValueCategory = lvalue
11419
+ # 1466| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11420
+ # 1466| Type = [LValueReferenceType] int(&)[2]
11421
+ # 1466| ValueCategory = prvalue
11422
+ # 1466| getDeclarationEntry(1): [VariableDeclarationEntry] definition of x0
11423
+ # 1466| Type = [IntType] int
11424
+ #-----| getVariable().getInitializer(): [Initializer] initializer for x0
11425
+ #-----| getExpr(): [ArrayExpr] access to array
11426
+ #-----| Type = [IntType] int
11427
+ #-----| ValueCategory = lvalue
11428
+ #-----| getArrayBase(): [VariableAccess] (unnamed local variable)
11429
+ #-----| Type = [LValueReferenceType] int(&)[2]
11430
+ #-----| ValueCategory = prvalue(load)
11431
+ #-----| getArrayOffset(): [Literal] 0
11432
+ #-----| Type = [LongType] unsigned long
11433
+ #-----| Value = [Literal] 0
11434
+ #-----| ValueCategory = prvalue
11435
+ #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
11436
+ #-----| Type = [IntPointerType] int *
11437
+ #-----| ValueCategory = prvalue
11438
+ #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference)
11439
+ #-----| Type = [ArrayType] int[2]
11440
+ #-----| ValueCategory = lvalue
11441
+ # 1466| getDeclarationEntry(2): [VariableDeclarationEntry] definition of x1
11442
+ # 1466| Type = [IntType] int
11443
+ #-----| getVariable().getInitializer(): [Initializer] initializer for x1
11444
+ #-----| getExpr(): [ArrayExpr] access to array
11445
+ #-----| Type = [IntType] int
11446
+ #-----| ValueCategory = lvalue
11447
+ #-----| getArrayBase(): [VariableAccess] (unnamed local variable)
11448
+ #-----| Type = [LValueReferenceType] int(&)[2]
11449
+ #-----| ValueCategory = prvalue(load)
11450
+ #-----| getArrayOffset(): [Literal] 1
11451
+ #-----| Type = [LongType] unsigned long
11452
+ #-----| Value = [Literal] 1
11453
+ #-----| ValueCategory = prvalue
11454
+ #-----| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
11455
+ #-----| Type = [IntPointerType] int *
11456
+ #-----| ValueCategory = prvalue
11457
+ #-----| getExpr(): [ReferenceDereferenceExpr] (reference dereference)
11458
+ #-----| Type = [ArrayType] int[2]
11459
+ #-----| ValueCategory = lvalue
11460
+ # 1467| getStmt(1): [ExprStmt] ExprStmt
11461
+ # 1467| getExpr(): [AssignExpr] ... = ...
11462
+ # 1467| Type = [IntType] int
11463
+ # 1467| ValueCategory = lvalue
11464
+ # 1467| getLValue(): [VariableAccess] x1
11465
+ # 1467| Type = [IntType] int
11466
+ # 1467| ValueCategory = lvalue
11467
+ # 1467| getRValue(): [Literal] 3
11468
+ # 1467| Type = [IntType] int
11469
+ # 1467| Value = [Literal] 3
11470
+ # 1467| ValueCategory = prvalue
11471
+ # 1468| getStmt(2): [DeclStmt] declaration
11472
+ # 1468| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1
11473
+ # 1468| Type = [LValueReferenceType] int &
11474
+ # 1468| getVariable().getInitializer(): [Initializer] initializer for rx1
11475
+ # 1468| getExpr(): [VariableAccess] x1
11476
+ # 1468| Type = [IntType] int
11477
+ # 1468| ValueCategory = lvalue
11478
+ # 1468| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11479
+ # 1468| Type = [LValueReferenceType] int &
11480
+ # 1468| ValueCategory = prvalue
11481
+ # 1469| getStmt(3): [DeclStmt] declaration
11482
+ # 1469| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
11483
+ # 1469| Type = [IntType] int
11484
+ # 1469| getVariable().getInitializer(): [Initializer] initializer for x
11485
+ # 1469| getExpr(): [VariableAccess] x1
11486
+ # 1469| Type = [IntType] int
11487
+ # 1469| ValueCategory = prvalue(load)
11488
+ # 1472| getStmt(2): [BlockStmt] { ... }
11489
+ # 1473| getStmt(0): [DeclStmt] declaration
11490
+ # 1473| getDeclarationEntry(0): [VariableDeclarationEntry] definition of unnamed_local_variable
11491
+ # 1473| Type = [LValueReferenceType] int(&)[2]
11492
+ # 1473| getVariable().getInitializer(): [Initializer] initializer for unnamed_local_variable
11493
+ # 1473| getExpr(): [VariableAccess] xs
11494
+ # 1473| Type = [ArrayType] int[2]
11495
+ # 1473| ValueCategory = lvalue
11496
+ # 1473| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11497
+ # 1473| Type = [LValueReferenceType] int(&)[2]
11498
+ # 1473| ValueCategory = prvalue
11499
+ # 1474| getStmt(1): [DeclStmt] declaration
11500
+ # 1474| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x0
11501
+ # 1474| Type = [LValueReferenceType] int &
11502
+ # 1474| getVariable().getInitializer(): [Initializer] initializer for x0
11503
+ # 1474| getExpr(): [ArrayExpr] access to array
11504
+ # 1474| Type = [IntType] int
11505
+ # 1474| ValueCategory = lvalue
11506
+ # 1474| getArrayBase(): [VariableAccess] xs
11507
+ # 1474| Type = [ArrayType] int[2]
11508
+ # 1474| ValueCategory = lvalue
11509
+ # 1474| getArrayOffset(): [Literal] 0
11510
+ # 1474| Type = [IntType] int
11511
+ # 1474| Value = [Literal] 0
11512
+ # 1474| ValueCategory = prvalue
11513
+ # 1474| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
11514
+ # 1474| Type = [IntPointerType] int *
11515
+ # 1474| ValueCategory = prvalue
11516
+ # 1474| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11517
+ # 1474| Type = [LValueReferenceType] int &
11518
+ # 1474| ValueCategory = prvalue
11519
+ # 1475| getStmt(2): [DeclStmt] declaration
11520
+ # 1475| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x1
11521
+ # 1475| Type = [LValueReferenceType] int &
11522
+ # 1475| getVariable().getInitializer(): [Initializer] initializer for x1
11523
+ # 1475| getExpr(): [ArrayExpr] access to array
11524
+ # 1475| Type = [IntType] int
11525
+ # 1475| ValueCategory = lvalue
11526
+ # 1475| getArrayBase(): [VariableAccess] xs
11527
+ # 1475| Type = [ArrayType] int[2]
11528
+ # 1475| ValueCategory = lvalue
11529
+ # 1475| getArrayOffset(): [Literal] 1
11530
+ # 1475| Type = [IntType] int
11531
+ # 1475| Value = [Literal] 1
11532
+ # 1475| ValueCategory = prvalue
11533
+ # 1475| getArrayBase().getFullyConverted(): [ArrayToPointerConversion] array to pointer conversion
11534
+ # 1475| Type = [IntPointerType] int *
11535
+ # 1475| ValueCategory = prvalue
11536
+ # 1475| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11537
+ # 1475| Type = [LValueReferenceType] int &
11538
+ # 1475| ValueCategory = prvalue
11539
+ # 1476| getStmt(3): [ExprStmt] ExprStmt
11540
+ # 1476| getExpr(): [AssignExpr] ... = ...
11541
+ # 1476| Type = [IntType] int
11542
+ # 1476| ValueCategory = lvalue
11543
+ # 1476| getLValue(): [VariableAccess] x1
11544
+ # 1476| Type = [LValueReferenceType] int &
11545
+ # 1476| ValueCategory = prvalue(load)
11546
+ # 1476| getRValue(): [Literal] 3
11547
+ # 1476| Type = [IntType] int
11548
+ # 1476| Value = [Literal] 3
11549
+ # 1476| ValueCategory = prvalue
11550
+ # 1476| getLValue().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11551
+ # 1476| Type = [IntType] int
11552
+ # 1476| ValueCategory = lvalue
11553
+ # 1477| getStmt(4): [DeclStmt] declaration
11554
+ # 1477| getDeclarationEntry(0): [VariableDeclarationEntry] definition of rx1
11555
+ # 1477| Type = [LValueReferenceType] int &
11556
+ # 1477| getVariable().getInitializer(): [Initializer] initializer for rx1
11557
+ # 1477| getExpr(): [VariableAccess] x1
11558
+ # 1477| Type = [LValueReferenceType] int &
11559
+ # 1477| ValueCategory = prvalue(load)
11560
+ # 1477| getExpr().getFullyConverted(): [ReferenceToExpr] (reference to)
11561
+ # 1477| Type = [LValueReferenceType] int &
11562
+ # 1477| ValueCategory = prvalue
11563
+ # 1477| getExpr(): [ReferenceDereferenceExpr] (reference dereference)
11564
+ # 1477| Type = [IntType] int
11565
+ # 1477| ValueCategory = lvalue
11566
+ # 1478| getStmt(5): [DeclStmt] declaration
11567
+ # 1478| getDeclarationEntry(0): [VariableDeclarationEntry] definition of x
11568
+ # 1478| Type = [IntType] int
11569
+ # 1478| getVariable().getInitializer(): [Initializer] initializer for x
11570
+ # 1478| getExpr(): [VariableAccess] x1
11571
+ # 1478| Type = [LValueReferenceType] int &
11572
+ # 1478| ValueCategory = prvalue(load)
11573
+ # 1478| getExpr().getFullyConverted(): [ReferenceDereferenceExpr] (reference dereference)
11574
+ # 1478| Type = [IntType] int
11575
+ # 1478| ValueCategory = prvalue(load)
11576
+ # 1480| getStmt(3): [ReturnStmt] return ...
11393
11577
perf-regression.cpp:
11394
11578
# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
11395
11579
# 4| <params>:
0 commit comments