Skip to content

Commit c8dba68

Browse files
committedOct 24, 2018
[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
1 parent b40e052 commit c8dba68

35 files changed

+94
-79
lines changed
 

‎llvm/include/llvm/Transforms/Utils/CodeExtractor.h

+9-2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ class Value;
6464
unsigned NumExitBlocks = std::numeric_limits<unsigned>::max();
6565
Type *RetTy;
6666

67+
// Suffix to use when creating extracted function (appended to the original
68+
// function name + "."). If empty, the default is to use the entry block
69+
// label, if non-empty, otherwise "extracted".
70+
std::string Suffix;
71+
6772
public:
6873
/// Create a code extractor for a sequence of blocks.
6974
///
@@ -78,15 +83,17 @@ class Value;
7883
CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT = nullptr,
7984
bool AggregateArgs = false, BlockFrequencyInfo *BFI = nullptr,
8085
BranchProbabilityInfo *BPI = nullptr,
81-
bool AllowVarArgs = false, bool AllowAlloca = false);
86+
bool AllowVarArgs = false, bool AllowAlloca = false,
87+
std::string Suffix = "");
8288

8389
/// Create a code extractor for a loop body.
8490
///
8591
/// Behaves just like the generic code sequence constructor, but uses the
8692
/// block sequence of the loop.
8793
CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs = false,
8894
BlockFrequencyInfo *BFI = nullptr,
89-
BranchProbabilityInfo *BPI = nullptr);
95+
BranchProbabilityInfo *BPI = nullptr,
96+
std::string Suffix = "");
9097

9198
/// Perform the extraction, returning the new function.
9299
///

‎llvm/lib/Transforms/IPO/HotColdSplitting.cpp

+9-7
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ class HotColdSplitting {
265265
DominatorTree *DT, PostDomTree *PDT);
266266
Function *extractColdRegion(const SmallVectorImpl<BasicBlock *> &Region,
267267
DominatorTree *DT, BlockFrequencyInfo *BFI,
268-
OptimizationRemarkEmitter &ORE);
268+
OptimizationRemarkEmitter &ORE, unsigned Count);
269269
bool isOutlineCandidate(const SmallVectorImpl<BasicBlock *> &Region,
270270
const BasicBlock *Exit) const {
271271
if (!Exit)
@@ -331,16 +331,18 @@ bool HotColdSplitting::shouldOutlineFrom(const Function &F) const {
331331
return true;
332332
}
333333

334-
Function *
335-
HotColdSplitting::extractColdRegion(const SmallVectorImpl<BasicBlock *> &Region,
336-
DominatorTree *DT, BlockFrequencyInfo *BFI,
337-
OptimizationRemarkEmitter &ORE) {
334+
Function *HotColdSplitting::extractColdRegion(
335+
const SmallVectorImpl<BasicBlock *> &Region, DominatorTree *DT,
336+
BlockFrequencyInfo *BFI, OptimizationRemarkEmitter &ORE, unsigned Count) {
338337
assert(!Region.empty());
339338
LLVM_DEBUG(for (auto *BB : Region)
340339
llvm::dbgs() << "\nExtracting: " << *BB;);
341340

342341
// TODO: Pass BFI and BPI to update profile information.
343-
CodeExtractor CE(Region, DT);
342+
CodeExtractor CE(Region, DT, /* AggregateArgs */ false, /* BFI */ nullptr,
343+
/* BPI */ nullptr, /* AllowVarArgs */ false,
344+
/* AllowAlloca */ false,
345+
/* Suffix */ "cold." + std::to_string(Count));
344346

345347
SetVector<Value *> Inputs, Outputs, Sinks;
346348
CE.findInputsOutputs(Inputs, Outputs, Sinks);
@@ -426,7 +428,7 @@ const Function *HotColdSplitting::outlineColdBlocks(Function &F,
426428
++NumColdSESEFound;
427429
ValidColdRegion.push_back(ExitColdRegion);
428430
// Candidate for outlining. FIXME: Continue outlining.
429-
return extractColdRegion(ValidColdRegion, DT, BFI, ORE);
431+
return extractColdRegion(ValidColdRegion, DT, BFI, ORE, /* Count */ 1);
430432
}
431433
}
432434
}

‎llvm/lib/Transforms/Utils/CodeExtractor.cpp

+11-5
Original file line numberDiff line numberDiff line change
@@ -228,19 +228,21 @@ buildExtractionBlockSet(ArrayRef<BasicBlock *> BBs, DominatorTree *DT,
228228
CodeExtractor::CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT,
229229
bool AggregateArgs, BlockFrequencyInfo *BFI,
230230
BranchProbabilityInfo *BPI, bool AllowVarArgs,
231-
bool AllowAlloca)
231+
bool AllowAlloca, std::string Suffix)
232232
: DT(DT), AggregateArgs(AggregateArgs || AggregateArgsOpt), BFI(BFI),
233233
BPI(BPI), AllowVarArgs(AllowVarArgs),
234-
Blocks(buildExtractionBlockSet(BBs, DT, AllowVarArgs, AllowAlloca)) {}
234+
Blocks(buildExtractionBlockSet(BBs, DT, AllowVarArgs, AllowAlloca)),
235+
Suffix(Suffix) {}
235236

