Commit 7dc6b2f
build: add support for section ordering
Adds support for using a section ordering file with the gold linker.
This makes it possible to reorder functions in a build to optimize for
a specific workload.
`hfsort` is a tool that can be used to generate such a file from perf-
recorded last branch record (LBR) data by running Node.js as
`node --perf-basic-prof`.
Refs: https://github.com/facebook/hhvm/tree/9966d482c19c6120c621c6f3896525fb19fb3842/hphp/tools/hfsort
Refs: https://software.intel.com/content/www/us/en/develop/articles/runtime-optimization-blueprint-IA-optimization-with-last-branch-record.html
Refs: #16891
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com>
PR-URL: #35272
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>1 parent a4e5a3a commit 7dc6b2fCopy full SHA for 7dc6b2f
File tree
Expand file treeCollapse file tree
2 files changed
+49
-0
lines changedOpen diff view settings
Filter options
Expand file treeCollapse file tree
2 files changed
+49
-0
lines changedOpen diff view settings
Collapse file
+17Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
111 | 111 | |
112 | 112 | |
113 | 113 | |
| 114 | + |
| 115 | + |
| 116 | + |
114 | 117 | |
115 | 118 | |
116 | 119 | |
| ||
172 | 175 | |
173 | 176 | |
174 | 177 | |
| 178 | + |
| 179 | + |
| 180 | + |
| 181 | + |
| 182 | + |
| 183 | + |
| 184 | + |
| 185 | + |
| 186 | + |
| 187 | + |
| 188 | + |
| 189 | + |
| 190 | + |
| 191 | + |
175 | 192 | |
176 | 193 | |
177 | 194 | |
|
Collapse file
+32Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
455 | 455 | |
456 | 456 | |
457 | 457 | |
| 458 | + |
| 459 | + |
| 460 | + |
| 461 | + |
| 462 | + |
| 463 | + |
| 464 | + |
| 465 | + |
458 | 466 | |
459 | 467 | |
460 | 468 | |
| ||
1709 | 1717 | |
1710 | 1718 | |
1711 | 1719 | |
| 1720 | + |
| 1721 | + |
| 1722 | + |
| 1723 | + |
| 1724 | + |
| 1725 | + |
| 1726 | + |
| 1727 | + |
| 1728 | + |
| 1729 | + |
| 1730 | + |
| 1731 | + |
| 1732 | + |
| 1733 | + |
| 1734 | + |
| 1735 | + |
| 1736 | + |
| 1737 | + |
| 1738 | + |
| 1739 | + |
| 1740 | + |
| 1741 | + |
| 1742 | + |
1712 | 1743 | |
1713 | 1744 | |
1714 | 1745 | |
| ||
1774 | 1805 | |
1775 | 1806 | |
1776 | 1807 | |
| 1808 | + |
1777 | 1809 | |
1778 | 1810 | |
1779 | 1811 | |
|
0 commit comments