The gcc compiler generated dot graph data from the rtl data using labels for record nodes.

It is also possible to generate dot graph data from rtl data using egypt call graph script at https://www.gson.org/egypt/egypt.html

Or a C based tool can be used at https://gitlab.com/mooigraph/gccrtl2gml for gml graph data from rtl data

Using gml4gtk dot graph rtl data it looks like this:
gcc-rtl

And every function() has it's own subgraph which can be cut with a editor for a smaller dot graph
and the dot graph data for such a function() looks like this and add the surrounding "digraph g { ...}"
to have a usable small dot graph only of this funtion();


subgraph "cluster_rhp_init" {
    style="dashed";
    color="black";
    label="rhp_init ()";
    fn_3_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

    fn_3_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

    fn_3_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ \ 5:\ NOTE_INSN_BASIC_BLOCK\ 2\l\
|\ \ \ \ 2:\ [frame:DI-0x8]=di:DI\l\
|\ \ \ \ 3:\ [frame:DI-0xc]=si:SI\l\
|\ \ \ \ 4:\ NOTE_INSN_FUNCTION_BEG\l\
|\ \ \ \ 7:\ r87:SI=[`rhp_inited']\l\
|\ \ \ \ 8:\ flags:CCZ=cmp(r87:SI,0)\l\
|\ \ \ \ 9:\ pc=\{(flags:CCZ==0)?L16:pc\}\l\
}"];

    fn_3_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 10:\ NOTE_INSN_BASIC_BLOCK\ 3\l\
|\ \ \ 11:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ \ 12:\ di:DI=`*.LC1'\l\
|\ \ \ 13:\ ax:QI=0\l\
|\ \ \ 14:\ call\ [`rhp_log']\ argc:0\l\
|\ \ \ 15:\ call\ [`rhp_deinit']\ argc:0\l\
}"];

    fn_3_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 16:\ L16:\l\
|\ \ \ 17:\ NOTE_INSN_BASIC_BLOCK\ 4\l\
|\ \ \ 18:\ [`rhp_logstream']=0\l\
|\ \ \ 19:\ [`rhp_dolog']=0\l\
|\ \ \ 20:\ [`rhp_logname']=0\l\
|\ \ \ 21:\ flags:CCZ=cmp([frame:DI-0x8],0)\l\
|\ \ \ 22:\ pc=\{(flags:CCZ==0)?L55:pc\}\l\
}"];

    fn_3_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 23:\ NOTE_INSN_BASIC_BLOCK\ 5\l\
|\ \ \ 24:\ r96:DI=[frame:DI-0x8]\l\
|\ \ \ 25:\ r88:QI=[r96:DI]\l\
|\ \ \ 26:\ flags:CCZ=cmp(r88:QI,0)\l\
|\ \ \ 27:\ pc=\{(flags:CCZ!=0)?L33:pc\}\l\
}"];

    fn_3_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 28:\ NOTE_INSN_BASIC_BLOCK\ 6\l\
|\ \ \ 29:\ r89:DI=[`stdout']\l\
|\ \ \ 30:\ [`rhp_logstream']=r89:DI\l\
}"];

    fn_3_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 33:\ L33:\l\
|\ \ \ 34:\ NOTE_INSN_BASIC_BLOCK\ 7\l\
|\ \ \ 35:\ r97:DI=[frame:DI-0x8]\l\
|\ \ \ 36:\ si:DI=`*.LC2'\l\
|\ \ \ 37:\ di:DI=r97:DI\l\
|\ \ \ 38:\ ax:DI=call\ [`fopen']\ argc:0\l\
|\ \ \ 39:\ r90:DI=ax:DI\l\
|\ \ \ 40:\ [`rhp_logstream']=r90:DI\l\
|\ \ \ 41:\ r91:DI=[`rhp_logstream']\l\
|\ \ \ 42:\ flags:CCZ=cmp(r91:DI,0)\l\
|\ \ \ 43:\ pc=\{(flags:CCZ!=0)?L47:pc\}\l\
}"];

    fn_3_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 44:\ NOTE_INSN_BASIC_BLOCK\ 8\l\
|\ \ \ 45:\ r92:DI=[`stdout']\l\
|\ \ \ 46:\ [`rhp_logstream']=r92:DI\l\
}"];

    fn_3_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 47:\ L47:\l\
