diff options
author | Teresa Johnson <tejohnson@google.com> | 2018-10-24 18:53:47 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2018-10-24 18:53:47 +0000 |
commit | c8dba682bba9c80654d7a10331f718da9b7b0475 (patch) | |
tree | 319803db7b4c42403065259031055708cb8362cf /llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll | |
parent | b40e0520e1b0c401c38aee194c0f7ef6f7849e98 (diff) | |
download | bcm5719-llvm-c8dba682bba9c80654d7a10331f718da9b7b0475.tar.gz bcm5719-llvm-c8dba682bba9c80654d7a10331f718da9b7b0475.zip |
[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
llvm-svn: 345178
Diffstat (limited to 'llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll')
-rw-r--r-- | llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll b/llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll index 40170846392..18c934bc6a1 100644 --- a/llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll +++ b/llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll @@ -55,9 +55,9 @@ if.end: ret i32 %add } ; CHECK-LABEL: @caller -; CHECK: call void @callee_most.2_if.then(i32 %v +; CHECK: call void @callee_most.2.if.then(i32 %v ; CHECK: call i32 @callee_noinline(i32 %v) -; CHECK: call void @callee_writeonly.1_if.then(i32 %v +; CHECK: call void @callee_writeonly.1.if.then(i32 %v define i32 @caller(i32 %v) { entry: %c1 = call i32 @callee_most(i32 %v) @@ -66,8 +66,8 @@ entry: ret i32 %c3 } -; CHECK: define internal void @callee_writeonly.1_if.then(i32 %v, i32* %sub.out) { -; CHECK: define internal void @callee_most.2_if.then(i32 %v, i32* %sub.out) [[FN_ATTRS:#[0-9]+]] +; CHECK: define internal void @callee_writeonly.1.if.then(i32 %v, i32* %sub.out) { +; CHECK: define internal void @callee_most.2.if.then(i32 %v, i32* %sub.out) [[FN_ATTRS:#[0-9]+]] ; attributes to preserve attributes #0 = { |