Skip to content

Instantly share code, notes, and snippets.

@nikomatsakis
Created June 29, 2018 11:01
Show Gist options
  • Save nikomatsakis/ba786dd2857a7528d99fd238aa012c6f to your computer and use it in GitHub Desktop.
Save nikomatsakis/ba786dd2857a7528d99fd238aa012c6f 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="2822pt" height="695pt"
viewBox="0.00 0.00 2822.00 695.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 691)">
<title>G</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-691 2818,-691 2818,4 -4,4"/>
<!-- n14 -->
<g id="node1" class="node">
<title>n14</title>
<polygon fill="none" stroke="#000000" points="1701.5,-123 1011.5,-123 1011.5,-87 1701.5,-87 1701.5,-123"/>
<text text-anchor="middle" x="1356.5" 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 (9%)</text>
</g>
<!-- n14&#45;&gt;n14 -->
<g id="edge22" class="edge">
<title>n14&#45;&gt;n14</title>
<path fill="none" stroke="#000000" d="M1701.5616,-109.3201C1712.9862,-108.1627 1719.5,-106.7227 1719.5,-105 1719.5,-103.8695 1716.6947,-102.8607 1711.5373,-101.9737"/>
<polygon fill="#000000" stroke="#000000" points="1711.9288,-98.4952 1701.5616,-100.6799 1711.0284,-105.4371 1711.9288,-98.4952"/>
<text text-anchor="middle" x="1729" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n19 -->
<g id="node2" class="node">
<title>n19</title>
<polygon fill="none" stroke="#000000" points="1155.5,-36 887.5,-36 887.5,0 1155.5,0 1155.5,-36"/>
<text text-anchor="middle" x="1021.5" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::ty::fold::TypeFoldable::fold_with (10%)</text>
</g>
<!-- n14&#45;&gt;n19 -->
<g id="edge1" class="edge">
<title>n14&#45;&gt;n19</title>
<path fill="none" stroke="#000000" d="M1287.0878,-86.9735C1232.85,-72.8879 1157.4265,-53.3003 1100.8094,-38.5968"/>
<polygon fill="#000000" stroke="#000000" points="1101.382,-35.1294 1090.8233,-36.0034 1099.6224,-41.9047 1101.382,-35.1294"/>
<text text-anchor="middle" x="1218" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n22 -->
<g id="node15" class="node">
<title>n22</title>
<polygon fill="none" stroke="#000000" points="1952.5,-36 1580.5,-36 1580.5,0 1952.5,0 1952.5,-36"/>
<text text-anchor="middle" x="1766.5" 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 (23%)</text>
</g>
<!-- n14&#45;&gt;n22 -->
<g id="edge11" class="edge">
<title>n14&#45;&gt;n22</title>
<path fill="none" stroke="#000000" d="M1441.4523,-86.9735C1508.52,-72.7421 1602.0562,-52.8942 1671.5793,-38.1417"/>
<polygon fill="#000000" stroke="#000000" points="1672.6009,-41.5029 1681.6566,-36.0034 1671.1478,-34.6554 1672.6009,-41.5029"/>
<text text-anchor="middle" x="1595" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n19&#45;&gt;n14 -->
<g id="edge16" class="edge">
<title>n19&#45;&gt;n14</title>
<path fill="none" stroke="#000000" d="M1152.9989,-36.0171C1179.2378,-40.877 1206.4273,-46.8287 1231.5,-54 1257.8416,-61.5342 1286.1897,-72.8214 1309.2196,-82.8634"/>
<polygon fill="#000000" stroke="#000000" points="1307.8554,-86.087 1318.4166,-86.9301 1310.6863,-79.685 1307.8554,-86.087"/>
<text text-anchor="middle" x="1283" y="-57.8" font-family="Times,serif" font-size="14.00" fill="#000000">4%</text>
</g>
<!-- n19&#45;&gt;n19 -->
<g id="edge34" class="edge">
<title>n19&#45;&gt;n19</title>
<path fill="none" stroke="#000000" d="M1155.8986,-24.0274C1166.7646,-22.7162 1173.5,-20.707 1173.5,-18 1173.5,-16.2658 1170.7358,-14.818 1165.8922,-13.6567"/>
<polygon fill="#000000" stroke="#000000" points="1166.3412,-10.1831 1155.8986,-11.9726 1165.178,-17.0858 1166.3412,-10.1831"/>
<text text-anchor="middle" x="1183" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n3 -->
<g id="node3" class="node">
<title>n3</title>
<polygon fill="none" stroke="#000000" points="1403,-600 1004,-600 1004,-564 1403,-564 1403,-600"/>
<text text-anchor="middle" x="1203.5" y="-578.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::type_check_internal (40%)</text>
</g>
<!-- n38 -->
<g id="node4" class="node">
<title>n38</title>
<polygon fill="none" stroke="#000000" points="659,-513 0,-513 0,-477 659,-477 659,-513"/>
<text text-anchor="middle" x="329.5" y="-491.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 (12%)</text>
</g>
<!-- n3&#45;&gt;n38 -->
<g id="edge2" class="edge">
<title>n3&#45;&gt;n38</title>
<path fill="none" stroke="#000000" d="M1022.6718,-563.9999C876.0619,-549.406 669.9904,-528.8932 520.6725,-514.0298"/>
<polygon fill="#000000" stroke="#000000" points="520.7687,-510.5221 510.4711,-513.0143 520.0752,-517.4877 520.7687,-510.5221"/>
<text text-anchor="middle" x="832.5" y="-534.8" font-family="Times,serif" font-size="14.00" fill="#000000">12%</text>
</g>
<!-- n16 -->
<g id="node6" class="node">
<title>n16</title>
<polygon fill="none" stroke="#000000" points="1295,-513 864,-513 864,-477 1295,-477 1295,-513"/>
<text text-anchor="middle" x="1079.5" y="-491.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::TypeChecker::typeck_mir (18%)</text>
</g>
<!-- n3&#45;&gt;n16 -->
<g id="edge4" class="edge">
<title>n3&#45;&gt;n16</title>
<path fill="none" stroke="#000000" d="M1177.8071,-563.9735C1159.1858,-550.9086 1133.818,-533.1102 1113.5161,-518.8662"/>
<polygon fill="#000000" stroke="#000000" points="1115.3563,-515.8817 1105.16,-513.0034 1111.3359,-521.612 1115.3563,-515.8817"/>
<text text-anchor="middle" x="1162.5" y="-534.8" font-family="Times,serif" font-size="14.00" fill="#000000">18%</text>
</g>
<!-- n4 -->
<g id="node18" class="node">
<title>n4</title>
<polygon fill="none" stroke="#000000" points="1738,-426 1035,-426 1035,-390 1738,-390 1738,-426"/>
<text text-anchor="middle" x="1386.5" y="-404.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 (9%)</text>
</g>
<!-- n3&#45;&gt;n4 -->
<g id="edge17" class="edge">
<title>n3&#45;&gt;n4</title>
<path fill="none" stroke="#000000" d="M1235.3884,-563.7565C1256.2498,-551 1283.4383,-532.7614 1304.5,-513 1329.963,-489.1089 1353.9098,-456.8823 1369.2741,-434.4587"/>
<polygon fill="#000000" stroke="#000000" points="1372.2293,-436.3365 1374.9224,-426.0896 1366.427,-432.4205 1372.2293,-436.3365"/>
<text text-anchor="middle" x="1346" y="-491.3" font-family="Times,serif" font-size="14.00" fill="#000000">9%</text>
</g>
<!-- n7 -->
<g id="node14" class="node">
<title>n7</title>
<polygon fill="none" stroke="#000000" points="1056.5,-318 434.5,-318 434.5,-282 1056.5,-282 1056.5,-318"/>
<text text-anchor="middle" x="745.5" y="-296.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 (24%)</text>
</g>
<!-- n38&#45;&gt;n7 -->
<g id="edge14" class="edge">
<title>n38&#45;&gt;n7</title>
<path fill="none" stroke="#000000" d="M209.094,-476.9993C138.8564,-461.4566 70.9965,-434.3358 109.5,-390 135.9594,-359.5328 335.8113,-334.7471 504.5261,-318.9578"/>
<polygon fill="#000000" stroke="#000000" points="504.9365,-322.4349 514.57,-318.025 504.2891,-315.4648 504.9365,-322.4349"/>
<text text-anchor="middle" x="119" y="-404.3" font-family="Times,serif" font-size="14.00" fill="#000000">2%</text>
</g>
<!-- n39 -->
<g id="node19" class="node">
<title>n39</title>
<polygon fill="none" stroke="#000000" points="521.5,-426 137.5,-426 137.5,-390 521.5,-390 521.5,-426"/>
<text text-anchor="middle" x="329.5" y="-404.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::liveness::generate (10%)</text>
</g>
<!-- n38&#45;&gt;n39 -->
<g id="edge19" class="edge">
<title>n38&#45;&gt;n39</title>
<path fill="none" stroke="#000000" d="M329.5,-476.9735C329.5,-465.1918 329.5,-449.5607 329.5,-436.1581"/>
<polygon fill="#000000" stroke="#000000" points="333.0001,-436.0033 329.5,-426.0034 326.0001,-436.0034 333.0001,-436.0033"/>
<text text-anchor="middle" x="342.5" y="-447.8" font-family="Times,serif" font-size="14.00" fill="#000000">10%</text>
</g>
<!-- n8 -->
<g id="node5" class="node">
<title>n8</title>
<polygon fill="none" stroke="#000000" points="959.5,-177 171.5,-177 171.5,-141 959.5,-141 959.5,-177"/>
<text text-anchor="middle" x="565.5" y="-155.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::infer::canonical::query_result::&lt;impl rustc::infer::InferCtxt&lt;&#39;cx, &#39;gcx, &#39;tcx&gt;&gt;::instantiate_nll_query_result_and_region_obligations (8%)</text>
</g>
<!-- n8&#45;&gt;n19 -->
<g id="edge3" class="edge">
<title>n8&#45;&gt;n19</title>
<path fill="none" stroke="#000000" d="M623.7159,-140.999C708.0706,-114.9157 863.9582,-66.7136 953.4892,-39.0297"/>
<polygon fill="#000000" stroke="#000000" points="954.7512,-42.303 963.271,-36.005 952.6833,-35.6154 954.7512,-42.303"/>
<text text-anchor="middle" x="803" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n16&#45;&gt;n7 -->
<g id="edge20" class="edge">
<title>n16&#45;&gt;n7</title>
<path fill="none" stroke="#000000" d="M863.8587,-479.2165C732.7873,-467.3671 586.7983,-449.2112 566.5,-426 526.8583,-380.6694 604.8706,-343.1816 670.0756,-321.195"/>
<polygon fill="#000000" stroke="#000000" points="671.1829,-324.5153 679.5875,-318.0644 668.9945,-317.8661 671.1829,-324.5153"/>
<text text-anchor="middle" x="576" y="-404.3" font-family="Times,serif" font-size="14.00" fill="#000000">3%</text>
</g>
<!-- n16&#45;&gt;n22 -->
<g id="edge33" class="edge">
<title>n16&#45;&gt;n22</title>
<path fill="none" stroke="#000000" d="M1280.3721,-476.9863C1473.8209,-459.2284 1738.5383,-433.6696 1747.5,-426 1772.6445,-404.4811 1766.5,-387.0954 1766.5,-354 1766.5,-354 1766.5,-354 1766.5,-105 1766.5,-85.5475 1766.5,-63.6484 1766.5,-46.6877"/>
<polygon fill="#000000" stroke="#000000" points="1770.0001,-46.3305 1766.5,-36.3306 1763.0001,-46.3306 1770.0001,-46.3305"/>
<text text-anchor="middle" x="1776" y="-252.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n17 -->
<g id="node20" class="node">
<title>n17</title>
<polygon fill="none" stroke="#000000" points="1016.5,-426 594.5,-426 594.5,-390 1016.5,-390 1016.5,-426"/>
<text text-anchor="middle" x="805.5" y="-404.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::type_check::TypeChecker::sub_types (12%)</text>
</g>
<!-- n16&#45;&gt;n17 -->
<g id="edge23" class="edge">
<title>n16&#45;&gt;n17</title>
<path fill="none" stroke="#000000" d="M1022.727,-476.9735C978.8246,-463.0337 917.951,-443.7053 871.811,-429.0549"/>
<polygon fill="#000000" stroke="#000000" points="872.7906,-425.6938 862.2002,-426.0034 870.6721,-432.3656 872.7906,-425.6938"/>
<text text-anchor="middle" x="972.5" y="-447.8" font-family="Times,serif" font-size="14.00" fill="#000000">12%</text>
</g>
<!-- n0 -->
<g id="node7" class="node">
<title>n0</title>
<polygon fill="none" stroke="#000000" points="1994,-687 1623,-687 1623,-651 1994,-651 1994,-687"/>
<text text-anchor="middle" x="1808.5" y="-665.3" font-family="Times,serif" font-size="14.00" fill="#000000">matched `{do_mir_borrowck},..{nll::compute_regions}` (100%)</text>
</g>
<!-- n0&#45;&gt;n3 -->
<g id="edge25" class="edge">
<title>n0&#45;&gt;n3</title>
<path fill="none" stroke="#000000" d="M1642.4881,-650.9597C1597.3398,-645.6299 1548.4909,-639.4751 1503.5,-633 1439.8644,-623.8415 1368.9375,-611.8657 1312.0313,-601.8206"/>
<polygon fill="#000000" stroke="#000000" points="1312.3945,-598.3306 1301.9373,-600.0332 1311.1738,-605.2233 1312.3945,-598.3306"/>
<text text-anchor="middle" x="1516.5" y="-621.8" font-family="Times,serif" font-size="14.00" fill="#000000">40%</text>
</g>
<!-- n32 -->
<g id="node8" class="node">
<title>n32</title>
<polygon fill="none" stroke="#000000" points="2052.5,-513 1564.5,-513 1564.5,-477 2052.5,-477 2052.5,-513"/>
<text text-anchor="middle" x="1808.5" y="-491.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::values::RegionValues::add_element (30%)</text>
</g>
<!-- n0&#45;&gt;n32 -->
<g id="edge5" class="edge">
<title>n0&#45;&gt;n32</title>
<path fill="none" stroke="#000000" d="M1689.1586,-650.9625C1631.3939,-639.5427 1570.8172,-622.6258 1553.5,-600 1519.7327,-555.8814 1568.9744,-530.1852 1632.9085,-515.2753"/>
<polygon fill="#000000" stroke="#000000" points="1633.8591,-518.6495 1642.8616,-513.0633 1632.3404,-511.8162 1633.8591,-518.6495"/>
<text text-anchor="middle" x="1563" y="-578.3" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n23 -->
<g id="node9" class="node">
<title>n23</title>
<polygon fill="none" stroke="#000000" points="2514.5,-600 2054.5,-600 2054.5,-564 2514.5,-564 2514.5,-600"/>
<text text-anchor="middle" x="2284.5" y="-578.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::RegionInferenceContext::solve (13%)</text>
</g>
<!-- n0&#45;&gt;n23 -->
<g id="edge30" class="edge">
<title>n0&#45;&gt;n23</title>
<path fill="none" stroke="#000000" d="M1907.1275,-650.9735C1985.4702,-636.6546 2094.9211,-616.6499 2175.7848,-601.8702"/>
<polygon fill="#000000" stroke="#000000" points="2176.7911,-605.2444 2185.9988,-600.0034 2175.5325,-598.3584 2176.7911,-605.2444"/>
<text text-anchor="middle" x="2087.5" y="-621.8" font-family="Times,serif" font-size="14.00" fill="#000000">13%</text>
</g>
<!-- n53 -->
<g id="node16" class="node">
<title>n53</title>
<polygon fill="none" stroke="#000000" points="2814,-600 2533,-600 2533,-564 2814,-564 2814,-600"/>
<text text-anchor="middle" x="2673.5" y="-578.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::util::liveness::liveness_of_locals (8%)</text>
</g>
<!-- n0&#45;&gt;n53 -->
<g id="edge13" class="edge">
<title>n0&#45;&gt;n53</title>
<path fill="none" stroke="#000000" d="M1994.1753,-652.2731C2136.0318,-639.2106 2336.6785,-620.1266 2522.9987,-600.0411"/>
<polygon fill="#000000" stroke="#000000" points="2523.4197,-603.5161 2532.9859,-598.962 2522.6677,-596.5566 2523.4197,-603.5161"/>
<text text-anchor="middle" x="2356" y="-621.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n1 -->
<g id="node17" class="node">
<title>n1</title>
<polygon fill="none" stroke="#000000" points="2036,-600 1581,-600 1581,-564 2036,-564 2036,-600"/>
<text text-anchor="middle" x="1808.5" y="-578.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::constraint_generation::generate_constraints (29%)</text>
</g>
<!-- n0&#45;&gt;n1 -->
<g id="edge27" class="edge">
<title>n0&#45;&gt;n1</title>
<path fill="none" stroke="#000000" d="M1808.5,-650.9735C1808.5,-639.1918 1808.5,-623.5607 1808.5,-610.1581"/>
<polygon fill="#000000" stroke="#000000" points="1812.0001,-610.0033 1808.5,-600.0034 1805.0001,-610.0034 1812.0001,-610.0033"/>
<text text-anchor="middle" x="1821.5" y="-621.8" font-family="Times,serif" font-size="14.00" fill="#000000">29%</text>
</g>
<!-- n34 -->
<g id="node11" class="node">
<title>n34</title>
<polygon fill="none" stroke="#000000" points="2212.5,-372 1826.5,-372 1826.5,-336 2212.5,-336 2212.5,-372"/>
<text text-anchor="middle" x="2019.5" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_data_structures::bitvec::SparseBitMatrix&lt;R, C&gt;&gt;::add (8%)</text>
</g>
<!-- n32&#45;&gt;n34 -->
<g id="edge7" class="edge">
<title>n32&#45;&gt;n34</title>
<path fill="none" stroke="#000000" d="M1835.6526,-476.8554C1873.4769,-451.5794 1942.0821,-405.7342 1983.9451,-377.7594"/>
<polygon fill="#000000" stroke="#000000" points="1986.0818,-380.5412 1992.4516,-372.075 1982.1925,-374.7211 1986.0818,-380.5412"/>
<text text-anchor="middle" x="1892" y="-447.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n32&#45;&gt;n22 -->
<g id="edge12" class="edge">
<title>n32&#45;&gt;n22</title>
<path fill="none" stroke="#000000" d="M1808.5,-476.6694C1808.5,-459.0629 1808.5,-431.7135 1808.5,-408 1808.5,-408 1808.5,-408 1808.5,-105 1808.5,-83.2067 1797.6797,-61.1232 1787.0232,-44.6585"/>
<polygon fill="#000000" stroke="#000000" points="1789.7232,-42.4062 1781.1896,-36.1271 1783.9449,-46.3574 1789.7232,-42.4062"/>
<text text-anchor="middle" x="1821.5" y="-252.8" font-family="Times,serif" font-size="14.00" fill="#000000">21%</text>
</g>
<!-- n24 -->
<g id="node10" class="node">
<title>n24</title>
<polygon fill="none" stroke="#000000" points="2381,-513 2186,-513 2186,-477 2381,-477 2381,-513"/>
<text text-anchor="middle" x="2283.5" y="-491.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::util::common::time (13%)</text>
</g>
<!-- n23&#45;&gt;n24 -->
<g id="edge6" class="edge">
<title>n23&#45;&gt;n24</title>
<path fill="none" stroke="#000000" d="M2284.2928,-563.9735C2284.1574,-552.1918 2283.9777,-536.5607 2283.8237,-523.1581"/>
<polygon fill="#000000" stroke="#000000" points="2287.3217,-522.9624 2283.7069,-513.0034 2280.3222,-523.043 2287.3217,-522.9624"/>
<text text-anchor="middle" x="2296.5" y="-534.8" font-family="Times,serif" font-size="14.00" fill="#000000">13%</text>
</g>
<!-- n25 -->
<g id="node13" class="node">
<title>n25</title>
<polygon fill="none" stroke="#000000" points="2517.5,-426 2023.5,-426 2023.5,-390 2517.5,-390 2517.5,-426"/>
<text text-anchor="middle" x="2270.5" y="-404.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc_mir::borrow_check::nll::region_infer::RegionInferenceContext::solve_inner (13%)</text>
</g>
<!-- n24&#45;&gt;n25 -->
<g id="edge9" class="edge">
<title>n24&#45;&gt;n25</title>
<path fill="none" stroke="#000000" d="M2280.8064,-476.9735C2279.0459,-465.1918 2276.7102,-449.5607 2274.7075,-436.1581"/>
<polygon fill="#000000" stroke="#000000" points="2278.1297,-435.3763 2273.1902,-426.0034 2271.2065,-436.4108 2278.1297,-435.3763"/>
<text text-anchor="middle" x="2290.5" y="-447.8" font-family="Times,serif" font-size="14.00" fill="#000000">13%</text>
</g>
<!-- n35 -->
<g id="node22" class="node">
<title>n35</title>
<polygon fill="none" stroke="#000000" points="2248.5,-231 1940.5,-231 1940.5,-195 2248.5,-195 2248.5,-231"/>
<text text-anchor="middle" x="2094.5" y="-209.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;alloc::btree::map::BTreeMap&lt;K, V&gt;&gt;::entry (11%)</text>
</g>
<!-- n34&#45;&gt;n35 -->
<g id="edge28" class="edge">
<title>n34&#45;&gt;n35</title>
<path fill="none" stroke="#000000" d="M2021.7688,-335.7609C2024.1669,-320.7157 2028.8446,-299.1364 2037.5,-282 2045.4301,-266.2996 2057.4927,-250.9924 2068.4823,-238.8006"/>
<polygon fill="#000000" stroke="#000000" points="2071.2439,-240.9706 2075.4948,-231.2659 2066.1198,-236.2016 2071.2439,-240.9706"/>
<text text-anchor="middle" x="2047" y="-296.3" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n18 -->
<g id="node12" class="node">
<title>n18</title>
<polygon fill="none" stroke="#000000" points="1179.5,-231 769.5,-231 769.5,-195 1179.5,-195 1179.5,-231"/>
<text text-anchor="middle" x="974.5" y="-209.3" font-family="Times,serif" font-size="14.00" fill="#000000">rustc::infer::canonical::canonicalizer::Canonicalizer::canonicalize (12%)</text>
</g>
<!-- n18&#45;&gt;n14 -->
<g id="edge21" class="edge">
<title>n18&#45;&gt;n14</title>
<path fill="none" stroke="#000000" d="M1038.4382,-194.9232C1105.887,-175.8539 1212.0248,-145.8464 1282.9112,-125.8052"/>
<polygon fill="#000000" stroke="#000000" points="1284.0013,-129.1343 1292.6719,-123.0456 1282.0968,-122.3983 1284.0013,-129.1343"/>
<text text-anchor="middle" x="1231" y="-155.3" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n18&#45;&gt;n19 -->
<g id="edge8" class="edge">
<title>n18&#45;&gt;n19</title>
<path fill="none" stroke="#000000" d="M973.3825,-194.6207C972.409,-169.6894 972.5607,-124.0155 983.5,-87 987.8549,-72.2642 995.7073,-57.1716 1003.148,-44.8742"/>
<polygon fill="#000000" stroke="#000000" points="1006.3267,-46.3945 1008.6931,-36.0673 1000.4031,-42.6648 1006.3267,-46.3945"/>
<text text-anchor="middle" x="993" y="-101.3" font-family="Times,serif" font-size="14.00" fill="#000000">5%</text>
</g>
<!-- n29 -->
<g id="node21" class="node">
<title>n29</title>
<polygon fill="none" stroke="#000000" points="2472,-318 2065,-318 2065,-282 2472,-282 2472,-318"/>
<text text-anchor="middle" x="2268.5" y="-296.3" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;rustc_data_structures::bitvec::SparseBitMatrix&lt;R, C&gt;&gt;::merge (12%)</text>
</g>
<!-- n25&#45;&gt;n29 -->
<g id="edge24" class="edge">
<title>n25&#45;&gt;n29</title>
<path fill="none" stroke="#000000" d="M2270.1607,-389.6793C2269.8485,-372.821 2269.3808,-347.5651 2269.0212,-328.147"/>
<polygon fill="#000000" stroke="#000000" points="2272.5189,-327.9836 2268.8343,-318.0502 2265.5201,-328.1133 2272.5189,-327.9836"/>
<text text-anchor="middle" x="2282.5" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">12%</text>
</g>
<!-- n7&#45;&gt;n8 -->
<g id="edge32" class="edge">
<title>n7&#45;&gt;n8</title>
<path fill="none" stroke="#000000" d="M722.3366,-281.8554C690.3395,-256.7909 632.5214,-211.5001 596.7325,-183.4655"/>
<polygon fill="#000000" stroke="#000000" points="598.6051,-180.4863 588.5745,-177.075 594.2884,-185.9969 598.6051,-180.4863"/>
<text text-anchor="middle" x="707" y="-252.8" font-family="Times,serif" font-size="14.00" fill="#000000">8%</text>
</g>
<!-- n7&#45;&gt;n18 -->
<g id="edge10" class="edge">
<title>n7&#45;&gt;n18</title>
<path fill="none" stroke="#000000" d="M792.9489,-281.9735C829.1805,-268.2087 879.2422,-249.1896 917.6216,-234.6088"/>
<polygon fill="#000000" stroke="#000000" points="919.0068,-237.8267 927.1118,-231.0034 916.5207,-231.2831 919.0068,-237.8267"/>
<text text-anchor="middle" x="887.5" y="-252.8" font-family="Times,serif" font-size="14.00" fill="#000000">12%</text>
</g>
<!-- n1&#45;&gt;n32 -->
<g id="edge15" class="edge">
<title>n1&#45;&gt;n32</title>
<path fill="none" stroke="#000000" d="M1808.5,-563.9735C1808.5,-552.1918 1808.5,-536.5607 1808.5,-523.1581"/>
<polygon fill="#000000" stroke="#000000" points="1812.0001,-523.0033 1808.5,-513.0034 1805.0001,-523.0034 1812.0001,-523.0033"/>
<text text-anchor="middle" x="1821.5" y="-534.8" font-family="Times,serif" font-size="14.00" fill="#000000">24%</text>
</g>
<!-- n4&#45;&gt;n14 -->
<g id="edge18" class="edge">
<title>n4&#45;&gt;n14</title>
<path fill="none" stroke="#000000" d="M1384.7132,-389.9534C1379.6915,-339.2346 1365.4223,-195.1156 1359.3221,-133.5028"/>
<polygon fill="#000000" stroke="#000000" points="1362.7837,-132.9416 1358.3154,-123.3352 1355.8178,-133.6314 1362.7837,-132.9416"/>
<text text-anchor="middle" x="1381" y="-252.8" font-family="Times,serif" font-size="14.00" fill="#000000">1%</text>
</g>
<!-- n4&#45;&gt;n7 -->
<g id="edge26" class="edge">
<title>n4&#45;&gt;n7</title>
<path fill="none" stroke="#000000" d="M1279.5719,-389.984C1164.2873,-370.5601 981.3428,-339.7364 862.3449,-319.6868"/>
<polygon fill="#000000" stroke="#000000" points="862.9061,-316.2321 852.4635,-318.0219 861.743,-323.1348 862.9061,-316.2321"/>
<text text-anchor="middle" x="1171" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">7%</text>
</g>
<!-- n17&#45;&gt;n7 -->
<g id="edge29" class="edge">
<title>n17&#45;&gt;n7</title>
<path fill="none" stroke="#000000" d="M795.3218,-389.6793C785.7393,-372.4307 771.273,-346.3914 760.3934,-326.8081"/>
<polygon fill="#000000" stroke="#000000" points="763.4439,-325.092 755.5279,-318.0502 757.3248,-328.4915 763.4439,-325.092"/>
<text text-anchor="middle" x="797.5" y="-350.3" font-family="Times,serif" font-size="14.00" fill="#000000">11%</text>
</g>
<!-- n29&#45;&gt;n35 -->
<g id="edge31" class="edge">
<title>n29&#45;&gt;n35</title>
<path fill="none" stroke="#000000" d="M2232.4471,-281.9735C2205.5007,-268.5003 2168.4863,-249.9932 2139.5829,-235.5415"/>
<polygon fill="#000000" stroke="#000000" points="2141.0163,-232.3451 2130.5067,-231.0034 2137.8857,-238.6061 2141.0163,-232.3451"/>
<text text-anchor="middle" x="2201" y="-252.8" 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