236237
CodeExtractor::CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs,
237238
BlockFrequencyInfo *BFI,
238-
BranchProbabilityInfo *BPI)
239+
BranchProbabilityInfo *BPI, std::string Suffix)
239240
: DT(&DT), AggregateArgs(AggregateArgs || AggregateArgsOpt), BFI(BFI),
240241
BPI(BPI), AllowVarArgs(false),
241242
Blocks(buildExtractionBlockSet(L.getBlocks(), &DT,
242243
/* AllowVarArgs */ false,
243-
/* AllowAlloca */ false)) {}
244+
/* AllowAlloca */ false)),
245+
Suffix(Suffix) {}
244246

245247
/// definedInRegion - Return true if the specified value is defined in the
246248
/// extracted region.
@@ -669,10 +671,14 @@ Function *CodeExtractor::constructFunction(const ValueSet &inputs,
669671
FunctionType::get(RetTy, paramTy,
670672
AllowVarArgs && oldFunction->isVarArg());
671673

674+
std::string SuffixToUse =
675+
Suffix.empty()
676+
? (header->getName().empty() ? "extracted" : header->getName().str())
677+
: Suffix;
672678
// Create the new function
673679
Function *newFunction = Function::Create(
674680
funcType, GlobalValue::InternalLinkage, oldFunction->getAddressSpace(),
675-
oldFunction->getName() + "_" + header->getName(), M);
681+
oldFunction->getName() + "." + SuffixToUse, M);
676682
// If the old function is no-throw, so is the new one.
677683
if (oldFunction->doesNotThrow())
678684
newFunction->setDoesNotThrow();

‎llvm/test/Transforms/BlockExtractor/extract-blocks.ll

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
; RUN: opt -S -extract-blocks -extract-blocks-file=%t -extract-blocks-erase-funcs %s | FileCheck %s --check-prefix=CHECK-ERASE
55

