Skip to content

Instantly share code, notes, and snippets.

@nikomatsakis
Created June 29, 2018 01:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikomatsakis/61b093fdf1cbff1f10bebfe532bdae8e to your computer and use it in GitHub Desktop.
Save nikomatsakis/61b093fdf1cbff1f10bebfe532bdae8e to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: G Pages: 1 -->
<svg width="3805pt" height="914pt"
viewBox="0.00 0.00 3804.50 914.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 910)">
<title>G</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-910 3800.5,-910 3800.5,4 -4,4"/>
<!-- n40 -->
<g id="node1" class="node">
<title>n40</title>
<polygon fill="none" stroke="#000000" points="3796.5,-297 2955.5,-297 2955.5,-261 3796.5,-261 3796.5,-297"/>
<text text-anchor="middle" x="3376" y="-275.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_data_structures::array_vec::ArrayVec&lt;A&gt; as core::iter::traits::Extend&lt;&lt;A as rustc_data_structures::array_vec::Array&gt;::Element&gt;&gt;::extend (8%)</text>
</g>
<!-- n20 -->
<g id="node2" class="node">
<title>n20</title>
<polygon fill="none" stroke="#000000" points="2797,-210 2107,-210 2107,-174 2797,-174 2797,-210"/>
<text text-anchor="middle" x="2452" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::ty::structural_impls::&lt;impl rustc::ty::fold::TypeFoldable&lt;&#39;tcx&gt; for &amp;&#39;tcx rustc::ty::TyS&lt;&#39;tcx&gt;&gt;::super_fold_with (9%)</text>
</g>
<!-- n40&#45;&gt;n20 -->
<g id="edge1" class="edge">
<title>n40&#45;&gt;n20</title>
<path fill="none" stroke="#000000" d="M3162.6789,-260.9815C3098.1846,-255.3907 3027.1885,-249.0935 2962,-243 2854.1833,-232.9219 2733.6256,-220.9008 2636.8036,-211.0613"/>
<polygon fill="#000000" stroke="#000000" points="2636.9179,-207.555 2626.615,-210.0251 2636.2095,-214.519 2636.9179,-207.555"/>
<text text-anchor="middle" x="2971.5" y="-231.8" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n21 -->
<g id="node5" class="node">
<title>n21</title>
<polygon fill="none" stroke="#000000" points="3039,-123 2771,-123 2771,-87 3039,-87 3039,-123"/>
<text text-anchor="middle" x="2905" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::ty::fold::TypeFoldable::fold_with (10%)</text>
</g>
<!-- n40&#45;&gt;n21 -->
<g id="edge36" class="edge">
<title>n40&#45;&gt;n21</title>
<path fill="none" stroke="#000000" d="M3223.5217,-260.9649C3168.5939,-250.7004 3107.3041,-234.7331 3055,-210 3009.4901,-188.4797 2962.8831,-153.4025 2933.9527,-129.7772"/>
<polygon fill="#000000" stroke="#000000" points="2935.8583,-126.8116 2925.9201,-123.1397 2931.3994,-132.2077 2935.8583,-126.8116"/>
<text text-anchor="middle" x="3064.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n89 -->
<g id="node12" class="node">
<title>n89</title>
<polygon fill="none" stroke="#000000" points="3268,-36 2542,-36 2542,0 3268,0 3268,-36"/>
<text text-anchor="middle" x="2905" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc::infer::canonical::canonicalizer::Canonicalizer&lt;&#39;cx, &#39;gcx, &#39;tcx&gt; as rustc::ty::fold::TypeFolder&lt;&#39;gcx, &#39;tcx&gt;&gt;::fold_region (5%)</text>
</g>
<!-- n40&#45;&gt;n89 -->
<g id="edge16" class="edge">
<title>n40&#45;&gt;n89</title>
<path fill="none" stroke="#000000" d="M3352.5588,-260.9594C3304.4562,-224.5342 3190.2488,-141.079 3085,-87 3048.5392,-68.2657 3005.7627,-51.663 2971.0606,-39.4408"/>
<polygon fill="#000000" stroke="#000000" points="2972.0937,-36.0945 2961.4989,-36.1116 2969.7919,-42.7052 2972.0937,-36.0945"/>
<text text-anchor="middle" x="3211.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n20&#45;&gt;n20 -->
<g id="edge18" class="edge">
<title>n20&#45;&gt;n20</title>
<path fill="none" stroke="#000000" d="M2797.0616,-196.3201C2808.4862,-195.1627 2815,-193.7227 2815,-192 2815,-190.8695 2812.1947,-189.8607 2807.0373,-188.9737"/>
<polygon fill="#000000" stroke="#000000" points="2807.4288,-185.4952 2797.0616,-187.6799 2806.5284,-192.4371 2807.4288,-185.4952"/>
<text text-anchor="middle" x="2824.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n20&#45;&gt;n21 -->
<g id="edge3" class="edge">
<title>n20&#45;&gt;n21</title>
<path fill="none" stroke="#000000" d="M2589.494,-173.9966C2624.3485,-168.8072 2661.6442,-162.7111 2696,-156 2740.0996,-147.3855 2788.9072,-135.6046 2828.2587,-125.5357"/>
<polygon fill="#000000" stroke="#000000" points="2829.2388,-128.8976 2838.051,-123.0157 2827.4942,-122.1185 2829.2388,-128.8976"/>
<text text-anchor="middle" x="2768.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n20&#45;&gt;n89 -->
<g id="edge25" class="edge">
<title>n20&#45;&gt;n89</title>
<path fill="none" stroke="#000000" d="M2499.197,-173.8714C2583.1562,-141.6221 2758.1006,-74.4249 2848.3857,-39.7459"/>
<polygon fill="#000000" stroke="#000000" points="2849.8292,-42.9408 2857.9092,-36.0878 2847.3192,-36.4063 2849.8292,-42.9408"/>
<text text-anchor="middle" x="2732.5" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n92 -->
<g id="node3" class="node">
<title>n92</title>
<polygon fill="none" stroke="#000000" points="846,-819 612,-819 612,-783 846,-783 846,-819"/>
<text text-anchor="middle" x="729" y="-797.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::dataflow::do_dataflow (20%)</text>
</g>
<!-- n94 -->
<g id="node4" class="node">
<title>n94</title>
<polygon fill="none" stroke="#000000" points="562,-645 28,-645 28,-609 562,-609 562,-645"/>
<text text-anchor="middle" x="295" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_mir::dataflow::DataflowAnalysis&lt;&#39;a, &#39;tcx, D&gt;&gt;::propagate_bits_into_entry_set_for (7%)</text>
</g>
<!-- n92&#45;&gt;n94 -->
<g id="edge2" class="edge">
<title>n92&#45;&gt;n94</title>
<path fill="none" stroke="#000000" d="M611.9298,-792.1349C513.7664,-782.57 383.2099,-764.1938 342,-732 317.8706,-713.1497 305.7855,-679.2188 299.9728,-655.0308"/>
<polygon fill="#000000" stroke="#000000" points="303.3382,-654.0365 297.7856,-645.0132 296.4993,-655.5297 303.3382,-654.0365"/>
<text text-anchor="middle" x="351.5" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n109 -->
<g id="node6" class="node">
<title>n109</title>
<polygon fill="none" stroke="#000000" points="1148.5,-558 825.5,-558 825.5,-522 1148.5,-522 1148.5,-558"/>
<text text-anchor="middle" x="987" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;alloc::vec::Vec&lt;T&gt; as core::clone::Clone&gt;::clone (5%)</text>
</g>
<!-- n92&#45;&gt;n109 -->
<g id="edge4" class="edge">
<title>n92&#45;&gt;n109</title>
<path fill="none" stroke="#000000" d="M763.6371,-782.838C772.3036,-777.6028 781.3131,-771.5247 789,-765 803.6643,-752.5528 805.5014,-747.4194 817,-732 867.7155,-663.9914 864.053,-632.8763 927,-576 931.9658,-571.5131 937.5732,-567.2901 943.316,-563.4252"/>
<polygon fill="#000000" stroke="#000000" points="945.222,-566.3608 951.7677,-558.0299 941.4555,-560.4605 945.222,-566.3608"/>
<text text-anchor="middle" x="868.5" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n93 -->
<g id="node7" class="node">
<title>n93</title>
<polygon fill="none" stroke="#000000" points="781.5,-732 370.5,-732 370.5,-696 781.5,-696 781.5,-732"/>
<text text-anchor="middle" x="576" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_mir::dataflow::DataflowAnalysis&lt;&#39;a, &#39;tcx, BD&gt;&gt;::propagate (6%)</text>
</g>
<!-- n92&#45;&gt;n93 -->
<g id="edge33" class="edge">
<title>n92&#45;&gt;n93</title>
<path fill="none" stroke="#000000" d="M697.2983,-782.9735C673.9118,-769.6753 641.9008,-751.473 616.6356,-737.1065"/>
<polygon fill="#000000" stroke="#000000" points="618.0841,-733.9039 607.6611,-732.0034 614.6239,-739.989 618.0841,-733.9039"/>
<text text-anchor="middle" x="671.5" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">6%</text>
</g>
<!-- n38 -->
<g id="node8" class="node">
<title>n38</title>
<polygon fill="none" stroke="#000000" points="843.5,-645 580.5,-645 580.5,-609 843.5,-609 843.5,-645"/>
<text text-anchor="middle" x="712" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_data_structures::bitslice::bitwise (18%)</text>
</g>
<!-- n92&#45;&gt;n38 -->
<g id="edge6" class="edge">
<title>n92&#45;&gt;n38</title>
<path fill="none" stroke="#000000" d="M752.4098,-782.685C775.5156,-762.2285 805.448,-727.8022 791,-696 782.7382,-677.8145 767.053,-662.5455 751.8227,-651.0323"/>
<polygon fill="#000000" stroke="#000000" points="753.6228,-648.0161 743.4581,-645.0278 749.5407,-653.7026 753.6228,-648.0161"/>
<text text-anchor="middle" x="803.5" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n21&#45;&gt;n40 -->
<g id="edge27" class="edge">
<title>n21&#45;&gt;n40</title>
<path fill="none" stroke="#000000" d="M2961.3531,-123.0528C2976.9385,-128.4378 2993.7549,-134.6173 3009,-141 3103.2381,-180.4551 3118.6798,-208.942 3215,-243 3231.8602,-248.9616 3250.0732,-254.1567 3267.9763,-258.6044"/>
<polygon fill="#000000" stroke="#000000" points="3267.3376,-262.0508 3277.88,-260.9987 3268.9825,-255.2468 3267.3376,-262.0508"/>
<text text-anchor="middle" x="3146.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n21&#45;&gt;n20 -->
<g id="edge7" class="edge">
<title>n21&#45;&gt;n20</title>
<path fill="none" stroke="#000000" d="M2777.9807,-123.0008C2743.8076,-128.3093 2706.9199,-134.4635 2673,-141 2626.8239,-149.8984 2575.6348,-161.5935 2534.1592,-171.5394"/>
<polygon fill="#000000" stroke="#000000" points="2533.2811,-168.1508 2524.3789,-173.8954 2534.9205,-174.9561 2533.2811,-168.1508"/>
<text text-anchor="middle" x="2682.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n21&#45;&gt;n21 -->
<g id="edge21" class="edge">
<title>n21&#45;&gt;n21</title>
<path fill="none" stroke="#000000" d="M3039.3986,-111.0274C3050.2646,-109.7162 3057,-107.707 3057,-105 3057,-103.2658 3054.2358,-101.818 3049.3922,-100.6567"/>
<polygon fill="#000000" stroke="#000000" points="3049.8412,-97.1831 3039.3986,-98.9726 3048.678,-104.0858 3049.8412,-97.1831"/>
<text text-anchor="middle" x="3066.5" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n21&#45;&gt;n89 -->
<g id="edge11" class="edge">
<title>n21&#45;&gt;n89</title>
<path fill="none" stroke="#000000" d="M2905,-86.9735C2905,-75.1918 2905,-59.5607 2905,-46.1581"/>
<polygon fill="#000000" stroke="#000000" points="2908.5001,-46.0033 2905,-36.0034 2901.5001,-46.0034 2908.5001,-46.0033"/>
<text text-anchor="middle" x="2914.5" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n109&#45;&gt;n109 -->
<g id="edge22" class="edge">
<title>n109&#45;&gt;n109</title>
<path fill="none" stroke="#000000" d="M1148.5452,-545.7174C1159.7056,-544.4077 1166.5,-542.502 1166.5,-540 1166.5,-538.3972 1163.7116,-537.039 1158.7732,-535.9256"/>
<polygon fill="#000000" stroke="#000000" points="1158.9737,-532.413 1148.5452,-534.2826 1157.8635,-539.3244 1158.9737,-532.413"/>
<text text-anchor="middle" x="1176" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n93&#45;&gt;n94 -->
<g id="edge5" class="edge">
<title>n93&#45;&gt;n94</title>
<path fill="none" stroke="#000000" d="M517.7766,-695.9735C472.6584,-682.0046 410.0626,-662.6244 362.7083,-647.9631"/>
<polygon fill="#000000" stroke="#000000" points="363.7366,-644.6176 353.1488,-645.0034 361.6663,-651.3044 363.7366,-644.6176"/>
<text text-anchor="middle" x="462.5" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n93&#45;&gt;n38 -->
<g id="edge43" class="edge">
<title>n93&#45;&gt;n38</title>
<path fill="none" stroke="#000000" d="M604.1793,-695.9735C624.785,-682.792 652.9229,-664.792 675.2871,-650.4855"/>
<polygon fill="#000000" stroke="#000000" points="677.319,-653.3405 683.8568,-645.0034 673.5469,-647.4438 677.319,-653.3405"/>
<text text-anchor="middle" x="662.5" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n0 -->
<g id="node9" class="node">
<title>n0</title>
<polygon fill="none" stroke="#000000" points="844.5,-906 613.5,-906 613.5,-870 844.5,-870 844.5,-906"/>
<text text-anchor="middle" x="729" y="-884.3" font-family="Times,serif" font-size="14.00" fill="#000000">matched `{do_mir_borrowck}` (100%)</text>
</g>
<!-- n0&#45;&gt;n20 -->
<g id="edge46" class="edge">
<title>n0&#45;&gt;n20</title>
<path fill="none" stroke="#000000" d="M613.4878,-885.8356C407.9295,-880.4322 0,-862.0218 0,-801 0,-801 0,-801 0,-279 0,-227.1884 1417.0735,-203.8731 2096.6618,-195.6708"/>
<polygon fill="#000000" stroke="#000000" points="2096.9035,-199.1682 2106.8607,-195.5481 2096.8193,-192.1687 2096.9035,-199.1682"/>
<text text-anchor="middle" x="9.5" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n0&#45;&gt;n92 -->
<g id="edge8" class="edge">
<title>n0&#45;&gt;n92</title>
<path fill="none" stroke="#000000" d="M729,-869.9735C729,-858.1918 729,-842.5607 729,-829.1581"/>
<polygon fill="#000000" stroke="#000000" points="732.5001,-829.0033 729,-819.0034 725.5001,-829.0034 732.5001,-829.0033"/>
<text text-anchor="middle" x="742" y="-840.8" font-family="Times,serif" font-size="14.00" fill="#000000">20%</text>
</g>
<!-- n0&#45;&gt;n109 -->
<g id="edge12" class="edge">
<title>n0&#45;&gt;n109</title>
<path fill="none" stroke="#000000" d="M776.8424,-869.9909C802.482,-858.4711 833.1896,-841.4499 855,-819 892.4923,-780.4086 952.3912,-630.6757 976.4713,-567.9202"/>
<polygon fill="#000000" stroke="#000000" points="979.8539,-568.8729 980.1498,-558.2822 973.314,-566.3768 979.8539,-568.8729"/>
<text text-anchor="middle" x="932.5" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n0&#45;&gt;n38 -->
<g id="edge44" class="edge">
<title>n0&#45;&gt;n38</title>
<path fill="none" stroke="#000000" d="M613.3523,-870.9552C477.988,-846.192 281.7469,-792.3496 361,-696 374.8462,-679.1669 479.0586,-660.0461 570.3638,-646.2086"/>
<polygon fill="#000000" stroke="#000000" points="570.9192,-649.6645 580.2881,-644.7174 569.8791,-642.7422 570.9192,-649.6645"/>
<text text-anchor="middle" x="359.5" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n1 -->
<g id="node20" class="node">
<title>n1</title>
<polygon fill="none" stroke="#000000" points="1290,-819 976,-819 976,-783 1290,-783 1290,-819"/>
<text text-anchor="middle" x="1133" y="-797.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::compute_regions (50%)</text>
</g>
<!-- n0&#45;&gt;n1 -->
<g id="edge42" class="edge">
<title>n0&#45;&gt;n1</title>
<path fill="none" stroke="#000000" d="M844.6179,-870.1893C875.6974,-864.8801 909.222,-858.6782 940,-852 980.0911,-843.3011 1024.3707,-831.7428 1060.3939,-821.8293"/>
<polygon fill="#000000" stroke="#000000" points="1061.621,-825.1213 1070.325,-819.0805 1059.7537,-818.375 1061.621,-825.1213"/>
<text text-anchor="middle" x="1011" y="-840.8" font-family="Times,serif" font-size="14.00" fill="#000000">50%</text>
</g>
<!-- n29 -->
<g id="node10" class="node">
<title>n29</title>
<polygon fill="none" stroke="#000000" points="2454,-645 1802,-645 1802,-609 2454,-609 2454,-645"/>
<text text-anchor="middle" x="2128" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::type_check::_$u7b$$u7b$closure$u7d$$u7d$::h692c0cd3513b7a68 (7%)</text>
</g>
<!-- n29&#45;&gt;n109 -->
<g id="edge9" class="edge">
<title>n29&#45;&gt;n109</title>
<path fill="none" stroke="#000000" d="M1801.767,-609.4289C1798.8316,-609.2847 1795.9087,-609.1417 1793,-609 1609.9313,-600.0829 1563.6054,-606.7785 1381,-591 1332.9314,-586.8465 1219.731,-572.0013 1126.943,-559.3908"/>
<polygon fill="#000000" stroke="#000000" points="1127.2663,-555.9026 1116.8856,-558.0218 1126.3221,-562.8386 1127.2663,-555.9026"/>
<text text-anchor="middle" x="1390.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n12 -->
<g id="node14" class="node">
<title>n12</title>
<polygon fill="none" stroke="#000000" points="2899,-471 2277,-471 2277,-435 2899,-435 2899,-471"/>
<text text-anchor="middle" x="2588" y="-449.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc::ty::ParamEnvAnd&lt;&#39;tcx, Q&gt; as rustc::traits::query::type_op::TypeOp&lt;&#39;gcx, &#39;tcx&gt;&gt;::fully_perform (14%)</text>
</g>
<!-- n29&#45;&gt;n12 -->
<g id="edge29" class="edge">
<title>n29&#45;&gt;n12</title>
<path fill="none" stroke="#000000" d="M2148.0973,-608.8394C2175.3173,-585.2317 2226.3453,-544.3845 2277,-522 2328.9088,-499.0613 2389.1716,-483.4258 2442.7512,-472.9242"/>
<polygon fill="#000000" stroke="#000000" points="2443.5119,-476.3422 2452.6744,-471.0224 2442.1943,-469.4673 2443.5119,-476.3422"/>
<text text-anchor="middle" x="2286.5" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n7 -->
<g id="node11" class="node">
<title>n7</title>
<polygon fill="none" stroke="#000000" points="2704.5,-732 2305.5,-732 2305.5,-696 2704.5,-696 2704.5,-732"/>
<text text-anchor="middle" x="2505" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::type_check_internal (23%)</text>
</g>
<!-- n7&#45;&gt;n20 -->
<g id="edge38" class="edge">
<title>n7&#45;&gt;n20</title>
<path fill="none" stroke="#000000" d="M2502.5743,-695.6986C2498.515,-672.3182 2488.1505,-632.1193 2463,-609 2405.8655,-556.4799 2356.0535,-607.1558 2296,-558 2275.5366,-541.2501 2240,-479.4444 2240,-453 2240,-453 2240,-453 2240,-279 2240,-251.4047 2302.2534,-228.1695 2359.2908,-212.6722"/>
<polygon fill="#000000" stroke="#000000" points="2360.3577,-216.0102 2369.1244,-210.0609 2358.5611,-209.2447 2360.3577,-216.0102"/>
<text text-anchor="middle" x="2252.5" y="-449.3" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n7&#45;&gt;n29 -->
<g id="edge10" class="edge">
<title>n7&#45;&gt;n29</title>
<path fill="none" stroke="#000000" d="M2426.8854,-695.9735C2365.4685,-681.8004 2279.9127,-662.0568 2216.0678,-647.3233"/>
<polygon fill="#000000" stroke="#000000" points="2216.5455,-643.8417 2206.0146,-645.0034 2214.9715,-650.6624 2216.5455,-643.8417"/>
<text text-anchor="middle" x="2348.5" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n76 -->
<g id="node13" class="node">
<title>n76</title>
<polygon fill="none" stroke="#000000" points="3142.5,-645 2711.5,-645 2711.5,-609 3142.5,-609 3142.5,-645"/>
<text text-anchor="middle" x="2927" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::TypeChecker::typeck_mir (11%)</text>
</g>
<!-- n7&#45;&gt;n76 -->
<g id="edge19" class="edge">
<title>n7&#45;&gt;n76</title>
<path fill="none" stroke="#000000" d="M2604.7734,-695.9361C2634.4884,-690.3826 2667.0965,-684.1171 2697,-678 2743.9333,-668.3992 2796.066,-656.9078 2838.8159,-647.2656"/>
<polygon fill="#000000" stroke="#000000" points="2839.6459,-650.6664 2848.6282,-645.0478 2838.1026,-643.8386 2839.6459,-650.6664"/>
<text text-anchor="middle" x="2779" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">11%</text>
</g>
<!-- n7&#45;&gt;n12 -->
<g id="edge40" class="edge">
<title>n7&#45;&gt;n12</title>
<path fill="none" stroke="#000000" d="M2538.571,-695.9917C2605.1784,-659.92 2748.714,-580.3482 2761,-558 2783.5,-517.0727 2735.9854,-490.3378 2685.1019,-474.0915"/>
<polygon fill="#000000" stroke="#000000" points="2685.8258,-470.6531 2675.2396,-471.08 2683.7815,-477.3479 2685.8258,-470.6531"/>
<text text-anchor="middle" x="2750.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n11 -->
<g id="node19" class="node">
<title>n11</title>
<polygon fill="none" stroke="#000000" points="2751.5,-558 2304.5,-558 2304.5,-522 2751.5,-522 2751.5,-558"/>
<text text-anchor="middle" x="2528" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::TypeChecker::prove_predicate (7%)</text>
</g>
<!-- n7&#45;&gt;n11 -->
<g id="edge32" class="edge">
<title>n7&#45;&gt;n11</title>
<path fill="none" stroke="#000000" d="M2507.4179,-695.7078C2511.4316,-665.3436 2519.4976,-604.3226 2524.2531,-568.3464"/>
<polygon fill="#000000" stroke="#000000" points="2527.7738,-568.4195 2525.6145,-558.0471 2520.8341,-567.5022 2527.7738,-568.4195"/>
<text text-anchor="middle" x="2527.5" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n76&#45;&gt;n21 -->
<g id="edge34" class="edge">
<title>n76&#45;&gt;n21</title>
<path fill="none" stroke="#000000" d="M2927,-608.6694C2927,-591.0629 2927,-563.7135 2927,-540 2927,-540 2927,-540 2927,-192 2927,-171.8731 2921.3975,-149.9044 2915.8469,-133.0783"/>
<polygon fill="#000000" stroke="#000000" points="2919.0449,-131.6192 2912.4482,-123.3287 2912.4351,-133.9235 2919.0449,-131.6192"/>
<text text-anchor="middle" x="2936.5" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n76&#45;&gt;n12 -->
<g id="edge13" class="edge">
<title>n76&#45;&gt;n12</title>
<path fill="none" stroke="#000000" d="M2915.1975,-608.6916C2894.5866,-578.3738 2848.9469,-518.1972 2794,-489 2782.7639,-483.0295 2762.2376,-477.6296 2738.3507,-472.9355"/>
<polygon fill="#000000" stroke="#000000" points="2738.7778,-469.4543 2728.3016,-471.0358 2737.4775,-476.3325 2738.7778,-469.4543"/>
<text text-anchor="middle" x="2884.5" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n76&#45;&gt;n11 -->
<g id="edge39" class="edge">
<title>n76&#45;&gt;n11</title>
<path fill="none" stroke="#000000" d="M2784.3928,-608.984C2753.119,-604.0206 2720.3051,-598.0277 2690,-591 2655.7875,-583.0662 2618.3419,-571.4748 2588.0779,-561.3469"/>
<polygon fill="#000000" stroke="#000000" points="2589.1117,-558.0018 2578.5175,-558.1165 2586.8709,-564.6335 2589.1117,-558.0018"/>
<text text-anchor="middle" x="2699.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n54 -->
<g id="node15" class="node">
<title>n54</title>
<polygon fill="none" stroke="#000000" points="2707.5,-297 2304.5,-297 2304.5,-261 2707.5,-261 2707.5,-297"/>
<text text-anchor="middle" x="2506" y="-275.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::infer::canonical::canonicalizer::Canonicalizer::canonicalize (9%)</text>
</g>
<!-- n12&#45;&gt;n54 -->
<g id="edge28" class="edge">
<title>n12&#45;&gt;n54</title>
<path fill="none" stroke="#000000" d="M2489.0089,-434.881C2461.0671,-424.7031 2433.7435,-408.8113 2417,-384 2396.9006,-354.2157 2431.1161,-323.1957 2462.7762,-302.6668"/>
<polygon fill="#000000" stroke="#000000" points="2464.9612,-305.4288 2471.5909,-297.1646 2461.2546,-299.4907 2464.9612,-305.4288"/>
<text text-anchor="middle" x="2426.5" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n13 -->
<g id="node18" class="node">
<title>n13</title>
<polygon fill="none" stroke="#000000" points="2837.5,-384 2444.5,-384 2444.5,-348 2837.5,-348 2837.5,-384"/>
<text text-anchor="middle" x="2641" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::traits::query::type_op::QueryTypeOp::fully_perform_into (7%)</text>
</g>
<!-- n12&#45;&gt;n13 -->
<g id="edge30" class="edge">
<title>n12&#45;&gt;n13</title>
<path fill="none" stroke="#000000" d="M2598.9816,-434.9735C2606.4433,-422.7252 2616.4394,-406.3165 2624.8097,-392.5766"/>
<polygon fill="#000000" stroke="#000000" points="2627.8188,-394.3644 2630.0324,-384.0034 2621.8408,-390.7225 2627.8188,-394.3644"/>
<text text-anchor="middle" x="2626.5" y="-405.8" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n54&#45;&gt;n20 -->
<g id="edge14" class="edge">
<title>n54&#45;&gt;n20</title>
<path fill="none" stroke="#000000" d="M2494.8112,-260.9735C2487.2087,-248.7252 2477.024,-232.3165 2468.4958,-218.5766"/>
<polygon fill="#000000" stroke="#000000" points="2471.4219,-216.654 2463.1745,-210.0034 2465.4744,-220.3456 2471.4219,-216.654"/>
<text text-anchor="middle" x="2491.5" y="-231.8" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n54&#45;&gt;n21 -->
<g id="edge45" class="edge">
<title>n54&#45;&gt;n21</title>
<path fill="none" stroke="#000000" d="M2652.5091,-260.9423C2728.621,-249.2457 2812.0678,-232.068 2843,-210 2869.5398,-191.0657 2886.5853,-156.9146 2895.9552,-132.7063"/>
<polygon fill="#000000" stroke="#000000" points="2899.3526,-133.6072 2899.5062,-123.0134 2892.7798,-131.1991 2899.3526,-133.6072"/>
<text text-anchor="middle" x="2883.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n3 -->
<g id="node16" class="node">
<title>n3</title>
<polygon fill="none" stroke="#000000" points="1784,-645 1024,-645 1024,-609 1784,-609 1784,-645"/>
<text text-anchor="middle" x="1404" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::RegionInferenceContext::solve::_$u7b$$u7b$closure$u7d$$u7d$::h25647962b2fd2127 (9%)</text>
</g>
<!-- n3&#45;&gt;n109 -->
<g id="edge17" class="edge">
<title>n3&#45;&gt;n109</title>
<path fill="none" stroke="#000000" d="M1317.5973,-608.9735C1249.2448,-594.7129 1153.8614,-574.8128 1083.1069,-560.0511"/>
<polygon fill="#000000" stroke="#000000" points="1083.7961,-556.6196 1073.292,-558.0034 1082.3663,-563.472 1083.7961,-556.6196"/>
<text text-anchor="middle" x="1229.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n104 -->
<g id="node17" class="node">
<title>n104</title>
<polygon fill="none" stroke="#000000" points="1604,-558 1204,-558 1204,-522 1604,-522 1604,-558"/>
<text text-anchor="middle" x="1404" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_data_structures::bitvec::SparseBitMatrix&lt;R, C&gt;&gt;::merge (8%)</text>
</g>
<!-- n3&#45;&gt;n104 -->
<g id="edge15" class="edge">
<title>n3&#45;&gt;n104</title>
<path fill="none" stroke="#000000" d="M1404,-608.9735C1404,-597.1918 1404,-581.5607 1404,-568.1581"/>
<polygon fill="#000000" stroke="#000000" points="1407.5001,-568.0033 1404,-558.0034 1400.5001,-568.0034 1407.5001,-568.0033"/>
<text text-anchor="middle" x="1413.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n13&#45;&gt;n54 -->
<g id="edge20" class="edge">
<title>n13&#45;&gt;n54</title>
<path fill="none" stroke="#000000" d="M2613.0279,-347.9735C2592.5737,-334.792 2564.6427,-316.792 2542.443,-302.4855"/>
<polygon fill="#000000" stroke="#000000" points="2544.2379,-299.4784 2533.9363,-297.0034 2540.446,-305.3624 2544.2379,-299.4784"/>
<text text-anchor="middle" x="2590.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n11&#45;&gt;n12 -->
<g id="edge23" class="edge">
<title>n11&#45;&gt;n12</title>
<path fill="none" stroke="#000000" d="M2540.432,-521.9735C2548.8792,-509.7252 2560.1955,-493.3165 2569.6713,-479.5766"/>
<polygon fill="#000000" stroke="#000000" points="2572.7878,-481.2226 2575.5839,-471.0034 2567.0253,-477.2484 2572.7878,-481.2226"/>
<text text-anchor="middle" x="2570.5" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">6%</text>
</g>
<!-- n1&#45;&gt;n7 -->
<g id="edge26" class="edge">
<title>n1&#45;&gt;n7</title>
<path fill="none" stroke="#000000" d="M1290.0515,-791.0412C1537.5228,-775.3488 2018.464,-744.8518 2295.2355,-727.3014"/>
<polygon fill="#000000" stroke="#000000" points="2295.6436,-730.7826 2305.4021,-726.6567 2295.2006,-723.7967 2295.6436,-730.7826"/>
<text text-anchor="middle" x="1914" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">23%</text>
</g>
<!-- n95 -->
<g id="node21" class="node">
<title>n95</title>
<polygon fill="none" stroke="#000000" points="1251,-732 963,-732 963,-696 1251,-696 1251,-732"/>
<text text-anchor="middle" x="1107" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::util::liveness::liveness_of_locals (12%)</text>
</g>
<!-- n1&#45;&gt;n95 -->
<g id="edge24" class="edge">
<title>n1&#45;&gt;n95</title>
<path fill="none" stroke="#000000" d="M1127.6128,-782.9735C1124.0569,-771.0751 1119.3278,-755.2508 1115.2963,-741.7606"/>
<polygon fill="#000000" stroke="#000000" points="1118.5972,-740.5825 1112.3803,-732.0034 1111.8903,-742.5869 1118.5972,-740.5825"/>
<text text-anchor="middle" x="1134" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">12%</text>
</g>
<!-- n2 -->
<g id="node22" class="node">
<title>n2</title>
<polygon fill="none" stroke="#000000" points="1722.5,-732 1269.5,-732 1269.5,-696 1722.5,-696 1722.5,-732"/>
<text text-anchor="middle" x="1496" y="-710.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::RegionInferenceContext::solve (9%)</text>
</g>
<!-- n1&#45;&gt;n2 -->
<g id="edge35" class="edge">
<title>n1&#45;&gt;n2</title>
<path fill="none" stroke="#000000" d="M1208.2138,-782.9735C1267.2283,-768.8296 1349.3898,-749.138 1410.8229,-734.4144"/>
<polygon fill="#000000" stroke="#000000" points="1411.9737,-737.7377 1420.8825,-732.0034 1410.3421,-730.9305 1411.9737,-737.7377"/>
<text text-anchor="middle" x="1345.5" y="-753.8" font-family="Times,serif" font-size="14.00" fill="#000000">9%</text>
</g>
<!-- n95&#45;&gt;n109 -->
<g id="edge41" class="edge">
<title>n95&#45;&gt;n109</title>
<path fill="none" stroke="#000000" d="M1058.355,-695.9232C1035.513,-684.8241 1010.2337,-668.2122 996,-645 981.9452,-622.0795 981.0607,-590.8741 982.8573,-568.4481"/>
<polygon fill="#000000" stroke="#000000" points="986.3678,-568.5245 983.9087,-558.2191 979.4045,-567.8088 986.3678,-568.5245"/>
<text text-anchor="middle" x="1005.5" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n95&#45;&gt;n38 -->
<g id="edge31" class="edge">
<title>n95&#45;&gt;n38</title>
<path fill="none" stroke="#000000" d="M1030.2885,-695.9665C987.5657,-686.0265 933.3853,-673.5909 885,-663 860.8993,-657.7247 834.8682,-652.2111 810.498,-647.1296"/>
<polygon fill="#000000" stroke="#000000" points="811.0322,-643.6658 800.5289,-645.0556 809.6064,-650.5191 811.0322,-643.6658"/>
<text text-anchor="middle" x="955.5" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n2&#45;&gt;n3 -->
<g id="edge37" class="edge">
<title>n2&#45;&gt;n3</title>
<path fill="none" stroke="#000000" d="M1476.9375,-695.9735C1463.4918,-683.2586 1445.3051,-666.0603 1430.4561,-652.0183"/>
<polygon fill="#000000" stroke="#000000" points="1432.7086,-649.3312 1423.038,-645.0034 1427.899,-654.4173 1432.7086,-649.3312"/>
<text text-anchor="middle" x="1464.5" y="-666.8" font-family="Times,serif" font-size="14.00" fill="#000000">9%</text>
</g>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment