3 Commits

Author SHA1 Message Date
Teresa Johnson
0c69da83b3 [hot-cold-split] Name split functions with ".cold" suffix
Summary:
The current default of appending "_"+entry block label to the new
extracted cold function breaks demangling. Change the deliminator from
"_" to "." to enable demangling. Because the header block label will
be empty for release compile code, use "extracted" after the "." when
the label is empty.

Additionally, add a mechanism for the client to pass in an alternate
suffix applied after the ".", and have the hot cold split pass use
"cold."+Count, where the Count is currently 1 but can be used to
uniquely number multiple cold functions split out from the same function
with D53588.

Reviewers: sebpop, hiraditya

Subscribers: llvm-commits, erik.pilkington

Differential Revision: https://reviews.llvm.org/D53534

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345178 91177308-0d34-0410-b5e6-96231b3b80d8
2018-10-24 18:53:47 +00:00
Volkan Keles
7b396b7a54 BlockExtractor: Don’t delete functions directly
Blocks may have function calls, so don’t erase functions
directly to avoid erasing a function that has a user.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327340 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-12 22:28:18 +00:00
Volkan Keles
22b2564581 [llvm-extract] Support extracting basic blocks
Summary:
Currently, there is no way to extract a basic block from a function easily. This patch
extends llvm-extract to extract the specified basic block(s).

Reviewers: loladiro, rafael, bogner

Reviewed By: bogner

Subscribers: hintonda, mgorny, qcolombet, llvm-commits

Differential Revision: https://reviews.llvm.org/D41638

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@323266 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-23 21:51:34 +00:00