Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
530 changes: 317 additions & 213 deletions compiler/rustc_mir_transform/src/gvn.rs

Large diffs are not rendered by default.

56 changes: 26 additions & 30 deletions tests/coverage/closure.cov-map
Original file line number Diff line number Diff line change
Expand Up @@ -74,24 +74,22 @@ Number of file 0 mappings: 66
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
Highest counter ID seen: c1

Function name: closure::main::{closure#0}
Raw bytes (51): 0x[01, 01, 01, 01, 05, 09, 01, 28, 05, 00, 06, 01, 01, 0d, 00, 1a, 01, 00, 1d, 00, 1e, 01, 01, 0c, 00, 14, 05, 00, 15, 02, 0a, 02, 02, 09, 00, 0a, 01, 01, 09, 00, 17, 01, 00, 18, 00, 20, 01, 01, 05, 00, 06]
Function name: closure::main::{closure#0} (unused)
Raw bytes (49): 0x[01, 01, 00, 09, 00, 28, 05, 00, 06, 00, 01, 0d, 00, 1a, 00, 00, 1d, 00, 1e, 00, 01, 0c, 00, 14, 00, 00, 15, 02, 0a, 00, 02, 09, 00, 0a, 00, 01, 09, 00, 17, 00, 00, 18, 00, 20, 00, 01, 05, 00, 06]
Number of files: 1
- file 0 => $DIR/closure.rs
Number of expressions: 1
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
Number of expressions: 0
Number of file 0 mappings: 9
- Code(Counter(0)) at (prev + 40, 5) to (start + 0, 6)
- Code(Counter(0)) at (prev + 1, 13) to (start + 0, 26)
- Code(Counter(0)) at (prev + 0, 29) to (start + 0, 30)
- Code(Counter(0)) at (prev + 1, 12) to (start + 0, 20)
- Code(Counter(1)) at (prev + 0, 21) to (start + 2, 10)
- Code(Expression(0, Sub)) at (prev + 2, 9) to (start + 0, 10)
= (c0 - c1)
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 23)
- Code(Counter(0)) at (prev + 0, 24) to (start + 0, 32)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 6)
Highest counter ID seen: c1
- Code(Zero) at (prev + 40, 5) to (start + 0, 6)
- Code(Zero) at (prev + 1, 13) to (start + 0, 26)
- Code(Zero) at (prev + 0, 29) to (start + 0, 30)
- Code(Zero) at (prev + 1, 12) to (start + 0, 20)
- Code(Zero) at (prev + 0, 21) to (start + 2, 10)
- Code(Zero) at (prev + 2, 9) to (start + 0, 10)
- Code(Zero) at (prev + 1, 9) to (start + 0, 23)
- Code(Zero) at (prev + 0, 24) to (start + 0, 32)
- Code(Zero) at (prev + 1, 5) to (start + 0, 6)
Highest counter ID seen: (none)

