Skip to content

Instantly share code, notes, and snippets.

@nikomatsakis
Created June 28, 2018 17:24
Show Gist options
  • Save nikomatsakis/fa27738b52aa06bda9448553242e7404 to your computer and use it in GitHub Desktop.
Save nikomatsakis/fa27738b52aa06bda9448553242e7404 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="3249pt" height="956pt"
viewBox="0.00 0.00 3249.00 956.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 952)">
<title>G</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-952 3245,-952 3245,4 -4,4"/>
<!-- n1 -->
<g id="node1" class="node">
<title>n1</title>
<polygon fill="none" stroke="#000000" points="1581,-861 1267,-861 1267,-825 1581,-825 1581,-861"/>
<text text-anchor="middle" x="1424" y="-839.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::compute_regions (59%)</text>
</g>
<!-- n93 -->
<g id="node2" class="node">
<title>n93</title>
<polygon fill="none" stroke="#000000" points="938.5,-753 483.5,-753 483.5,-717 938.5,-717 938.5,-753"/>
<text text-anchor="middle" x="711" y="-731.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::constraint_generation::generate_constraints (10%)</text>
</g>
<!-- n1&#45;&gt;n93 -->
<g id="edge1" class="edge">
<title>n1&#45;&gt;n93</title>
<path fill="none" stroke="#000000" d="M1305.0612,-824.984C1176.5699,-805.5211 972.5162,-774.6125 840.173,-754.5662"/>
<polygon fill="#000000" stroke="#000000" points="840.3895,-751.0591 829.9781,-753.0219 839.3411,-757.9802 840.3895,-751.0591"/>
<text text-anchor="middle" x="1186" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">10%</text>
</g>
<!-- n2 -->
<g id="node3" class="node">
<title>n2</title>
<polygon fill="none" stroke="#000000" points="1969.5,-753 1570.5,-753 1570.5,-717 1969.5,-717 1969.5,-753"/>
<text text-anchor="middle" x="1770" y="-731.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::type_check_internal (24%)</text>
</g>
<!-- n1&#45;&gt;n2 -->
<g id="edge28" class="edge">
<title>n1&#45;&gt;n2</title>
<path fill="none" stroke="#000000" d="M1481.9126,-824.9232C1542.7551,-805.9319 1638.3545,-776.0917 1702.5568,-756.0516"/>
<polygon fill="#000000" stroke="#000000" points="1703.6842,-759.3664 1712.1871,-753.0456 1701.5984,-752.6843 1703.6842,-759.3664"/>
<text text-anchor="middle" x="1661" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">24%</text>
</g>
<!-- n69 -->
<g id="node16" class="node">
<title>n69</title>
<polygon fill="none" stroke="#000000" points="2669,-699 2381,-699 2381,-663 2669,-663 2669,-699"/>
<text text-anchor="middle" x="2525" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::util::liveness::liveness_of_locals (11%)</text>
</g>
<!-- n1&#45;&gt;n69 -->
<g id="edge45" class="edge">
<title>n1&#45;&gt;n69</title>
<path fill="none" stroke="#000000" d="M1552.2635,-824.9961C1592.5208,-819.2983 1637.12,-812.9376 1678,-807 1932.1667,-770.0837 2229.0184,-725.6115 2395.196,-700.5931"/>
<polygon fill="#000000" stroke="#000000" points="2396.0931,-703.9976 2405.4605,-699.0475 2395.0508,-697.0756 2396.0931,-703.9976"/>
<text text-anchor="middle" x="1923" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">11%</text>
</g>
<!-- n57 -->
<g id="node21" class="node">
<title>n57</title>
<polygon fill="none" stroke="#000000" points="488,-645 0,-645 0,-609 488,-609 488,-645"/>
<text text-anchor="middle" x="244" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::values::RegionValues::add_element (13%)</text>
</g>
<!-- n1&#45;&gt;n57 -->
<g id="edge44" class="edge">
<title>n1&#45;&gt;n57</title>
<path fill="none" stroke="#000000" d="M1266.8769,-837.1167C1032.0044,-826.8513 601.3101,-801.9312 455,-753 385.5941,-729.7882 314.4701,-681.1153 275.0893,-651.5213"/>
<polygon fill="#000000" stroke="#000000" points="276.7922,-648.4194 266.7134,-645.1534 272.5557,-653.9918 276.7922,-648.4194"/>
<text text-anchor="middle" x="464.5" y="-731.3" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n94 -->
<g id="node22" class="node">
<title>n94</title>
<polygon fill="none" stroke="#000000" points="1504.5,-753 1051.5,-753 1051.5,-717 1504.5,-717 1504.5,-753"/>
<text text-anchor="middle" x="1278" y="-731.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::RegionInferenceContext::solve (7%)</text>
</g>
<!-- n1&#45;&gt;n94 -->
<g id="edge42" class="edge">
<title>n1&#45;&gt;n94</title>
<path fill="none" stroke="#000000" d="M1399.5629,-824.9232C1375.244,-806.9339 1337.7657,-779.2103 1310.8533,-759.3024"/>
<polygon fill="#000000" stroke="#000000" points="1312.6378,-756.269 1302.5168,-753.1357 1308.4749,-761.8966 1312.6378,-756.269"/>
<text text-anchor="middle" x="1381.5" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n93&#45;&gt;n57 -->
<g id="edge35" class="edge">
<title>n93&#45;&gt;n57</title>
<path fill="none" stroke="#000000" d="M633.0976,-716.984C550.0129,-697.7696 418.692,-667.3999 331.9482,-647.3392"/>
<polygon fill="#000000" stroke="#000000" points="332.6544,-643.9102 322.1229,-645.067 331.0771,-650.7302 332.6544,-643.9102"/>
<text text-anchor="middle" x="556.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n55 -->
<g id="node4" class="node">
<title>n55</title>
<polygon fill="none" stroke="#000000" points="1436,-645 1012,-645 1012,-609 1436,-609 1436,-645"/>
<text text-anchor="middle" x="1224" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::TypeChecker::typeck_mir (9%)</text>
</g>
<!-- n2&#45;&gt;n55 -->
<g id="edge2" class="edge">
<title>n2&#45;&gt;n55</title>
<path fill="none" stroke="#000000" d="M1678.9193,-716.984C1581.2869,-697.6721 1426.6851,-667.0916 1325.2871,-647.0348"/>
<polygon fill="#000000" stroke="#000000" points="1325.8277,-643.574 1315.3386,-645.067 1324.4693,-650.441 1325.8277,-643.574"/>
<text text-anchor="middle" x="1586.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">9%</text>
</g>
<!-- n26 -->
<g id="node14" class="node">
<title>n26</title>
<polygon fill="none" stroke="#000000" points="2157.5,-645 1454.5,-645 1454.5,-609 2157.5,-609 2157.5,-645"/>
<text text-anchor="middle" x="1806" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_mir::borrow_check::nll::type_check::TypeVerifier&lt;&#39;a, &#39;b, &#39;gcx, &#39;tcx&gt; as rustc::mir::visit::Visitor&lt;&#39;tcx&gt;&gt;::visit_mir (7%)</text>
</g>
<!-- n2&#45;&gt;n26 -->
<g id="edge47" class="edge">
<title>n2&#45;&gt;n26</title>
<path fill="none" stroke="#000000" d="M1776.1069,-716.6793C1781.7784,-699.6649 1790.3011,-674.0967 1796.797,-654.6091"/>
<polygon fill="#000000" stroke="#000000" points="1800.1413,-655.6438 1799.9833,-645.0502 1793.5005,-653.4302 1800.1413,-655.6438"/>
<text text-anchor="middle" x="1802.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n3 -->
<g id="node18" class="node">
<title>n3</title>
<polygon fill="none" stroke="#000000" points="2828,-645 2176,-645 2176,-609 2828,-609 2828,-645"/>
<text text-anchor="middle" x="2502" 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>
<!-- n2&#45;&gt;n3 -->
<g id="edge17" class="edge">
<title>n2&#45;&gt;n3</title>
<path fill="none" stroke="#000000" d="M1892.1082,-716.984C2024.1558,-697.5016 2233.9349,-666.5506 2369.793,-646.5059"/>
<polygon fill="#000000" stroke="#000000" points="2370.4693,-649.9441 2379.8513,-645.0219 2369.4476,-643.0191 2370.4693,-649.9441"/>
<text text-anchor="middle" x="2253.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n10 -->
<g id="node5" class="node">
<title>n10</title>
<polygon fill="none" stroke="#000000" points="2590,-384 2322,-384 2322,-348 2590,-348 2590,-384"/>
<text text-anchor="middle" x="2456" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::ty::fold::TypeFoldable::fold_with (11%)</text>
</g>
<!-- n55&#45;&gt;n10 -->
<g id="edge36" class="edge">
<title>n55&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M1436.0773,-609.5239C1439.4081,-609.341 1442.7174,-609.1661 1446,-609 1544.8937,-603.9965 2241.5341,-617.2919 2337,-591 2365.5936,-583.1252 2376.3381,-581.0508 2395,-558 2434.4954,-509.216 2448.5939,-434.4736 2453.4937,-394.1422"/>
<polygon fill="#000000" stroke="#000000" points="2456.9729,-394.5227 2454.5985,-384.1974 2450.0157,-393.7498 2456.9729,-394.5227"/>
<text text-anchor="middle" x="2440.5" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n6 -->
<g id="node9" class="node">
<title>n6</title>
<polygon fill="none" stroke="#000000" points="2386,-558 1764,-558 1764,-522 2386,-522 2386,-558"/>
<text text-anchor="middle" x="2075" y="-536.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 (15%)</text>
</g>
<!-- n55&#45;&gt;n6 -->
<g id="edge10" class="edge">
<title>n55&#45;&gt;n6</title>
<path fill="none" stroke="#000000" d="M1400.0696,-608.9999C1542.6787,-594.4206 1743.0691,-573.9342 1888.4225,-559.0743"/>
<polygon fill="#000000" stroke="#000000" points="1889.1991,-562.5133 1898.7913,-558.0143 1888.4871,-555.5495 1889.1991,-562.5133"/>
<text text-anchor="middle" x="1709.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n53 -->
<g id="node13" class="node">
<title>n53</title>
<polygon fill="none" stroke="#000000" points="1876,-36 1504,-36 1504,0 1876,0 1876,-36"/>
<text text-anchor="middle" x="1690" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;std::collections::hash::map::HashMap&lt;K, V, S&gt;&gt;::insert (14%)</text>
</g>
<!-- n55&#45;&gt;n53 -->
<g id="edge22" class="edge">
<title>n55&#45;&gt;n53</title>
<path fill="none" stroke="#000000" d="M1312.6158,-608.976C1374.0997,-593.8353 1445,-569.8947 1445,-540 1445,-540 1445,-540 1445,-105 1445,-75.0622 1510.7843,-52.7904 1574.1771,-38.2785"/>
<polygon fill="#000000" stroke="#000000" points="1575.3221,-41.6092 1584.3203,-36.016 1573.7982,-34.7771 1575.3221,-41.6092"/>
<text text-anchor="middle" x="1454.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n10&#45;&gt;n10 -->
<g id="edge3" class="edge">
<title>n10&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M2590.3986,-372.0274C2601.2646,-370.7162 2608,-368.707 2608,-366 2608,-364.2658 2605.2358,-362.818 2600.3922,-361.6567"/>
<polygon fill="#000000" stroke="#000000" points="2600.8412,-358.1831 2590.3986,-359.9726 2599.678,-365.0858 2600.8412,-358.1831"/>
<text text-anchor="middle" x="2617.5" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n11 -->
<g id="node6" class="node">
<title>n11</title>
<polygon fill="none" stroke="#000000" points="2918.5,-297 2077.5,-297 2077.5,-261 2918.5,-261 2918.5,-297"/>
<text text-anchor="middle" x="2498" 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>
<!-- n10&#45;&gt;n11 -->
<g id="edge21" class="edge">
<title>n10&#45;&gt;n11</title>
<path fill="none" stroke="#000000" d="M2452.8745,-347.7311C2451.9828,-337.6324 2452.2985,-325.1196 2457,-315 2458.7025,-311.3355 2460.9759,-307.8928 2463.5828,-304.6995"/>
<polygon fill="#000000" stroke="#000000" points="2466.2683,-306.9543 2470.6144,-297.2918 2461.1914,-302.135 2466.2683,-306.9543"/>
<text text-anchor="middle" x="2466.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n9 -->
<g id="node7" class="node">
<title>n9</title>
<polygon fill="none" stroke="#000000" points="2718.5,-123 2021.5,-123 2021.5,-87 2718.5,-87 2718.5,-123"/>
<text text-anchor="middle" x="2370" y="-101.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 (13%)</text>
</g>
<!-- n10&#45;&gt;n9 -->
<g id="edge38" class="edge">
<title>n10&#45;&gt;n9</title>
<path fill="none" stroke="#000000" d="M2590.0915,-355.2962C2721.7465,-343.394 2905.998,-322.4522 2928,-297 2938.4635,-284.8957 2936.7278,-274.4099 2928,-261 2856.1459,-150.5993 2783.9233,-176.239 2657,-141 2633.3993,-134.4475 2608.3733,-129.085 2583.322,-124.697"/>
<polygon fill="#000000" stroke="#000000" points="2583.793,-121.2269 2573.3477,-123.0005 2582.6193,-128.1278 2583.793,-121.2269"/>
<text text-anchor="middle" x="2923.5" y="-231.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n13 -->
<g id="node8" class="node">
<title>n13</title>
<polygon fill="none" stroke="#000000" points="3170,-36 2854,-36 2854,0 3170,0 3170,-36"/>
<text text-anchor="middle" x="3012" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;std::collections::hash::set::HashSet&lt;T, S&gt;&gt;::get (7%)</text>
</g>
<!-- n10&#45;&gt;n13 -->
<g id="edge7" class="edge">
<title>n10&#45;&gt;n13</title>
<path fill="none" stroke="#000000" d="M2590.2078,-358.1012C2687.4923,-351.6078 2810.3304,-341.6088 2860,-330 2899.4615,-320.7771 2918.3371,-327.5182 2945,-297 3008.6038,-224.1994 3014.2786,-101.4454 3013.3014,-46.3079"/>
<polygon fill="#000000" stroke="#000000" points="3016.7977,-46.12 3013.0324,-36.2168 3009.8002,-46.3065 3016.7977,-46.12"/>
<text text-anchor="middle" x="3010.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n8 -->
<g id="node15" class="node">
<title>n8</title>
<polygon fill="none" stroke="#000000" points="2679,-210 1977,-210 1977,-174 2679,-174 2679,-210"/>
<text text-anchor="middle" x="2328" y="-188.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_ty (9%)</text>
</g>
<!-- n10&#45;&gt;n8 -->
<g id="edge24" class="edge">
<title>n10&#45;&gt;n8</title>
<path fill="none" stroke="#000000" d="M2321.9159,-351.8194C2210.6088,-338.6618 2067.7299,-317.9973 2050,-297 2012.5651,-252.6663 2061.6801,-227.0207 2128.5223,-212.1996"/>
<polygon fill="#000000" stroke="#000000" points="2129.4442,-215.5821 2138.5047,-210.0905 2127.9971,-208.7333 2129.4442,-215.5821"/>
<text text-anchor="middle" x="2059.5" y="-275.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n11&#45;&gt;n10 -->
<g id="edge39" class="edge">
<title>n11&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M2490.6944,-297.1373C2486.6046,-306.97 2481.2781,-319.2708 2476,-330 2474.5482,-332.9511 2472.9724,-336.004 2471.3641,-339.0269"/>
<polygon fill="#000000" stroke="#000000" points="2468.2541,-337.4193 2466.5327,-347.8733 2474.3976,-340.7745 2468.2541,-337.4193"/>
<text text-anchor="middle" x="2491.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n11&#45;&gt;n9 -->
<g id="edge4" class="edge">
<title>n11&#45;&gt;n9</title>
<path fill="none" stroke="#000000" d="M2593.2044,-260.9758C2656.5641,-244.674 2722.3601,-216.6152 2688,-174 2669.4839,-151.0354 2613.1517,-135.3243 2552.9395,-124.7706"/>
<polygon fill="#000000" stroke="#000000" points="2553.2984,-121.2814 2542.8532,-123.0556 2552.125,-128.1824 2553.2984,-121.2814"/>
<text text-anchor="middle" x="2706.5" y="-188.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n11&#45;&gt;n13 -->
<g id="edge29" class="edge">
<title>n11&#45;&gt;n13</title>
<path fill="none" stroke="#000000" d="M2620.7635,-260.9916C2639.9667,-256.2808 2659.2987,-250.3789 2677,-243 2801.5557,-191.0779 2928.3233,-89.9163 2983.4643,-43.0028"/>
<polygon fill="#000000" stroke="#000000" points="2986.0632,-45.385 2991.3799,-36.2208 2981.5088,-40.0692 2986.0632,-45.385"/>
<text text-anchor="middle" x="2862.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n11&#45;&gt;n8 -->
<g id="edge19" class="edge">
<title>n11&#45;&gt;n8</title>
<path fill="none" stroke="#000000" d="M2462.7759,-260.9735C2436.5629,-247.5587 2400.5984,-229.1533 2372.4137,-214.7294"/>
<polygon fill="#000000" stroke="#000000" points="2373.6755,-211.4434 2363.179,-210.0034 2370.4865,-217.6748 2373.6755,-211.4434"/>
<text text-anchor="middle" x="2432.5" y="-231.8" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n9&#45;&gt;n10 -->
<g id="edge43" class="edge">
<title>n9&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M2206.7429,-123.0257C2102.4917,-136.2246 1983.9599,-155.0673 1968,-174 1957.6876,-186.2333 1962.9543,-194.8164 1968,-210 1991.9845,-282.175 2017.6025,-306.6956 2090,-330 2130.3711,-342.9952 2227.4063,-352.1978 2311.4226,-358.0444"/>
<polygon fill="#000000" stroke="#000000" points="2311.3836,-361.5498 2321.5993,-358.7407 2311.8616,-354.5661 2311.3836,-361.5498"/>
<text text-anchor="middle" x="1989.5" y="-231.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n9&#45;&gt;n9 -->
<g id="edge48" class="edge">
<title>n9&#45;&gt;n9</title>
<path fill="none" stroke="#000000" d="M2718.7985,-109.2786C2730.0791,-108.1284 2736.5,-106.7021 2736.5,-105 2736.5,-103.9096 2733.8648,-102.9324 2729.005,-102.0684"/>
<polygon fill="#000000" stroke="#000000" points="2729.1705,-98.56 2718.7985,-100.7214 2728.2545,-105.4998 2729.1705,-98.56"/>
<text text-anchor="middle" x="2746" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n9&#45;&gt;n13 -->
<g id="edge5" class="edge">
<title>n9&#45;&gt;n13</title>
<path fill="none" stroke="#000000" d="M2503.0228,-86.9735C2609.8703,-72.4942 2759.6199,-52.201 2869.022,-37.3755"/>
<polygon fill="#000000" stroke="#000000" points="2869.7082,-40.8146 2879.1476,-36.0034 2868.7681,-33.878 2869.7082,-40.8146"/>
<text text-anchor="middle" x="2738.5" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n9&#45;&gt;n53 -->
<g id="edge9" class="edge">
<title>n9&#45;&gt;n53</title>
<path fill="none" stroke="#000000" d="M2229.1036,-86.9735C2115.7039,-72.4651 1956.6794,-52.1193 1840.7412,-37.286"/>
<polygon fill="#000000" stroke="#000000" points="1841.0793,-33.8008 1830.7159,-36.0034 1840.1909,-40.7442 1841.0793,-33.8008"/>
<text text-anchor="middle" x="2079.5" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n9&#45;&gt;n8 -->
<g id="edge13" class="edge">
<title>n9&#45;&gt;n8</title>
<path fill="none" stroke="#000000" d="M2362.6944,-123.1373C2358.6046,-132.97 2353.2781,-145.2708 2348,-156 2346.5482,-158.9511 2344.9724,-162.004 2343.3641,-165.0269"/>
<polygon fill="#000000" stroke="#000000" points="2340.2541,-163.4193 2338.5327,-173.8733 2346.3976,-166.7745 2340.2541,-163.4193"/>
<text text-anchor="middle" x="2363.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n7 -->
<g id="node10" class="node">
<title>n7</title>
<polygon fill="none" stroke="#000000" points="2280,-471 1870,-471 1870,-435 2280,-435 2280,-471"/>
<text text-anchor="middle" x="2075" y="-449.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::infer::canonical::canonicalizer::Canonicalizer::canonicalize (11%)</text>
</g>
<!-- n6&#45;&gt;n7 -->
<g id="edge6" class="edge">
<title>n6&#45;&gt;n7</title>
<path fill="none" stroke="#000000" d="M2075,-521.9735C2075,-510.1918 2075,-494.5607 2075,-481.1581"/>
<polygon fill="#000000" stroke="#000000" points="2078.5001,-481.0033 2075,-471.0034 2071.5001,-481.0034 2078.5001,-481.0033"/>
<text text-anchor="middle" x="2088" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">11%</text>
</g>
<!-- n6&#45;&gt;n53 -->
<g id="edge25" class="edge">
<title>n6&#45;&gt;n53</title>
<path fill="none" stroke="#000000" d="M1929.4277,-521.9682C1856.2854,-508.6888 1783,-486.92 1783,-453 1783,-453 1783,-453 1783,-322.5 1783,-216.0854 1730.4051,-97.5171 1704.3203,-45.2561"/>
<polygon fill="#000000" stroke="#000000" points="1707.4182,-43.6263 1699.7769,-36.2873 1701.1737,-46.7897 1707.4182,-43.6263"/>
<text text-anchor="middle" x="1791.5" y="-275.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n7&#45;&gt;n10 -->
<g id="edge34" class="edge">
<title>n7&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M2153.9434,-434.9735C2216.1396,-420.7713 2302.8315,-400.9755 2367.3958,-386.2325"/>
<polygon fill="#000000" stroke="#000000" points="2368.1878,-389.6418 2377.1577,-384.0034 2366.6294,-382.8174 2368.1878,-389.6418"/>
<text text-anchor="middle" x="2297.5" y="-405.8" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n7&#45;&gt;n8 -->
<g id="edge33" class="edge">
<title>n7&#45;&gt;n8</title>
<path fill="none" stroke="#000000" d="M2064.1585,-434.7213C2039.06,-389.9138 1983.8916,-274.8593 2049,-228 2057.0623,-222.1974 2088.1775,-216.4472 2126.8792,-211.302"/>
<polygon fill="#000000" stroke="#000000" points="2127.4052,-214.7632 2136.8726,-210.0072 2126.5058,-207.8212 2127.4052,-214.7632"/>
<text text-anchor="middle" x="2030.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n0 -->
<g id="node11" class="node">
<title>n0</title>
<polygon fill="none" stroke="#000000" points="3054.5,-948 2823.5,-948 2823.5,-912 3054.5,-912 3054.5,-948"/>
<text text-anchor="middle" x="2939" y="-926.3" font-family="Times,serif" font-size="14.00" fill="#000000">matched `{do_mir_borrowck}` (100%)</text>
</g>
<!-- n0&#45;&gt;n1 -->
<g id="edge32" class="edge">
<title>n0&#45;&gt;n1</title>
<path fill="none" stroke="#000000" d="M2823.2614,-923.3536C2557.2955,-908.0803 1901.6386,-870.4287 1591.6018,-852.6247"/>
<polygon fill="#000000" stroke="#000000" points="1591.3567,-849.1049 1581.1724,-852.0257 1590.9553,-856.0934 1591.3567,-849.1049"/>
<text text-anchor="middle" x="2285" y="-882.8" font-family="Times,serif" font-size="14.00" fill="#000000">59%</text>
</g>
<!-- n0&#45;&gt;n10 -->
<g id="edge18" class="edge">
<title>n0&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M2917.4815,-911.6947C2912.812,-906.5016 2908.5204,-900.4795 2906,-894 2877.4815,-820.6846 2896.7293,-795.1185 2906,-717 2908.9092,-692.4863 2909.4164,-685.7495 2919,-663 2940.399,-612.2033 2969.7364,-610.9646 2985,-558 2989.4306,-542.6257 2994.581,-534.8143 2985,-522 2936.8115,-457.5492 2723.8369,-410.4796 2583.2504,-385.7526"/>
<polygon fill="#000000" stroke="#000000" points="2583.709,-382.2799 2573.2565,-384.011 2582.5071,-389.1759 2583.709,-382.2799"/>
<text text-anchor="middle" x="2965.5" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n0&#45;&gt;n9 -->
<g id="edge46" class="edge">
<title>n0&#45;&gt;n9</title>
<path fill="none" stroke="#000000" d="M2938.8036,-911.7965C2938.9174,-874.3209 2941.8707,-786.257 2965,-717 2986.697,-652.032 3042,-651.9953 3042,-583.5 3042,-583.5 3042,-583.5 3042,-322.5 3042,-219.8139 2958.6425,-216.137 2865,-174 2816.7553,-152.291 2702.1568,-135.6076 2595.3653,-124.0878"/>
<polygon fill="#000000" stroke="#000000" points="2595.7035,-120.6041 2585.3887,-123.024 2594.9612,-127.5647 2595.7035,-120.6041"/>
<text text-anchor="middle" x="3051.5" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n0&#45;&gt;n13 -->
<g id="edge12" class="edge">
<title>n0&#45;&gt;n13</title>
<path fill="none" stroke="#000000" d="M3054.5151,-915.7974C3132.7677,-902.8305 3222,-879.9446 3222,-843 3222,-843 3222,-843 3222,-105 3222,-77.5341 3159.913,-54.2151 3103.2573,-38.6536"/>
<polygon fill="#000000" stroke="#000000" points="3104.0576,-35.2446 3093.4921,-36.0314 3102.2422,-42.0051 3104.0576,-35.2446"/>
<text text-anchor="middle" x="3231.5" y="-449.3" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n45 -->
<g id="node12" class="node">
<title>n45</title>
<polygon fill="none" stroke="#000000" points="2975.5,-558 2712.5,-558 2712.5,-522 2975.5,-522 2975.5,-558"/>
<text text-anchor="middle" x="2844" y="-536.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_data_structures::bitslice::bitwise (13%)</text>
</g>
<!-- n0&#45;&gt;n45 -->
<g id="edge8" class="edge">
<title>n0&#45;&gt;n45</title>
<path fill="none" stroke="#000000" d="M2944.6913,-911.968C2959.7,-860.9154 2995.6499,-712.3879 2942,-609 2931.8693,-589.4773 2913.3967,-574.3128 2895.1981,-563.2359"/>
<polygon fill="#000000" stroke="#000000" points="2896.7365,-560.083 2886.3241,-558.1254 2893.2431,-566.149 2896.7365,-560.083"/>
<text text-anchor="middle" x="2979.5" y="-731.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n65 -->
<g id="node17" class="node">
<title>n65</title>
<polygon fill="none" stroke="#000000" points="3207,-807 2973,-807 2973,-771 3207,-771 3207,-807"/>
<text text-anchor="middle" x="3090" y="-785.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::dataflow::do_dataflow (17%)</text>
</g>
<!-- n0&#45;&gt;n65 -->
<g id="edge16" class="edge">
<title>n0&#45;&gt;n65</title>
<path fill="none" stroke="#000000" d="M2958.4315,-911.8554C2985.047,-887.0025 3032.9594,-842.2631 3063.0354,-814.1789"/>
<polygon fill="#000000" stroke="#000000" points="3065.7229,-816.4581 3070.6431,-807.075 3060.9454,-811.3418 3065.7229,-816.4581"/>
<text text-anchor="middle" x="3005" y="-882.8" font-family="Times,serif" font-size="14.00" fill="#000000">17%</text>
</g>
<!-- n26&#45;&gt;n10 -->
<g id="edge15" class="edge">
<title>n26&#45;&gt;n10</title>
<path fill="none" stroke="#000000" d="M2156.2383,-608.9781C2296.053,-601.3884 2425.1251,-593.6912 2428,-591 2482.1018,-540.3558 2471.7736,-442.5167 2462.52,-394.2856"/>
<polygon fill="#000000" stroke="#000000" points="2465.8977,-393.3328 2460.4672,-384.2356 2459.0393,-394.7337 2465.8977,-393.3328"/>
<text text-anchor="middle" x="2478.5" y="-492.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n26&#45;&gt;n9 -->
<g id="edge40" class="edge">
<title>n26&#45;&gt;n9</title>
<path fill="none" stroke="#000000" d="M1769.3007,-608.9351C1762.0645,-603.9677 1755.1327,-597.9854 1750,-591 1736.0822,-572.0583 1736,-563.5052 1736,-540 1736,-540 1736,-540 1736,-409.5 1736,-341.3734 1731.0468,-313.8796 1774,-261 1847.4412,-170.5866 1895.2891,-173.9982 2007,-141 2028.8097,-134.5577 2066.9515,-128.8967 2110.5454,-124.0857"/>
<polygon fill="#000000" stroke="#000000" points="2110.9586,-127.5615 2120.5253,-123.0087 2110.2075,-120.6019 2110.9586,-127.5615"/>
<text text-anchor="middle" x="1745.5" y="-362.3" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n26&#45;&gt;n6 -->
<g id="edge37" class="edge">
<title>n26&#45;&gt;n6</title>
<path fill="none" stroke="#000000" d="M1866.4402,-608.9363C1884.9469,-603.3043 1905.3419,-596.9956 1924,-591 1953.3277,-581.5759 1985.7042,-570.7034 2012.9315,-561.4246"/>
<polygon fill="#000000" stroke="#000000" points="2014.3821,-564.6278 2022.7144,-558.0839 2012.1199,-558.0034 2014.3821,-564.6278"/>
<text text-anchor="middle" x="1974.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">6%</text>
</g>
<!-- n26&#45;&gt;n53 -->
<g id="edge11" class="edge">
<title>n26&#45;&gt;n53</title>
<path fill="none" stroke="#000000" d="M1750.7179,-608.927C1720.8408,-595.3214 1690,-573.2292 1690,-540 1690,-540 1690,-540 1690,-105 1690,-85.5475 1690,-63.6484 1690,-46.6877"/>
<polygon fill="#000000" stroke="#000000" points="1693.5001,-46.3305 1690,-36.3306 1686.5001,-46.3306 1693.5001,-46.3305"/>
<text text-anchor="middle" x="1699.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n8&#45;&gt;n9 -->
<g id="edge30" class="edge">
<title>n8&#45;&gt;n9</title>
<path fill="none" stroke="#000000" d="M2322.7197,-173.6947C2320.81,-163.5846 2320.1589,-151.0725 2325,-141 2326.8528,-137.145 2329.3417,-133.5737 2332.2025,-130.2987"/>
<polygon fill="#000000" stroke="#000000" points="2334.7471,-132.7053 2339.4286,-123.2009 2329.8418,-127.7114 2334.7471,-132.7053"/>
<text text-anchor="middle" x="2334.5" y="-144.8" font-family="Times,serif" font-size="14.00" fill="#000000">9%</text>
</g>
<!-- n69&#45;&gt;n45 -->
<g id="edge14" class="edge">
<title>n69&#45;&gt;n45</title>
<path fill="none" stroke="#000000" d="M2669.3378,-672.6782C2745.1266,-666.8427 2824.8227,-657.7803 2837,-645 2856.1021,-624.9521 2855.0384,-591.8361 2850.9919,-568.1544"/>
<polygon fill="#000000" stroke="#000000" points="2854.424,-567.4675 2849.0552,-558.3337 2847.5562,-568.8219 2854.424,-567.4675"/>
<text text-anchor="middle" x="2861.5" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">6%</text>
</g>
<!-- n65&#45;&gt;n45 -->
<g id="edge41" class="edge">
<title>n65&#45;&gt;n45</title>
<path fill="none" stroke="#000000" d="M3084.4635,-770.7836C3071.0166,-729.6461 3032.6686,-629.0228 2965,-576 2958.1687,-570.6472 2950.5558,-566.0891 2942.5664,-562.2078"/>
<polygon fill="#000000" stroke="#000000" points="2943.965,-558.9992 2933.4078,-558.107 2941.1044,-565.388 2943.965,-558.9992"/>
<text text-anchor="middle" x="3064.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n3&#45;&gt;n6 -->
<g id="edge26" class="edge">
<title>n3&#45;&gt;n6</title>
<path fill="none" stroke="#000000" d="M2413.5253,-608.9735C2343.5336,-594.7129 2245.8628,-574.8128 2173.4116,-560.0511"/>
<polygon fill="#000000" stroke="#000000" points="2173.8588,-556.5704 2163.3613,-558.0034 2172.4612,-563.4294 2173.8588,-556.5704"/>
<text text-anchor="middle" x="2323.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n3&#45;&gt;n45 -->
<g id="edge23" class="edge">
<title>n3&#45;&gt;n45</title>
<path fill="none" stroke="#000000" d="M2572.8626,-608.9735C2628.3484,-594.8588 2705.5522,-575.2192 2763.3922,-560.5055"/>
<polygon fill="#000000" stroke="#000000" points="2764.3997,-563.8607 2773.2282,-558.0034 2762.6739,-557.0768 2764.3997,-563.8607"/>
<text text-anchor="middle" x="2702.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">0%</text>
</g>
<!-- n96 -->
<g id="node19" class="node">
<title>n96</title>
<polygon fill="none" stroke="#000000" points="994,-645 506,-645 506,-609 994,-609 994,-645"/>
<text text-anchor="middle" x="750" y="-623.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::RegionInferenceContext::solve_inner (6%)</text>
</g>
<!-- n97 -->
<g id="node20" class="node">
<title>n97</title>
<polygon fill="none" stroke="#000000" points="950,-558 550,-558 550,-522 950,-522 950,-558"/>
<text text-anchor="middle" x="750" 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 (6%)</text>
</g>
<!-- n96&#45;&gt;n97 -->
<g id="edge20" class="edge">
<title>n96&#45;&gt;n97</title>
<path fill="none" stroke="#000000" d="M750,-608.9735C750,-597.1918 750,-581.5607 750,-568.1581"/>
<polygon fill="#000000" stroke="#000000" points="753.5001,-568.0033 750,-558.0034 746.5001,-568.0034 753.5001,-568.0033"/>
<text text-anchor="middle" x="759.5" y="-579.8" font-family="Times,serif" font-size="14.00" fill="#000000">6%</text>
</g>
<!-- n57&#45;&gt;n53 -->
<g id="edge27" class="edge">
<title>n57&#45;&gt;n53</title>
<path fill="none" stroke="#000000" d="M318.3831,-608.9922C351.4315,-596.119 383,-574.7322 383,-540 383,-540 383,-540 383,-105 383,-50.0298 1128.7682,-28.4643 1493.6313,-21.2029"/>
<polygon fill="#000000" stroke="#000000" points="1493.8512,-24.6994 1503.7802,-21.0027 1493.713,-17.7008 1493.8512,-24.6994"/>
<text text-anchor="middle" x="392.5" y="-318.8" font-family="Times,serif" font-size="14.00" fill="#000000">9%</text>
</g>
<!-- n94&#45;&gt;n96 -->
<g id="edge31" class="edge">
<title>n94&#45;&gt;n96</title>
<path fill="none" stroke="#000000" d="M1189.9219,-716.984C1095.6035,-697.6916 946.3049,-667.1533 848.2449,-647.0956"/>
<polygon fill="#000000" stroke="#000000" points="848.826,-643.642 838.3274,-645.067 847.4231,-650.5 848.826,-643.642"/>
<text text-anchor="middle" x="1101.5" y="-677.3" font-family="Times,serif" font-size="14.00" fill="#000000">6%</text>
</g>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment