# mir opt simplify allocations ## `remove_duplicate_unreachable_blocks FxIndexSet<BasicBlock>` regex Full Opt ``` 5790 counts ( 1) 4906 (84.7%, 84.7%): 0 ( 2) 737 (12.7%, 97.5%): 1 ( 3) 43 ( 0.7%, 98.2%): 4 ( 4) 40 ( 0.7%, 98.9%): 2 ( 5) 21 ( 0.4%, 99.3%): 3 ( 6) 15 ( 0.3%, 99.5%): 5 ``` libc Full Opt ``` 17530 counts ( 1) 17507 (99.9%, 99.9%): 0 ( 2) 20 ( 0.1%,100.0%): 1 ( 3) 3 ( 0.0%,100.0%): 2 ``` ## `remove_dead_blocks replacement Vec<BasicBlock>` regex Full Opt ``` 3613 counts ( 1) 833 (23.1%, 23.1%): 3 ( 2) 704 (19.5%, 42.5%): 2 ( 3) 274 ( 7.6%, 50.1%): 4 ( 4) 238 ( 6.6%, 56.7%): 6 ( 5) 220 ( 6.1%, 62.8%): 5 ( 6) 108 ( 3.0%, 65.8%): 9 ( 7) 104 ( 2.9%, 68.7%): 7 ( 8) 95 ( 2.6%, 71.3%): 10 ( 9) 94 ( 2.6%, 73.9%): 8 ( 10) 61 ( 1.7%, 75.6%): 13 ( 11) 60 ( 1.7%, 77.2%): 12 ( 12) 49 ( 1.4%, 78.6%): 14 ( 13) 41 ( 1.1%, 79.7%): 11 ( 14) 41 ( 1.1%, 80.9%): 16 ( 15) 40 ( 1.1%, 82.0%): 17 ( 16) 37 ( 1.0%, 83.0%): 18 ( 17) 30 ( 0.8%, 83.8%): 15 ( 18) 27 ( 0.7%, 84.6%): 19 ( 19) 27 ( 0.7%, 85.3%): 22 ( 20) 18 ( 0.5%, 85.8%): 23 ( 21) 18 ( 0.5%, 86.3%): 25 ( 22) 17 ( 0.5%, 86.8%): 20 ( 23) 16 ( 0.4%, 87.2%): 36 ( 24) 14 ( 0.4%, 87.6%): 26 ( 25) 13 ( 0.4%, 88.0%): 24 ( 26) 13 ( 0.4%, 88.3%): 30 ( 27) 12 ( 0.3%, 88.7%): 21 ( 28) 11 ( 0.3%, 89.0%): 31 ( 29) 11 ( 0.3%, 89.3%): 34 ( 30) 11 ( 0.3%, 89.6%): 37 ``` libc Full Opt ``` 8793 counts ( 1) 8424 (95.8%, 95.8%): 2 ( 2) 295 ( 3.4%, 99.2%): 3 ( 3) 20 ( 0.2%, 99.4%): 7 ( 4) 12 ( 0.1%, 99.5%): 4 ( 5) 9 ( 0.1%, 99.6%): 8 ( 6) 8 ( 0.1%, 99.7%): 11 ( 7) 6 ( 0.1%, 99.8%): 5 ( 8) 5 ( 0.1%, 99.8%): 6 ( 9) 3 ( 0.0%, 99.9%): 16 ( 10) 2 ( 0.0%, 99.9%): 15 ``` ## `simplify merged_blocks Vec<BasicBlock>` regex Full Opt ``` 6172 counts ( 1) 5034 (81.6%, 81.6%): 0 ( 2) 1099 (17.8%, 99.4%): 4 ( 3) 32 ( 0.5%, 99.9%): 8 ( 4) 6 ( 0.1%,100.0%): 16 ( 5) 1 ( 0.0%,100.0%): 32 ``` libc Full Opt ``` 17549 counts ( 1) 17514 (99.8%, 99.8%): 0 ( 2) 34 ( 0.2%,100.0%): 4 ( 3) 1 ( 0.0%,100.0%): 8 ``` ## `CfgSimplifier pred_count Vec<BasicBlock>` regex Full Opt ``` 6172 counts ( 1) 1248 (20.2%, 20.2%): 3 ( 2) 961 (15.6%, 35.8%): 2 ( 3) 723 (11.7%, 47.5%): 1 ( 4) 440 ( 7.1%, 54.6%): 4 ( 5) 367 ( 5.9%, 60.6%): 6 ( 6) 344 ( 5.6%, 66.2%): 5 ( 7) 270 ( 4.4%, 70.5%): 7 ( 8) 202 ( 3.3%, 73.8%): 9 ( 9) 143 ( 2.3%, 76.1%): 8 ( 10) 136 ( 2.2%, 78.3%): 10 ( 11) 105 ( 1.7%, 80.0%): 13 ( 12) 97 ( 1.6%, 81.6%): 12 ( 13) 92 ( 1.5%, 83.1%): 11 ( 14) 69 ( 1.1%, 84.2%): 16 ( 15) 62 ( 1.0%, 85.2%): 14 ( 16) 54 ( 0.9%, 86.1%): 17 ( 17) 50 ( 0.8%, 86.9%): 18 ( 18) 47 ( 0.8%, 87.7%): 15 ( 19) 39 ( 0.6%, 88.3%): 22 ( 20) 36 ( 0.6%, 88.9%): 19 ( 21) 33 ( 0.5%, 89.4%): 23 ( 22) 29 ( 0.5%, 89.9%): 20 ( 23) 27 ( 0.4%, 90.3%): 25 ( 24) 25 ( 0.4%, 90.7%): 21 ( 25) 19 ( 0.3%, 91.0%): 35 ( 26) 17 ( 0.3%, 91.3%): 30 ( 27) 17 ( 0.3%, 91.6%): 36 ( 28) 16 ( 0.3%, 91.8%): 24 ( 29) 16 ( 0.3%, 92.1%): 27 ( 30) 15 ( 0.2%, 92.3%): 26 ``` libc Full Opt ``` 17549 counts ( 1) 8637 (49.2%, 49.2%): 1 ( 2) 8227 (46.9%, 96.1%): 2 ( 3) 575 ( 3.3%, 99.4%): 3 ( 4) 23 ( 0.1%, 99.5%): 7 ( 5) 19 ( 0.1%, 99.6%): 4 ( 6) 18 ( 0.1%, 99.7%): 6 ( 7) 13 ( 0.1%, 99.8%): 8 ( 8) 11 ( 0.1%, 99.9%): 5 ( 9) 10 ( 0.1%, 99.9%): 11 ( 10) 4 ( 0.0%, 99.9%): 16 ``` ## `collapse_goto_chain terminators SmallVec<[BasicBlock; 1]>` regex Full Opt ``` 173526 counts ( 1) 170534 (98.3%, 98.3%): 0 ( 2) 2779 ( 1.6%, 99.9%): 1 ( 3) 160 ( 0.1%,100.0%): 2 ( 4) 50 ( 0.0%,100.0%): 3 ( 5) 3 ( 0.0%,100.0%): 4 ``` libc Full Opt ``` 1905 counts ( 1) 1892 (99.3%, 99.3%): 0 ( 2) 13 ( 0.7%,100.0%): 1 ``` ## `UsedLocals use_count Vec<Local>` regex Full Opt ``` 2470 counts ( 1) 274 (11.1%, 11.1%): 5 ( 2) 159 ( 6.4%, 17.5%): 4 ( 3) 147 ( 6.0%, 23.5%): 10 ( 4) 145 ( 5.9%, 29.4%): 3 ( 5) 121 ( 4.9%, 34.3%): 8 ( 6) 104 ( 4.2%, 38.5%): 6 ( 7) 102 ( 4.1%, 42.6%): 2 ( 8) 102 ( 4.1%, 46.7%): 7 ( 9) 89 ( 3.6%, 50.3%): 17 ( 10) 87 ( 3.5%, 53.8%): 9 ( 11) 75 ( 3.0%, 56.9%): 11 ( 12) 63 ( 2.6%, 59.4%): 13 ( 13) 53 ( 2.1%, 61.6%): 12 ( 14) 47 ( 1.9%, 63.5%): 14 ( 15) 45 ( 1.8%, 65.3%): 15 ( 16) 39 ( 1.6%, 66.9%): 22 ( 17) 34 ( 1.4%, 68.3%): 21 ( 18) 32 ( 1.3%, 69.6%): 18 ( 19) 32 ( 1.3%, 70.9%): 19 ( 20) 31 ( 1.3%, 72.1%): 27 ( 21) 27 ( 1.1%, 73.2%): 20 ( 22) 26 ( 1.1%, 74.3%): 16 ( 23) 24 ( 1.0%, 75.2%): 24 ( 24) 24 ( 1.0%, 76.2%): 35 ( 25) 23 ( 0.9%, 77.1%): 23 ( 26) 23 ( 0.9%, 78.1%): 25 ( 27) 21 ( 0.9%, 78.9%): 28 ( 28) 20 ( 0.8%, 79.7%): 38 ( 29) 19 ( 0.8%, 80.5%): 26 ( 30) 17 ( 0.7%, 81.2%): 29 ``` libc Full Opt ``` 548 counts ( 1) 372 (67.9%, 67.9%): 2 ( 2) 41 ( 7.5%, 75.4%): 4 ( 3) 36 ( 6.6%, 81.9%): 3 ( 4) 17 ( 3.1%, 85.0%): 5 ( 5) 9 ( 1.6%, 86.7%): 10 ( 6) 9 ( 1.6%, 88.3%): 6 ( 7) 6 ( 1.1%, 89.4%): 9 ( 8) 5 ( 0.9%, 90.3%): 27 ( 9) 5 ( 0.9%, 91.2%): 7 ( 10) 4 ( 0.7%, 92.0%): 1 ```