[PATCH] D68062: Propeller lld framework for basicblock sections
Han Shen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 25 17:02:17 PDT 2019
shenhan created this revision.
shenhan added a reviewer: ruiu.
Herald added subscribers: llvm-commits, tschuett, dexonsmith, steven_wu, MaskRay, arichardson, emaste, mehdi_amini.
Herald added a reviewer: espindola.
Herald added a project: LLVM.
Propeller lld framework for basicblock sections.
This is part of the Propeller framework to do post link code layout optimizations. Please see the RFC here: https://groups.google.com/forum/#!msg/llvm-dev/ef3mKzAdJ7U/1shV64BYBAAJ and the detailed RFC doc here: https://github.com/google/llvm-propeller/blob/plo-dev/Propeller_RFC.pdf
This is one in the series of patches for Propeller.
This patch adds the following to lld:
1. Parses each object file and create CFG for each function.
2. Applies propeller profiles to CFGs.
3. Calls FunctionReordering/BBReodering and generates symbol ordering file. [this part is in a separate CL]
Repository:
rLLD LLVM Linker
https://reviews.llvm.org/D68062
Files:
lld/ELF/Propeller.cpp
lld/ELF/Propeller.h
lld/ELF/PropellerELFCfg.cpp
lld/ELF/PropellerELFCfg.h
lld/test/ELF/propeller/Inputs/bad-propeller-1.data
lld/test/ELF/propeller/Inputs/bad-propeller-2.data
lld/test/ELF/propeller/Inputs/bad-propeller-3.data
lld/test/ELF/propeller/Inputs/bad-propeller-4.data
lld/test/ELF/propeller/Inputs/bad-propeller-5.data
lld/test/ELF/propeller/Inputs/propeller-2.data
lld/test/ELF/propeller/Inputs/propeller-3.data
lld/test/ELF/propeller/Inputs/propeller.data
lld/test/ELF/propeller/Inputs/sample.c
lld/test/ELF/propeller/propeller-bad-profile-1.s
lld/test/ELF/propeller/propeller-bad-profile-2.s
lld/test/ELF/propeller/propeller-bad-profile-3.s
lld/test/ELF/propeller/propeller-bad-profile-4.s
lld/test/ELF/propeller/propeller-bad-profile-5.s
lld/test/ELF/propeller/propeller-bbsections-dump.s
lld/test/ELF/propeller/propeller-compressed-strtab-lto.s
lld/test/ELF/propeller/propeller-compressed-strtab.s
lld/test/ELF/propeller/propeller-error-on-bblabels.s
lld/test/ELF/propeller/propeller-keep-bb-symbols.s
lld/test/ELF/propeller/propeller-lto-bbsections-dump.s
lld/test/ELF/propeller/propeller-opt-all-combinations.s
lld/test/ELF/propeller/propeller-skip.s
lld/test/ELF/propeller/propeller-symbol-order-dump.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68062.221862.patch
Type: text/x-patch
Size: 88003 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190926/d2f96ddc/attachment.bin>
More information about the llvm-commits
mailing list