66
; CHECK-NO-ERASE: @foo(
7-
; CHECK-NO-ERASE: @foo_bb9(
8-
; CHECK-NO-ERASE: @foo_bb20(
7+
; CHECK-NO-ERASE: @foo.bb9(
8+
; CHECK-NO-ERASE: @foo.bb20(
99
; CHECK-ERASE: declare i32 @foo(
10-
; CHECK-ERASE: @foo_bb9(
11-
; CHECK-ERASE: @foo_bb20(
10+
; CHECK-ERASE: @foo.bb9(
11+
; CHECK-ERASE: @foo.bb20(
1212
define i32 @foo(i32 %arg, i32 %arg1) {
1313
bb:
1414
%tmp5 = icmp sgt i32 %arg, 0

‎llvm/test/Transforms/CodeExtractor/ExtractedFnEntryCount.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ entry:
2222
ret i32 %val
2323
}
2424

25-
; CHECK: @inlinedFunc.1_if.then(i1 %cond) !prof [[COUNT1:![0-9]+]]
25+
; CHECK: @inlinedFunc.1.if.then(i1 %cond) !prof [[COUNT1:![0-9]+]]
2626

2727

2828
!llvm.module.flags = !{!0}

‎llvm/test/Transforms/CodeExtractor/PartialInlineAnd.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ bb:
4141
; CHECK-LABEL: @dummy_caller
4242
; CHECK: br i1
4343
; CHECK: br i1
44-
; CHECK: call void @bar.1_
44+
; CHECK: call void @bar.1.
4545
; LIMIT-LABEL: @dummy_caller
4646
; LIMIT: br i1
4747
; LIMIT-NOT: br
48-
; LIMIT: call void @bar.1_
48+
; LIMIT: call void @bar.1.
4949
%tmp = tail call i32 @bar(i32 %arg)
5050
ret i32 %tmp
5151
}

‎llvm/test/Transforms/CodeExtractor/PartialInlineAndOr.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ bb:
4949
; CHECK: br i1
5050
; CHECK: br i1
5151
; CHECK: br i1
52-
; CHECK: call void @bar.1_
52+
; CHECK: call void @bar.1.
5353
; LIMIT-LABEL: @dummy_caller
5454
; LIMIT-NOT: br i1
5555
; LIMIT: call i32 @bar

‎llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll

+4-4
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ if.end:
5555
ret i32 %add
5656
}
5757
; CHECK-LABEL: @caller
58-
; CHECK: call void @callee_most.2_if.then(i32 %v
58+
; CHECK: call void @callee_most.2.if.then(i32 %v
5959
; CHECK: call i32 @callee_noinline(i32 %v)
60-
; CHECK: call void @callee_writeonly.1_if.then(i32 %v
60+
; CHECK: call void @callee_writeonly.1.if.then(i32 %v
6161
define i32 @caller(i32 %v) {
6262
entry:
6363
%c1 = call i32 @callee_most(i32 %v)
@@ -66,8 +66,8 @@ entry:
6666
ret i32 %c3
6767
}
6868

69-
; CHECK: define internal void @callee_writeonly.1_if.then(i32 %v, i32* %sub.out) {
70-
; CHECK: define internal void @callee_most.2_if.then(i32 %v, i32* %sub.out) [[FN_ATTRS:#[0-9]+]]
69+
; CHECK: define internal void @callee_writeonly.1.if.then(i32 %v, i32* %sub.out) {
70+
; CHECK: define internal void @callee_most.2.if.then(i32 %v, i32* %sub.out) [[FN_ATTRS:#[0-9]+]]
7171

7272
; attributes to preserve
7373
attributes #0 = {

‎llvm/test/Transforms/CodeExtractor/PartialInlineDebug.ll

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ if.end: ; preds = %if.then, %entry
2323

2424
; CHECK-LABEL: @caller
2525
; CHECK: codeRepl.i:
26-
; CHECK-NEXT: call void @callee.2_if.then(i32 %v, i32* %mul.loc.i), !dbg ![[DBG2:[0-9]+]]
26+
; CHECK-NEXT: call void @callee.2.if.then(i32 %v, i32* %mul.loc.i), !dbg ![[DBG2:[0-9]+]]
2727
define i32 @caller(i32 %v) !dbg !8 {
2828
entry:
2929
%call = call i32 @callee(i32 %v), !dbg !14
@@ -53,17 +53,17 @@ if.end:
5353

5454
; CHECK-LABEL: @caller2
5555
; CHECK: codeRepl.i:
56-
; CHECK-NEXT: call void @callee2.1_if.then(i32 %v, i32* %sub.loc.i), !dbg ![[DBG4:[0-9]+]]
56+
; CHECK-NEXT: call void @callee2.1.if.then(i32 %v, i32* %sub.loc.i), !dbg ![[DBG4:[0-9]+]]
5757
define i32 @caller2(i32 %v) !dbg !21 {
5858
entry:
5959
%call = call i32 @callee2(i32 %v), !dbg !22
6060
ret i32 %call
6161
}
6262

63-
; CHECK-LABEL: define internal void @callee2.1_if.then
63+
; CHECK-LABEL: define internal void @callee2.1.if.then
6464
; CHECK: br label %if.then, !dbg ![[DBG5:[0-9]+]]
6565

66-
; CHECK-LABEL: define internal void @callee.2_if.then
66+
; CHECK-LABEL: define internal void @callee.2.if.then
6767
; CHECK: br label %if.then, !dbg ![[DBG6:[0-9]+]]
6868

6969
; CHECK: ![[DBG1]] = !DILocation(line: 10, column: 7,

‎llvm/test/Transforms/CodeExtractor/PartialInlineEntryUpdate.ll

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ define internal i32 @Caller1(i1 %cond, i32* align 2 %align.val) !prof !3{
1717
entry:
1818
; CHECK-LABEL: @Caller1
1919
; CHECK: br
20-
; CHECK: call void @Func.1_
20+
; CHECK: call void @Func.1.
2121
; CHECK: br
22-
; CHECK: call void @Func.1_
22+
; CHECK: call void @Func.1.
2323
%val = call i32 @Func(i1 %cond, i32* %align.val)
2424
%val2 = call i32 @Func(i1 %cond, i32* %align.val)
2525
ret i32 %val
@@ -29,7 +29,7 @@ define internal i32 @Caller2(i1 %cond, i32* align 2 %align.val) !prof !2{
2929
entry:
3030
; CHECK-LABEL: @Caller2
3131
; CHECK: br
32-
; CHECK: call void @Func.1_
32+
; CHECK: call void @Func.1.
3333
%val = call i32 @Func(i1 %cond, i32* %align.val)
3434
ret i32 %val
3535
}

‎llvm/test/Transforms/CodeExtractor/PartialInlineInvokeProducesOutVal.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ bb5: ; preds = %bb4, %bb1, %bb
2626
; CHECK-LABEL: bb:
2727
; CHECK-NEXT: [[CALL26LOC:%.*]] = alloca i8*
2828
; CHECK-LABEL: codeRepl.i:
29-
; CHECK-NEXT: call void @bar.1_bb1(i8** [[CALL26LOC]])
29+
; CHECK-NEXT: call void @bar.1.bb1(i8** [[CALL26LOC]])
3030
define i8* @dummy_caller(i32 %arg) {
3131
bb:
3232
%tmp = tail call i8* @bar(i32 %arg)
3333
ret i8* %tmp
3434
}
3535

36-
; CHECK-LABEL: define internal void @bar.1_bb1
36+
; CHECK-LABEL: define internal void @bar.1.bb1
3737
; CHECK-LABEL: bb1:
3838
; CHECK-NEXT: %call26 = invoke i8* @invoke_callee()
3939
; CHECK-NEXT: to label %cont unwind label %lpad

‎llvm/test/Transforms/CodeExtractor/PartialInlineLiveAcross.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ declare void @foo(...) local_unnamed_addr #1
3636
define i32 @dummy_caller(i32 %arg) local_unnamed_addr #0 {
3737
; CHECK-LABEL: @dummy_caller
3838
; CHECK: codeRepl.i:
39-
; CHECK: call void @test.1_bb2()
39+
; CHECK: call void @test.1.bb2()
4040
; CHECK-NOT: load
4141
; CHECK br
4242

@@ -45,7 +45,7 @@ bb:
4545
ret i32 %tmp
4646
}
4747

48-
; CHECK-LABEL: define internal void @test.1_bb2()
48+
; CHECK-LABEL: define internal void @test.1.bb2()
4949
; CHECK: .exitStub:
5050
; CHECK-NOT: store i32 %tmp7, i32* %tmp7.out
5151
; CHECK: ret

‎llvm/test/Transforms/CodeExtractor/PartialInlineNoLiveOut.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ declare void @foo(...) local_unnamed_addr #0
3939
define i32 @dummy_caller(i32 %arg) local_unnamed_addr #0 {
4040
; CHECK-LABEL: @dummy_caller
4141
; CHECK: codeRepl.i:
42-
; CHECK: call void @test.1_bb2()
42+
; CHECK: call void @test.1.bb2()
4343
; CHECK-NOT: load
4444
; CHECK br
4545
bb:
4646
%tmp = tail call i32 @test(i32 %arg)
4747
ret i32 %tmp
4848
}
4949

50-
; CHECK-LABEL: define internal void @test.1_bb2()
50+
; CHECK-LABEL: define internal void @test.1.bb2()
5151
; CHECK: .exitStub:
5252
; CHECK-NOT: store i32 %tmp7, i32* %tmp7.out
5353
; CHECK: ret

‎llvm/test/Transforms/CodeExtractor/PartialInlineOr.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ bb:
4141
; CHECK-LABEL: @dummy_caller
4242
; CHECK: br i1
4343
; CHECK: br i1
44-
; CHECK: call void @bar.2_
44+
; CHECK: call void @bar.2.
4545
; LIMIT-LABEL: @dummy_caller
4646
; LIMIT-NOT: br
4747
; LIMIT: call i32 @bar(
@@ -84,7 +84,7 @@ bb5: ; preds = %bb4, %bb1
8484
define i32 @dummy_caller2(i32 %arg) local_unnamed_addr #0 {
8585
; CHECK: br i1
8686
; CHECK: br i1
87-
; CHECK: call {{.*}} @bar_multi_ret.1_
87+
; CHECK: call {{.*}} @bar_multi_ret.1.
8888
%tmp = tail call i32 @bar_multi_ret(i32 %arg)
8989
ret i32 %tmp
9090
}

‎llvm/test/Transforms/CodeExtractor/PartialInlineOrAnd.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ bb:
5252
; CHECK: br i1
5353
; CHECK: br i1
5454
; CHECK: br i1
55-
; CHECK: call void @bar.1_
55+
; CHECK: call void @bar.1.
5656
; LIMIT3-LABEL: @dummy_caller
5757
; LIMIT3: br i1
5858
; LIMIT3: br i1
5959
; LIMIT3-NOT: br i1
60-
; LIMIT3: call void @bar.1_
60+
; LIMIT3: call void @bar.1.
6161
; LIMIT2-LABEL: @dummy_caller
6262
; LIMIT2-NOT: br i1
6363
; LIMIT2: call i32 @bar(

‎llvm/test/Transforms/CodeExtractor/PartialInlinePGOMultiRegion.ll

+4-4
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,9 @@ define signext i32 @foo(i32 signext %value, i32 signext %ub) #0 !prof !30 {
109109
; CHECK-LABEL: @foo
110110
; CHECK-NOT: call signext i32 @bar
111111
; CHECK: codeRepl1.i:
112-
; CHECK: call void @bar.1_if.then
112+
; CHECK: call void @bar.1.if.then
113113
; CHECK: codeRepl.i:
114-
; CHECK: call void @bar.1_if.then2
114+
; CHECK: call void @bar.1.if.then2
115115
entry:
116116
%value.addr = alloca i32, align 4
117117
%ub.addr = alloca i32, align 4
@@ -123,11 +123,11 @@ entry:
123123
ret i32 %call
124124
}
125125

126-
; CHECK-LABEL: define internal void @bar.1_if.then2
126+
; CHECK-LABEL: define internal void @bar.1.if.then2
127127
; CHECK: .exitStub:
128128
; CHECK: ret void
129129

130-
; CHECK-LABEL: define internal void @bar.1_if.then
130+
; CHECK-LABEL: define internal void @bar.1.if.then
131131
; CHECK: .exitStub:
132132
; CHECK: ret void
133133

‎llvm/test/Transforms/CodeExtractor/PartialInlinePGORegion.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ define signext i32 @foo(i32 signext %value, i32 signext %ub) #0 !prof !30 {
6666
; CHECK-LABEL: @foo
6767
; CHECK: codeRepl.i:
6868
; CHECK-NOT: call signext i32 @bar
69-
; CHECK: call void @bar.1_if.then
69+
; CHECK: call void @bar.1.if.then
7070
entry:
7171
%value.addr = alloca i32, align 4
7272
%ub.addr = alloca i32, align 4
@@ -78,7 +78,7 @@ entry:
7878
ret i32 %call
7979
}
8080

81-
; CHECK-LABEL: define internal void @bar.1_if.then
81+
; CHECK-LABEL: define internal void @bar.1.if.then
8282
; CHECK: .exitStub:
8383
; CHECK: ret void
8484

‎llvm/test/Transforms/CodeExtractor/PartialInlineVarArg.ll

+3-3
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ bb:
3636
}
3737
; CHECK-LABEL: @caller1
3838
; CHECK: codeRepl.i:
39-
; CHECK-NEXT: call void (i32, i8**, i32, ...) @vararg.3_bb1(i32 %stat1.i, i8** %vargs.i, i32 %arg)
39+
; CHECK-NEXT: call void (i32, i8**, i32, ...) @vararg.3.bb1(i32 %stat1.i, i8** %vargs.i, i32 %arg)
4040

4141
define i32 @caller2(i32 %arg, float %arg2) {
4242
bb:
@@ -46,7 +46,7 @@ bb:
4646

4747
; CHECK-LABEL: @caller2
4848
; CHECK: codeRepl.i:
49-
; CHECK-NEXT: call void (i32, i8**, i32, ...) @vararg.3_bb1(i32 %stat1.i, i8** %vargs.i, i32 %arg, i32 10, float %arg2)
49+
; CHECK-NEXT: call void (i32, i8**, i32, ...) @vararg.3.bb1(i32 %stat1.i, i8** %vargs.i, i32 %arg, i32 10, float %arg2)
5050

5151
; Test case to check that we do not extract a vararg function, if va_end is in
5252
; a block that is not outlined.
@@ -104,4 +104,4 @@ entry:
104104

105105
; CHECK-LABEL: @caller_with_signext
106106
; CHECK: codeRepl.i:
107-
; CHECK-NEXT: call void (i32*, ...) @vararg2.1_cond.end(i32* %foo, i32 signext 8)
107+
; CHECK-NEXT: call void (i32*, ...) @vararg2.1.cond.end(i32* %foo, i32 signext 8)

‎llvm/test/Transforms/CodeExtractor/PartialInlineVarArgsDebug.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ if.end: ; preds = %if.then, %entry
1919

2020
; CHECK-LABEL: @caller
2121
; CHECK: codeRepl.i:
22-
; CHECK-NEXT: call void (i32, i32*, ...) @callee.1_if.then(i32 %v, i32* %mul.loc.i, i32 99), !dbg ![[DBG2:[0-9]+]]
22+
; CHECK-NEXT: call void (i32, i32*, ...) @callee.1.if.then(i32 %v, i32* %mul.loc.i, i32 99), !dbg ![[DBG2:[0-9]+]]
2323
define i32 @caller(i32 %v) !dbg !8 {
2424
entry:
2525
%call = call i32 (i32, ...) @callee(i32 %v, i32 99), !dbg !14
2626
ret i32 %call, !dbg !15
2727
}
2828

29-
; CHECK-LABEL: define internal void @callee.1_if.then
29+
; CHECK-LABEL: define internal void @callee.1.if.then
3030
; CHECK: br label %if.then, !dbg ![[DBG3:[0-9]+]]
3131

3232
; CHECK: ![[DBG1]] = !DILocation(line: 10, column: 7,

‎llvm/test/Transforms/CodeExtractor/SingleCondition.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ define internal i32 @dummyCaller(i1 %cond, i32* align 2 %align.val) {
1616
entry:
1717
; CHECK-LABEL: @dummyCaller
1818
; CHECK: br
19-
; CHECK: call void @inlinedFunc.1_
19+
; CHECK: call void @inlinedFunc.1.
2020
%val = call i32 @inlinedFunc(i1 %cond, i32* %align.val)
2121
ret i32 %val
2222
}

‎llvm/test/Transforms/CodeExtractor/X86/InheritTargetAttributes.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,5 @@ entry:
3636
attributes #0 = { nounwind readnone }
3737
attributes #1 = { nounwind uwtable "target-cpu"="x86-64" "target-features"="+sse4.1" }
3838

39-
; CHECK: define {{.*}} @inlinedFunc.1_if.then{{.*}} [[COUNT1:#[0-9]+]]
39+
; CHECK: define {{.*}} @inlinedFunc.1.if.then{{.*}} [[COUNT1:#[0-9]+]]
4040
; CHECK: [[COUNT1]] = { {{.*}} "target-cpu"="x86-64" "target-features"="+sse4.1" }

‎llvm/test/Transforms/CodeExtractor/cost.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,14 @@ declare i32 @foo(i32* %arg)
4747
define i32 @dummy_caller(i32* %arg) local_unnamed_addr {
4848
; CHECK-LABEL: @dummy_caller
4949
%tmp = call i32 @outline_region_notlikely(i32* %arg)
50-
; CHECK: call void @outline_region_notlikely.2_bb1
50+
; CHECK: call void @outline_region_notlikely.2.bb1
5151
%tmp2 = tail call i32 @outline_region_likely(i32* %arg)
5252
; CHECK: %tmp2 = tail call i32 @outline_region_likely(i32* %arg)
5353
ret i32 %tmp
5454

5555
}
5656

57-
; CHECK-LABEL: define internal void @outline_region_notlikely.2_bb1(i32* %arg) {
57+
; CHECK-LABEL: define internal void @outline_region_notlikely.2.bb1(i32* %arg) {
5858
; CHECK-NEXT: newFuncRoot:
5959

6060
!llvm.module.flags = !{!0}

‎llvm/test/Transforms/CodeExtractor/cost_meta.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ define i32 @dummy_caller(i32* %arg) local_unnamed_addr {
2828
}
2929

3030

31-
; CHECK-LABEL: define internal void @outline_region_notlikely.1_bb1(i32* %arg) {
31+
; CHECK-LABEL: define internal void @outline_region_notlikely.1.bb1(i32* %arg) {
3232
; CHECK-NEXT: newFuncRoot:
3333

3434
declare i32 @foo(i32 * %arg)

‎llvm/test/Transforms/CodeExtractor/inline_eh.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ entry:
4242
; CHECK: entry:
4343
; CHECK-NEXT: br i1
4444
; CHECK: codeRepl.i:
45-
; CHECK-NEXT: call void @callee.1_{{.*}}()
45+
; CHECK-NEXT: call void @callee.1.{{.*}}()
4646
call void @callee(i1 %cond)
4747
ret void
4848
}
4949

50-
; CHECK-LABEL: define {{.*}} @callee.1_{{.*}}() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
50+
; CHECK-LABEL: define {{.*}} @callee.1.{{.*}}() personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
5151
; CHECK: invoke void @bar()
5252
; CHECK: landingpad

‎llvm/test/Transforms/CodeExtractor/inline_eh_1.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ entry:
4242
; CHECK: entry:
4343
; CHECK-NEXT: br i1
4444
; CHECK: codeRepl.i:
45-
; CHECK-NEXT: call void @callee.1_{{.*}}()
45+
; CHECK-NEXT: call void @callee.1.{{.*}}()
4646
call void @callee(i1 %cond)
4747
ret void
4848
}
4949

50-
; CHECK-LABEL: define {{.*}} @callee.1_{{.*}}() personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*)
50+
; CHECK-LABEL: define {{.*}} @callee.1.{{.*}}() personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*)
5151
; CHECK: invoke void @bar()
5252
; CHECK: cleanuppad
5353
; CHECK-NEXT: cleanupret

‎llvm/test/Transforms/CodeExtractor/live_shrink.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ bb:
4141
; CHECK-NOT: llvm.lifetime
4242
; CHECK: br i1
4343
; CHECK: codeRepl.i:
44-
; CHECK: call void @_Z3foov.1_
44+
; CHECK: call void @_Z3foov.1.
4545

4646
tail call void @_Z3foov()
4747
ret void
4848
}
4949

50-
; CHECK-LABEL: define internal void @_Z3foov.1_
50+
; CHECK-LABEL: define internal void @_Z3foov.1.
5151
; CHECK: newFuncRoot:
5252
; CHECK-NEXT: %tmp = alloca %class.A
5353
; CHECK-NEXT: %tmp1 = bitcast %class.A* %tmp to i8*

‎llvm/test/Transforms/CodeExtractor/live_shrink_gep.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ bb:
4242
; CHECK-NOT: llvm.lifetime
4343
; CHECK: br i1
4444
; CHECK: codeRepl.i:
45-
; CHECK: call void @_Z3foov.1_
45+
; CHECK: call void @_Z3foov.1.
4646
tail call void @_Z3foov()
4747
ret void
4848
}
4949

50-
; CHECK-LABEL: define internal void @_Z3foov.1_
50+
; CHECK-LABEL: define internal void @_Z3foov.1.
5151
; CHECK: newFuncRoot:
5252
; CHECK-NEXT: %tmp = alloca %class.A
5353
; CHECK-NEXT: %tmp1 = getelementptr

‎llvm/test/Transforms/CodeExtractor/live_shrink_hoist.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ bb:
5050
ret void
5151
}
5252

53-
; CHECK-LABEL: define internal void @_Z3foov.1_
53+
; CHECK-LABEL: define internal void @_Z3foov.1.
5454
; CHECK: bb9:
5555
; CHECK: call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %tmp1)
5656
; CHECK: br label %.exitStub

‎llvm/test/Transforms/CodeExtractor/live_shrink_multiple.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ bb:
4242
ret void
4343
}
4444

45-
; CHECK-LABEL: define internal void @_Z3foov.1_
45+
; CHECK-LABEL: define internal void @_Z3foov.1.
4646
; CHECK: newFuncRoot:
4747
; CHECK-NEXT: alloca
4848
; CHECK-NEXT: bitcast

‎llvm/test/Transforms/CodeExtractor/unreachable-block.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
; RUN: opt -S -partial-inliner %s | FileCheck %s
22

33
; CHECK-LABEL: define void @dipsy(
4-
; CHECK-NEXT: call void @tinkywinky.1_ontrue()
4+
; CHECK-NEXT: call void @tinkywinky.1.ontrue()
55
; CHECK-NEXT: call void @patatuccio()
66
; CHECK-NEXT: ret void
77
; CHECK-NEXT: }
88

9-
; CHECK-LABEL: define internal void @tinkywinky.1_ontrue() {
9+
; CHECK-LABEL: define internal void @tinkywinky.1.ontrue() {
1010
; CHECK-NEXT: newFuncRoot:
1111
; CHECK-NEXT: br label %ontrue
1212
; CHECK: onfalse{{.*}}:

‎llvm/test/Transforms/HotColdSplit/minsize.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
; CHECK-LABEL: @fun
44
; CHECK: codeRepl:
5-
; CHECK-NEXT: call void @fun_if.else
5+
; CHECK-NEXT: call void @fun.cold.1
66

77
define void @fun() {
88
entry:
@@ -28,5 +28,5 @@ cleanup:
2828
unreachable
2929
}
3030

31-
; CHECK: define {{.*}} @fun_if.else{{.*}}#[[outlined_func_attr:[0-9]+]]
31+
; CHECK: define {{.*}} @fun.cold.1{{.*}}#[[outlined_func_attr:[0-9]+]]
3232
; CHECK: attributes #[[outlined_func_attr]] = { {{.*}}minsize

‎llvm/test/Transforms/HotColdSplit/split-cold-2.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
; Make sure this compiles. This test used to fail with an invalid phi node: the
55
; two predecessors were outlined and the SSA representation was invalid.
66

7-
; CHECK: remark: <unknown>:0:0: fun split cold code into fun_if.else
7+
; CHECK: remark: <unknown>:0:0: fun split cold code into fun.cold.1
88
; CHECK-LABEL: @fun
99
; CHECK: codeRepl:
10-
; CHECK-NEXT: call void @fun_if.else
10+
; CHECK-NEXT: call void @fun.cold.1
1111

1212
define void @fun() {
1313
entry:

‎llvm/test/Transforms/HotColdSplit/split-out-dbg-val-of-arg.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; RUN: opt -hotcoldsplit -S < %s | FileCheck %s
22

3-
; CHECK-LABEL: define {{.*}}@foo_if.end
3+
; CHECK-LABEL: define {{.*}}@foo.cold
44
; CHECK-NOT: llvm.dbg.value
55

66
define void @foo(i32 %arg1) !dbg !6 {

‎llvm/test/tools/llvm-extract/extract-block.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ bb:
1212
ret void
1313
}
1414

15-
; CHECK: @foo_bb4
15+
; CHECK: @foo.bb4
1616
; CHECK: call void @bar()
1717
; CHECK: %tmp5
1818
define i32 @foo(i32 %arg) {

‎llvm/test/tools/llvm-extract/extract-multiple-blocks.ll

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
; RUN: llvm-extract -S -bb foo:bb4 -bb foo:bb7 %s | FileCheck %s
22

3-
; CHECK: @foo_bb4
4-
; CHECK: @foo_bb7
3+
; CHECK: @foo.bb4
4+
; CHECK: @foo.bb7
55
define i32 @foo(i32 %arg) {
66
bb:
77
%tmp = alloca i32, align 4

0 commit comments

Comments
 (0)
Please sign in to comment.