[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