Function name: closure::main::{closure#10} (unused)
Raw bytes (25): 0x[01, 01, 00, 04, 00, 9b, 01, 07, 00, 08, 00, 00, 09, 00, 11, 00, 00, 12, 00, 1e, 00, 00, 20, 00, 21]
Expand Down Expand Up @@ -199,24 +197,22 @@ Number of file 0 mappings: 7
- Code(Counter(0)) at (prev + 2, 9) to (start + 0, 10)
Highest counter ID seen: c1

Function name: closure::main::{closure#18}
Raw bytes (51): 0x[01, 01, 01, 01, 05, 09, 01, 19, 0d, 00, 0e, 01, 01, 15, 00, 22, 01, 00, 25, 00, 26, 01, 01, 14, 00, 1c, 05, 00, 1d, 02, 12, 02, 02, 11, 00, 12, 01, 01, 11, 00, 1f, 01, 00, 20, 00, 28, 01, 01, 0d, 00, 0e]
Function name: closure::main::{closure#18} (unused)
Raw bytes (49): 0x[01, 01, 00, 09, 00, 19, 0d, 00, 0e, 00, 01, 15, 00, 22, 00, 00, 25, 00, 26, 00, 01, 14, 00, 1c, 00, 00, 1d, 02, 12, 00, 02, 11, 00, 12, 00, 01, 11, 00, 1f, 00, 00, 20, 00, 28, 00, 01, 0d, 00, 0e]
Number of files: 1
- file 0 => $DIR/closure.rs
Number of expressions: 1
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
Number of expressions: 0
Number of file 0 mappings: 9
- Code(Counter(0)) at (prev + 25, 13) to (start + 0, 14)
- Code(Counter(0)) at (prev + 1, 21) to (start + 0, 34)
- Code(Counter(0)) at (prev + 0, 37) to (start + 0, 38)
- Code(Counter(0)) at (prev + 1, 20) to (start + 0, 28)
- Code(Counter(1)) at (prev + 0, 29) to (start + 2, 18)
- Code(Expression(0, Sub)) at (prev + 2, 17) to (start + 0, 18)
= (c0 - c1)
- Code(Counter(0)) at (prev + 1, 17) to (start + 0, 31)
- Code(Counter(0)) at (prev + 0, 32) to (start + 0, 40)
- Code(Counter(0)) at (prev + 1, 13) to (start + 0, 14)
Highest counter ID seen: c1
- Code(Zero) at (prev + 25, 13) to (start + 0, 14)
- Code(Zero) at (prev + 1, 21) to (start + 0, 34)
- Code(Zero) at (prev + 0, 37) to (start + 0, 38)
- Code(Zero) at (prev + 1, 20) to (start + 0, 28)
- Code(Zero) at (prev + 0, 29) to (start + 2, 18)
- Code(Zero) at (prev + 2, 17) to (start + 0, 18)
- Code(Zero) at (prev + 1, 17) to (start + 0, 31)
- Code(Zero) at (prev + 0, 32) to (start + 0, 40)
- Code(Zero) at (prev + 1, 13) to (start + 0, 14)
Highest counter ID seen: (none)

Function name: closure::main::{closure#19}
Raw bytes (51): 0x[01, 01, 01, 01, 05, 09, 01, 43, 0d, 00, 0e, 01, 01, 15, 00, 22, 01, 00, 25, 00, 26, 01, 01, 14, 00, 1c, 05, 00, 1d, 02, 12, 02, 02, 11, 00, 12, 01, 01, 11, 00, 1f, 01, 00, 20, 00, 28, 01, 01, 0d, 00, 0e]
Expand Down
34 changes: 13 additions & 21 deletions tests/coverage/issue-83601.cov-map
Original file line number Diff line number Diff line change
@@ -1,30 +1,22 @@
Function name: issue_83601::main
Raw bytes (76): 0x[01, 01, 01, 05, 09, 0e, 01, 06, 01, 00, 0a, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 05, 01, 09, 00, 0c, 05, 00, 0f, 00, 15, 05, 01, 05, 00, 0f, 02, 01, 05, 00, 0d, 02, 00, 0e, 00, 14, 02, 01, 05, 00, 0d, 02, 00, 0e, 00, 14, 02, 01, 05, 00, 0d, 02, 00, 0e, 00, 14, 02, 01, 01, 00, 02]
Raw bytes (74): 0x[01, 01, 00, 0e, 01, 06, 01, 00, 0a, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 01, 01, 00, 02]
Number of files: 1
- file 0 => $DIR/issue-83601.rs
Number of expressions: 1
- expression 0 operands: lhs = Counter(1), rhs = Counter(2)
Number of expressions: 0
Number of file 0 mappings: 14
- Code(Counter(0)) at (prev + 6, 1) to (start + 0, 10)
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(0)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(1)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(1)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(1)) at (prev + 1, 5) to (start + 0, 15)
- Code(Expression(0, Sub)) at (prev + 1, 5) to (start + 0, 13)
= (c1 - c2)
- Code(Expression(0, Sub)) at (prev + 0, 14) to (start + 0, 20)
= (c1 - c2)
- Code(Expression(0, Sub)) at (prev + 1, 5) to (start + 0, 13)
= (c1 - c2)
- Code(Expression(0, Sub)) at (prev + 0, 14) to (start + 0, 20)
= (c1 - c2)
- Code(Expression(0, Sub)) at (prev + 1, 5) to (start + 0, 13)
= (c1 - c2)
- Code(Expression(0, Sub)) at (prev + 0, 14) to (start + 0, 20)
= (c1 - c2)
- Code(Expression(0, Sub)) at (prev + 1, 1) to (start + 0, 2)
= (c1 - c2)
Highest counter ID seen: c1
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(0)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 1, 1) to (start + 0, 2)
Highest counter ID seen: c0

136 changes: 68 additions & 68 deletions tests/coverage/issue-84561.cov-map
Original file line number Diff line number Diff line change
Expand Up @@ -73,106 +73,106 @@ Number of file 0 mappings: 4
Highest counter ID seen: c0

Function name: issue_84561::test3
Raw bytes (409): 0x[01, 01, 0a, 0d, 11, 0d, 15, 0d, 19, 1d, 21, 29, 2d, 25, 29, 25, 29, 25, 29, 27, 31, 29, 2d, 4d, 01, 08, 01, 00, 0b, 01, 01, 09, 00, 10, 01, 00, 13, 00, 2e, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 05, 01, 09, 00, 0c, 05, 00, 0f, 00, 15, 05, 01, 05, 00, 0f, 09, 01, 05, 00, 0d, 09, 00, 0e, 00, 14, 09, 01, 05, 00, 0d, 09, 00, 0e, 00, 14, 09, 01, 05, 00, 0d, 09, 00, 0e, 00, 14, 09, 02, 05, 00, 0f, 09, 01, 05, 00, 0f, 09, 01, 05, 00, 0f, 09, 01, 09, 00, 0c, 09, 00, 0f, 00, 15, 09, 01, 05, 00, 0f, 0d, 01, 05, 00, 0f, 0d, 01, 05, 00, 0f, 00, 00, 20, 00, 30, 0d, 01, 05, 00, 0d, 0d, 00, 0e, 00, 14, 0d, 01, 05, 00, 0d, 0d, 00, 0e, 00, 14, 0d, 02, 05, 00, 0f, 00, 00, 20, 00, 24, 00, 00, 29, 00, 30, 00, 00, 33, 00, 41, 00, 00, 4b, 00, 5a, 0d, 01, 05, 00, 0f, 00, 05, 09, 00, 0d, 00, 03, 09, 00, 10, 00, 02, 0d, 00, 1b, 00, 02, 0d, 00, 1c, 0d, 04, 09, 00, 10, 0d, 00, 13, 00, 2e, 0d, 02, 05, 00, 0f, 0d, 04, 05, 00, 0f, 0d, 04, 05, 00, 0f, 0d, 04, 09, 00, 0c, 0d, 00, 0f, 00, 15, 0d, 01, 05, 00, 0f, 0d, 04, 08, 00, 0f, 11, 01, 09, 00, 13, 02, 05, 09, 00, 13, 0d, 05, 08, 00, 0f, 15, 01, 09, 00, 13, 00, 03, 0d, 00, 1d, 06, 03, 09, 00, 13, 00, 03, 0d, 00, 1d, 0d, 03, 05, 00, 0f, 0d, 01, 0c, 00, 13, 19, 01, 0d, 00, 13, 0a, 02, 0d, 00, 13, 1d, 04, 05, 00, 0f, 1d, 02, 0c, 00, 13, 21, 01, 0d, 00, 13, 0e, 02, 0d, 00, 13, 27, 03, 05, 00, 0f, 25, 01, 0c, 00, 13, 29, 01, 0d, 00, 17, 29, 04, 0d, 00, 13, 1e, 02, 0d, 00, 17, 1e, 01, 14, 00, 1b, 00, 01, 15, 00, 1b, 1e, 02, 15, 00, 1b, 2d, 04, 0d, 00, 13, 22, 03, 09, 00, 19, 31, 02, 05, 00, 0f, 31, 03, 09, 00, 22, 00, 02, 05, 00, 0f, 00, 03, 09, 00, 2c, 00, 02, 01, 00, 02]
Raw bytes (409): 0x[01, 01, 0a, 01, 05, 01, 09, 01, 0d, 11, 15, 1d, 21, 19, 1d, 19, 1d, 19, 1d, 27, 25, 1d, 21, 4d, 01, 08, 01, 00, 0b, 01, 01, 09, 00, 10, 01, 00, 13, 00, 2e, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 02, 05, 00, 0f, 01, 01, 05, 00, 0f, 01, 01, 05, 00, 0f, 01, 01, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 01, 01, 05, 00, 0f, 01, 01, 05, 00, 0f, 00, 00, 20, 00, 30, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 01, 05, 00, 0d, 01, 00, 0e, 00, 14, 01, 02, 05, 00, 0f, 00, 00, 20, 00, 24, 00, 00, 29, 00, 30, 00, 00, 33, 00, 41, 00, 00, 4b, 00, 5a, 01, 01, 05, 00, 0f, 00, 05, 09, 00, 0d, 00, 03, 09, 00, 10, 00, 02, 0d, 00, 1b, 00, 02, 0d, 00, 1c, 01, 04, 09, 00, 10, 01, 00, 13, 00, 2e, 01, 02, 05, 00, 0f, 01, 04, 05, 00, 0f, 01, 04, 05, 00, 0f, 01, 04, 09, 00, 0c, 01, 00, 0f, 00, 15, 01, 01, 05, 00, 0f, 01, 04, 08, 00, 0f, 05, 01, 09, 00, 13, 02, 05, 09, 00, 13, 01, 05, 08, 00, 0f, 09, 01, 09, 00, 13, 00, 03, 0d, 00, 1d, 06, 03, 09, 00, 13, 00, 03, 0d, 00, 1d, 01, 03, 05, 00, 0f, 01, 01, 0c, 00, 13, 0d, 01, 0d, 00, 13, 0a, 02, 0d, 00, 13, 11, 04, 05, 00, 0f, 11, 02, 0c, 00, 13, 15, 01, 0d, 00, 13, 0e, 02, 0d, 00, 13, 27, 03, 05, 00, 0f, 19, 01, 0c, 00, 13, 1d, 01, 0d, 00, 17, 1d, 04, 0d, 00, 13, 1e, 02, 0d, 00, 17, 1e, 01, 14, 00, 1b, 00, 01, 15, 00, 1b, 1e, 02, 15, 00, 1b, 21, 04, 0d, 00, 13, 22, 03, 09, 00, 19, 25, 02, 05, 00, 0f, 25, 03, 09, 00, 22, 00, 02, 05, 00, 0f, 00, 03, 09, 00, 2c, 00, 02, 01, 00, 02]
Number of files: 1
- file 0 => $DIR/issue-84561.rs
Number of expressions: 10
- expression 0 operands: lhs = Counter(3), rhs = Counter(4)
- expression 1 operands: lhs = Counter(3), rhs = Counter(5)
- expression 2 operands: lhs = Counter(3), rhs = Counter(6)
- expression 3 operands: lhs = Counter(7), rhs = Counter(8)
- expression 4 operands: lhs = Counter(10), rhs = Counter(11)
- expression 5 operands: lhs = Counter(9), rhs = Counter(10)
- expression 6 operands: lhs = Counter(9), rhs = Counter(10)
- expression 7 operands: lhs = Counter(9), rhs = Counter(10)
- expression 8 operands: lhs = Expression(9, Add), rhs = Counter(12)
- expression 9 operands: lhs = Counter(10), rhs = Counter(11)
- expression 0 operands: lhs = Counter(0), rhs = Counter(1)
- expression 1 operands: lhs = Counter(0), rhs = Counter(2)
- expression 2 operands: lhs = Counter(0), rhs = Counter(3)
- expression 3 operands: lhs = Counter(4), rhs = Counter(5)
- expression 4 operands: lhs = Counter(7), rhs = Counter(8)
- expression 5 operands: lhs = Counter(6), rhs = Counter(7)
- expression 6 operands: lhs = Counter(6), rhs = Counter(7)
- expression 7 operands: lhs = Counter(6), rhs = Counter(7)
- expression 8 operands: lhs = Expression(9, Add), rhs = Counter(9)
- expression 9 operands: lhs = Counter(7), rhs = Counter(8)
Number of file 0 mappings: 77
- Code(Counter(0)) at (prev + 8, 1) to (start + 0, 11)
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 16)
- Code(Counter(0)) at (prev + 0, 19) to (start + 0, 46)
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(0)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(1)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(1)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(1)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(2)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(2)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(2)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(2)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(2)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(2)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(2)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(2)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(2)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(2)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(2)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(2)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(0)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 9) to (start + 0, 12)
- Code(Counter(0)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Zero) at (prev + 0, 32) to (start + 0, 48)
- Code(Counter(3)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(3)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(3)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(3)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(3)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 13)
- Code(Counter(0)) at (prev + 0, 14) to (start + 0, 20)
- Code(Counter(0)) at (prev + 2, 5) to (start + 0, 15)
- Code(Zero) at (prev + 0, 32) to (start + 0, 36)
- Code(Zero) at (prev + 0, 41) to (start + 0, 48)
- Code(Zero) at (prev + 0, 51) to (start + 0, 65)
- Code(Zero) at (prev + 0, 75) to (start + 0, 90)
- Code(Counter(3)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Zero) at (prev + 5, 9) to (start + 0, 13)
- Code(Zero) at (prev + 3, 9) to (start + 0, 16)
- Code(Zero) at (prev + 2, 13) to (start + 0, 27)
- Code(Zero) at (prev + 2, 13) to (start + 0, 28)
- Code(Counter(3)) at (prev + 4, 9) to (start + 0, 16)
- Code(Counter(3)) at (prev + 0, 19) to (start + 0, 46)
- Code(Counter(3)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 4, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 4, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 4, 9) to (start + 0, 12)
- Code(Counter(3)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(3)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 4, 8) to (start + 0, 15)
- Code(Counter(4)) at (prev + 1, 9) to (start + 0, 19)
- Code(Counter(0)) at (prev + 4, 9) to (start + 0, 16)
- Code(Counter(0)) at (prev + 0, 19) to (start + 0, 46)
- Code(Counter(0)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 4, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 4, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 4, 9) to (start + 0, 12)
- Code(Counter(0)) at (prev + 0, 15) to (start + 0, 21)
- Code(Counter(0)) at (prev + 1, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 4, 8) to (start + 0, 15)
- Code(Counter(1)) at (prev + 1, 9) to (start + 0, 19)
- Code(Expression(0, Sub)) at (prev + 5, 9) to (start + 0, 19)
= (c3 - c4)
- Code(Counter(3)) at (prev + 5, 8) to (start + 0, 15)
- Code(Counter(5)) at (prev + 1, 9) to (start + 0, 19)
= (c0 - c1)
- Code(Counter(0)) at (prev + 5, 8) to (start + 0, 15)
- Code(Counter(2)) at (prev + 1, 9) to (start + 0, 19)
- Code(Zero) at (prev + 3, 13) to (start + 0, 29)
- Code(Expression(1, Sub)) at (prev + 3, 9) to (start + 0, 19)
= (c3 - c5)
= (c0 - c2)
- Code(Zero) at (prev + 3, 13) to (start + 0, 29)
- Code(Counter(3)) at (prev + 3, 5) to (start + 0, 15)
- Code(Counter(3)) at (prev + 1, 12) to (start + 0, 19)
- Code(Counter(6)) at (prev + 1, 13) to (start + 0, 19)
- Code(Counter(0)) at (prev + 3, 5) to (start + 0, 15)
- Code(Counter(0)) at (prev + 1, 12) to (start + 0, 19)
- Code(Counter(3)) at (prev + 1, 13) to (start + 0, 19)
- Code(Expression(2, Sub)) at (prev + 2, 13) to (start + 0, 19)
= (c3 - c6)
- Code(Counter(7)) at (prev + 4, 5) to (start + 0, 15)
- Code(Counter(7)) at (prev + 2, 12) to (start + 0, 19)
- Code(Counter(8)) at (prev + 1, 13) to (start + 0, 19)
= (c0 - c3)
- Code(Counter(4)) at (prev + 4, 5) to (start + 0, 15)
- Code(Counter(4)) at (prev + 2, 12) to (start + 0, 19)
- Code(Counter(5)) at (prev + 1, 13) to (start + 0, 19)
- Code(Expression(3, Sub)) at (prev + 2, 13) to (start + 0, 19)
= (c7 - c8)
= (c4 - c5)
- Code(Expression(9, Add)) at (prev + 3, 5) to (start + 0, 15)
= (c10 + c11)
- Code(Counter(9)) at (prev + 1, 12) to (start + 0, 19)
- Code(Counter(10)) at (prev + 1, 13) to (start + 0, 23)
- Code(Counter(10)) at (prev + 4, 13) to (start + 0, 19)
= (c7 + c8)
- Code(Counter(6)) at (prev + 1, 12) to (start + 0, 19)
- Code(Counter(7)) at (prev + 1, 13) to (start + 0, 23)
- Code(Counter(7)) at (prev + 4, 13) to (start + 0, 19)
- Code(Expression(7, Sub)) at (prev + 2, 13) to (start + 0, 23)
= (c9 - c10)
= (c6 - c7)
- Code(Expression(7, Sub)) at (prev + 1, 20) to (start + 0, 27)
= (c9 - c10)
= (c6 - c7)
- Code(Zero) at (prev + 1, 21) to (start + 0, 27)
- Code(Expression(7, Sub)) at (prev + 2, 21) to (start + 0, 27)
= (c9 - c10)
- Code(Counter(11)) at (prev + 4, 13) to (start + 0, 19)
= (c6 - c7)
- Code(Counter(8)) at (prev + 4, 13) to (start + 0, 19)
- Code(Expression(8, Sub)) at (prev + 3, 9) to (start + 0, 25)
= ((c10 + c11) - c12)
- Code(Counter(12)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(12)) at (prev + 3, 9) to (start + 0, 34)
= ((c7 + c8) - c9)
- Code(Counter(9)) at (prev + 2, 5) to (start + 0, 15)
- Code(Counter(9)) at (prev + 3, 9) to (start + 0, 34)
- Code(Zero) at (prev + 2, 5) to (start + 0, 15)
- Code(Zero) at (prev + 3, 9) to (start + 0, 44)
- Code(Zero) at (prev + 2, 1) to (start + 0, 2)
Highest counter ID seen: c12
Highest counter ID seen: c9

15 changes: 10 additions & 5 deletions tests/mir-opt/const_prop/boxes.main.GVN.panic-abort.diff
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,21 @@
}

bb1: {
StorageLive(_7);
- StorageLive(_7);
+ nop;
_7 = ShallowInitBox(move _6, i32);
_8 = copy ((_7.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>) as *const i32 (Transmute);
(*_8) = const 42_i32;
_3 = move _7;
StorageDead(_7);
_9 = copy ((_3.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>) as *const i32 (Transmute);
_2 = copy (*_9);
- _3 = move _7;
- StorageDead(_7);
- _9 = copy ((_3.0: std::ptr::Unique<i32>).0: std::ptr::NonNull<i32>) as *const i32 (Transmute);
- _2 = copy (*_9);
- _1 = Add(move _2, const 0_i32);
- StorageDead(_2);
+ _3 = copy _7;
+ nop;
+ _9 = copy _8;
+ _2 = copy (*_8);
+ _1 = copy _2;
+ nop;
drop(_3) -> [return: bb2, unwind unreachable];
Expand Down
Loading
Loading