|\ \ \ 48:\ NOTE_INSN_BASIC_BLOCK\ 9\l\
|\ \ \ 49:\ r98:SI=[frame:DI-0xc]\l\
|\ \ \ 50:\ [`rhp_dolog']=r98:SI\l\
|\ \ \ 51:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ \ 52:\ di:DI=`*.LC3'\l\
|\ \ \ 53:\ ax:QI=0\l\
|\ \ \ 54:\ call\ [`rhp_log']\ argc:0\l\
}"];

    fn_3_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{ FREQ:0 |\ \ \ 55:\ L55:\l\
|\ \ \ 56:\ NOTE_INSN_BASIC_BLOCK\ 10\l\
|\ \ \ 57:\ di:SI=0x1\l\
|\ \ \ 58:\ ax:DI=call\ [`rhp_sp_new']\ argc:0\l\
|\ \ \ 59:\ r93:DI=ax:DI\l\
|\ \ \ 60:\ [`rhp_sp_master_node_list']=r93:DI\l\
|\ \ \ 61:\ di:SI=0x1\l\
|\ \ \ 62:\ ax:DI=call\ [`rhp_sp_new']\ argc:0\l\
|\ \ \ 63:\ r94:DI=ax:DI\l\
|\ \ \ 64:\ [`rhp_sp_master_edge_list']=r94:DI\l\
|\ \ \ 65:\ [`rhp_uniq_nodenum']=0\l\
|\ \ \ 66:\ [`rhp_uniq_edgenum']=0\l\
|\ \ \ 67:\ [`rhp_number_of_nodes']=0\l\
|\ \ \ 68:\ [`rhp_number_of_edges']=0\l\
|\ \ \ 69:\ [`rhp_number_of_isolated_nodes']=0\l\
|\ \ \ 70:\ di:SI=0x1\l\
|\ \ \ 71:\ ax:DI=call\ [`rhp_sp_new']\ argc:0\l\
|\ \ \ 72:\ r95:DI=ax:DI\l\
|\ \ \ 73:\ [`rhp_sp_between_layers']=r95:DI\l\
|\ \ \ 74:\ [`rhp_maxlevel']=0\l\
|\ \ \ 75:\ [`rhp_nlevels']=0\l\
|\ \ \ 76:\ [`rhp_crossings']=0xffffffffffffffff\l\
|\ \ \ 77:\ [`rhp_start_crossings']=0xffffffffffffffff\l\
|\ \ \ 78:\ [`rhp_best_crossings_order']=0\l\
|\ \ \ 79:\ [`rhp_getlayoutdata']=0\l\
|\ \ \ 80:\ [`rhp_improvements']=0\l\
|\ \ \ 81:\ [`rhp_notimprovements']=0\l\
|\ \ \ 82:\ dx:SI=0x4\l\
|\ \ \ 83:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ \ 84:\ di:DI=`*.LC4'\l\
|\ \ \ 85:\ ax:QI=0\l\
|\ \ \ 86:\ call\ [`rhp_log']\ argc:0\l\
|\ \ \ 87:\ dx:SI=0x8\l\
|\ \ \ 88:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ \ 89:\ di:DI=`*.LC5'\l\
|\ \ \ 90:\ ax:QI=0\l\
|\ \ \ 91:\ call\ [`rhp_log']\ argc:0\l\
|\ \ \ 92:\ dx:SI=0x8\l\
|\ \ \ 93:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ \ 94:\ di:DI=`*.LC6'\l\
|\ \ \ 95:\ ax:QI=0\l\
|\ \ \ 96:\ call\ [`rhp_log']\ argc:0\l\
|\ \ \ 97:\ dx:SI=0x8\l\
|\ \ \ 98:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ \ 99:\ di:DI=`*.LC7'\l\
|\ \ 100:\ ax:QI=0\l\
|\ \ 101:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 102:\ dx:SI=0x20\l\
|\ \ 103:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 104:\ di:DI=`*.LC8'\l\
|\ \ 105:\ ax:QI=0\l\
|\ \ 106:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 107:\ dx:SI=0x10\l\
|\ \ 108:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 109:\ di:DI=`*.LC9'\l\
|\ \ 110:\ ax:QI=0\l\
|\ \ 111:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 112:\ dx:SI=0x50\l\
|\ \ 113:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 114:\ di:DI=`*.LC10'\l\
|\ \ 115:\ ax:QI=0\l\
|\ \ 116:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 117:\ dx:SI=0x38\l\
|\ \ 118:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 119:\ di:DI=`*.LC11'\l\
|\ \ 120:\ ax:QI=0\l\
|\ \ 121:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 122:\ dx:SI=0x10\l\
|\ \ 123:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 124:\ di:DI=`*.LC12'\l\
|\ \ 125:\ ax:QI=0\l\
|\ \ 126:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 127:\ dx:SI=0x18\l\
|\ \ 128:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 129:\ di:DI=`*.LC13'\l\
|\ \ 130:\ ax:QI=0\l\
|\ \ 131:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 132:\ dx:SI=0x18\l\
|\ \ 133:\ si:DI=`__FUNCTION__.3495'\l\
|\ \ 134:\ di:DI=`*.LC14'\l\
|\ \ 135:\ ax:QI=0\l\
|\ \ 136:\ call\ [`rhp_log']\ argc:0\l\
|\ \ 137:\ [`rhp_inited']=0x1\l\
|\ \ 142:\ 0\l\
}"];

    fn_3_basic_block_0:s -> fn_3_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_2:s -> fn_3_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_2:s -> fn_3_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true, label="[0%]"];
    fn_3_basic_block_3:s -> fn_3_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_4:s -> fn_3_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_4:s -> fn_3_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true, label="[0%]"];
    fn_3_basic_block_5:s -> fn_3_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_5:s -> fn_3_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true, label="[0%]"];
    fn_3_basic_block_6:s -> fn_3_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[100%]"];
    fn_3_basic_block_7:s -> fn_3_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_7:s -> fn_3_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true, label="[0%]"];
    fn_3_basic_block_8:s -> fn_3_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_9:s -> fn_3_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[0%]"];
    fn_3_basic_block_10:s -> fn_3_basic_block_1:n [style="solid,bold",color=blue,weight=100,constraint=true, label="[100%]"];
    fn_3_basic_block_0:s -> fn_3_basic_block_1:n [style="invis",constraint=true];
}