[PATCH] D15503: [PGO] Shorten profile symbol prefixes

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 14 15:31:30 PST 2015


Xinliang David Li <davidxl at google.com> writes:
> Since I don't hear problems with the patch (other than name verbosity
> which Diego thinks shorter form is more readable ;) ), I will commit
> the patch soon.

For the record, I find the new names completely unreadable. I'd probably
go with profn profd and profc if we want something absurdly short - prf
could easily be an abbreviation for perf or something like that which is
confusing.

> thanks,
>
> David
>
> On Mon, Dec 14, 2015 at 1:10 PM, Justin Bogner <mail at justinbogner.com> wrote:
>> David Li <davidxl at google.com> writes:
>>> Unlike profile data section names, profile symbol names (for data,
>>> counter and func names) are not part of runtime ABI. They can be
>>> changed to anything (given no name conflict) without changing profile
>>> format. Current naming scheme is to prefix the owning function name
>>> with long prefixes: llvm_profile_name_, llvm_profile_counters_,
>>> __llvm_profile_data_. For large C++ programs, this scheme can add to
>>> large overhead to the size of non-stripped binary and total input
>>> object size to the linker.
>>>
>>> This patch shortens the prefixes without losing the symbol name
>>> 'readability'.
>>>
>>> The impact of this change: Clang profile-instr binary size is reduced
>>> by 7M, and the total instrumented object size is reduced by ~40M. For
>>> larger apps, the savings can be easily hundreds of mega byes.
>>>
>>> The test case changes are mechanical -- they are not included in the
>>> review.
>>
>> Can't we just make these symbols unnamed or internal so that they don't
>> even show up in the final object files? The more verbose names in llvm
>> IR are kind of nice for readability.
>>
>>> davidxl updated this revision to Diff 42750.
>>> davidxl added a comment.
>>>
>>> Include LLVM test changes as requested.
>>>
>>>
>>> http://reviews.llvm.org/D15503
>>>
>>> Files:
>>>   include/llvm/ProfileData/InstrProf.h
>>>   test/Instrumentation/InstrProfiling/PR23499.ll
>>>   test/Instrumentation/InstrProfiling/linkage.ll
>>>   test/Instrumentation/InstrProfiling/no-counters.ll
>>>   test/Instrumentation/InstrProfiling/noruntime.ll
>>>   test/Instrumentation/InstrProfiling/platform.ll
>>>   test/Instrumentation/InstrProfiling/profiling.ll
>>>   test/Transforms/PGOProfile/branch1.ll
>>>   test/Transforms/PGOProfile/branch2.ll
>>>   test/Transforms/PGOProfile/criticaledge.ll
>>>   test/Transforms/PGOProfile/landingpad.ll
>>>   test/Transforms/PGOProfile/loop1.ll
>>>   test/Transforms/PGOProfile/loop2.ll
>>>   test/Transforms/PGOProfile/single_bb.ll
>>>   test/Transforms/PGOProfile/switch.ll
>>>
>>> Index: test/Transforms/PGOProfile/switch.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/switch.ll
>>> +++ test/Transforms/PGOProfile/switch.ll
>>> @@ -4,7 +4,7 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_test_switch = private constant [11 x
> i8] c"test_switch"
>>> +; GEN: @__prf_nm_test_switch = private constant [11 x i8] c"test_switch"
>>>
>>>  define void @test_switch(i32 %i) {
>>>  entry:
>>> @@ -21,22 +21,22 @@
>>>
>>>  sw.bb:
>>>  ; GEN: sw.bb:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__llvm_profile_name_test_switch, i32
> 0, i32 0), i64 46200943743, i32 4, i32 2)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__prf_nm_test_switch, i32 0, i32 0),
> i64 46200943743, i32 4, i32 2)
>>>    br label %sw.epilog
>>>
>>>  sw.bb1:
>>>  ; GEN: sw.bb1:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__llvm_profile_name_test_switch, i32
> 0, i32 0), i64 46200943743, i32 4, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__prf_nm_test_switch, i32 0, i32 0),
> i64 46200943743, i32 4, i32 0)
>>>    br label %sw.epilog
>>>
>>>  sw.bb2:
>>>  ; GEN: sw.bb2:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__llvm_profile_name_test_switch, i32
> 0, i32 0), i64 46200943743, i32 4, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__prf_nm_test_switch, i32 0, i32 0),
> i64 46200943743, i32 4, i32 1)
>>>    br label %sw.epilog
>>>
>>>  sw.default:
>>>  ; GEN: sw.default:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__llvm_profile_name_test_switch, i32
> 0, i32 0), i64 46200943743, i32 4, i32 3)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__prf_nm_test_switch, i32 0, i32 0),
> i64 46200943743, i32 4, i32 3)
>>>    br label %sw.epilog
>>>
>>>  sw.epilog:
>>> Index: test/Transforms/PGOProfile/single_bb.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/single_bb.ll
>>> +++ test/Transforms/PGOProfile/single_bb.ll
>>> @@ -2,11 +2,11 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_single_bb = private constant [9 x i8]
> c"single_bb"
>>> +; GEN: @__prf_nm_single_bb = private constant [9 x i8] c"single_bb"
>>>
>>>  define i32 @single_bb() {
>>>  entry:
>>>  ; GEN: entry:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__llvm_profile_name_single_bb, i32 0,
> i32 0), i64 12884901887, i32 1, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__prf_nm_single_bb, i32 0, i32 0), i64
> 12884901887, i32 1, i32 0)
>>>    ret i32 0
>>>  }
>>> Index: test/Transforms/PGOProfile/loop2.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/loop2.ll
>>> +++ test/Transforms/PGOProfile/loop2.ll
>>> @@ -4,7 +4,7 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_test_nested_for = private constant [15
> x i8] c"test_nested_for"
>>> +; GEN: @__prf_nm_test_nested_for = private constant [15 x i8]
> c"test_nested_for"
>>>
>>>  define i32 @test_nested_for(i32 %r, i32 %s) {
>>>  entry:
>>> @@ -45,7 +45,7 @@
>>>
>>>  for.inc.inner:
>>>  ; GEN: for.inc.inner:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__llvm_profile_name_test_nested_for,
> i32 0, i32 0), i64 53929068288, i32 3, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__prf_nm_test_nested_for, i32 0, i32
> 0), i64 53929068288, i32 3, i32 0)
>>>    %inc.1 = add nsw i32 %j.0, 1
>>>    br label %for.cond.inner
>>>
>>> @@ -55,13 +55,13 @@
>>>
>>>  for.inc.outer:
>>>  ; GEN: for.inc.outer:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__llvm_profile_name_test_nested_for,
> i32 0, i32 0), i64 53929068288, i32 3, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__prf_nm_test_nested_for, i32 0, i32
> 0), i64 53929068288, i32 3, i32 1)
>>>    %inc.2 = add nsw i32 %i.0, 1
>>>    br label %for.cond.outer
>>>
>>>  for.end.outer:
>>>  ; GEN: for.end.outer:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__llvm_profile_name_test_nested_for,
> i32 0, i32 0), i64 53929068288, i32 3, i32 2)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__prf_nm_test_nested_for, i32 0, i32
> 0), i64 53929068288, i32 3, i32 2)
>>>    ret i32 %sum.0
>>>  }
>>>
>>> Index: test/Transforms/PGOProfile/loop1.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/loop1.ll
>>> +++ test/Transforms/PGOProfile/loop1.ll
>>> @@ -4,7 +4,7 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_test_simple_for = private constant [15
> x i8] c"test_simple_for"
>>> +; GEN: @__prf_nm_test_simple_for = private constant [15 x i8]
> c"test_simple_for"
>>>
>>>  define i32 @test_simple_for(i32 %n) {
>>>  entry:
>>> @@ -31,12 +31,12 @@
>>>
>>>  for.inc:
>>>  ; GEN: for.inc:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__llvm_profile_name_test_simple_for,
> i32 0, i32 0), i64 34137660316, i32 2, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__prf_nm_test_simple_for, i32 0, i32
> 0), i64 34137660316, i32 2, i32 0)
>>>    %inc1 = add nsw i32 %i, 1
>>>    br label %for.cond
>>>
>>>  for.end:
>>>  ; GEN: for.end:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__llvm_profile_name_test_simple_for,
> i32 0, i32 0), i64 34137660316, i32 2, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([15 x i8], [15 x i8]* @__prf_nm_test_simple_for, i32 0, i32
> 0), i64 34137660316, i32 2, i32 1)
>>>    ret i32 %sum
>>>  }
>>> Index: test/Transforms/PGOProfile/landingpad.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/landingpad.ll
>>> +++ test/Transforms/PGOProfile/landingpad.ll
>>> @@ -6,8 +6,8 @@
>>>
>>>  @val = global i32 0, align 4
>>>  @_ZTIi = external constant i8*
>>> -; GEN: @__llvm_profile_name_bar = private constant [3 x i8] c"bar"
>>> -; GEN: @__llvm_profile_name_foo = private constant [3 x i8] c"foo"
>>> +; GEN: @__prf_nm_bar = private constant [3 x i8] c"bar"
>>> +; GEN: @__prf_nm_foo = private constant [3 x i8] c"foo"
>>>
>>>  define i32 @bar(i32 %i) {
>>>  entry:
>>> @@ -21,7 +21,7 @@
>>>
>>>  if.then:
>>>  ; GEN: if.then:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__llvm_profile_name_bar, i32 0, i32 0),
> i64 24868915205, i32 2, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__prf_nm_bar, i32 0, i32 0), i64
> 24868915205, i32 2, i32 1)
>>>    %exception = call i8* @__cxa_allocate_exception(i64 4)
>>>    %tmp = bitcast i8* %exception to i32*
>>>    store i32 %i, i32* %tmp, align 16
>>> @@ -30,7 +30,7 @@
>>>
>>>  if.end:
>>>  ; GEN: if.end:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__llvm_profile_name_bar, i32 0, i32 0),
> i64 24868915205, i32 2, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__prf_nm_bar, i32 0, i32 0), i64
> 24868915205, i32 2, i32 0)
>>>    ret i32 0
>>>  }
>>>
>>> @@ -57,7 +57,7 @@
>>>
>>>  invoke.cont:
>>>  ; GEN: invoke.cont:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0),
> i64 59130013419, i32 4, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64
> 59130013419, i32 4, i32 1)
>>>    br label %if.end
>>>
>>>  lpad:
>>> @@ -80,7 +80,7 @@
>>>
>>>  catch:
>>>  ; GEN: catch:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0),
> i64 59130013419, i32 4, i32 2)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64
> 59130013419, i32 4, i32 2)
>>>    %tmp4 = call i8* @__cxa_begin_catch(i8* %tmp1)
>>>    %tmp5 = bitcast i8* %tmp4 to i32*
>>>    %tmp6 = load i32, i32* %tmp5, align 4
>>> @@ -97,7 +97,7 @@
>>>
>>>  if.end:
>>>  ; GEN: if.end:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0),
> i64 59130013419, i32 4, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64
> 59130013419, i32 4, i32 0)
>>>    %tmp8 = load i32, i32* @val, align 4
>>>    %add = add nsw i32 %tmp8, %i
>>>    store i32 %add, i32* @val, align 4
>>> @@ -105,7 +105,7 @@
>>>
>>>  eh.resume:
>>>  ; GEN: eh.resume:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0),
> i64 59130013419, i32 4, i32 3)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64
> 59130013419, i32 4, i32 3)
>>>    %lpad.val = insertvalue { i8*, i32 } undef, i8* %tmp1, 0
>>>    %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %tmp2, 1
>>>    resume { i8*, i32 } %lpad.val3
>>> Index: test/Transforms/PGOProfile/criticaledge.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/criticaledge.ll
>>> +++ test/Transforms/PGOProfile/criticaledge.ll
>>> @@ -4,8 +4,8 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_test_criticalEdge = private constant
> [17 x i8] c"test_criticalEdge"
>>> -; GEN: @__llvm_profile_name__stdin__bar = private constant [11 x
> i8] c"<stdin>:bar"
>>> +; GEN: @__prf_nm_test_criticalEdge = private constant [17 x i8]
> c"test_criticalEdge"
>>> +; GEN: @__prf_nm__stdin__bar = private constant [11 x i8] c"<stdin>:bar"
>>>
>>>  define i32 @test_criticalEdge(i32 %i, i32 %j) {
>>>  entry:
>>> @@ -24,22 +24,22 @@
>>>  ; USE-SAME: !prof ![[BW_SWITCH:[0-9]+]]
>>>
>>>  ; CHECK: entry.sw.bb2_crit_edge1:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 1)
>>>  ; CHECK:   br label %sw.bb2
>>>
>>>  ; CHECK: entry.sw.bb2_crit_edge:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 0)
>>>  ; CHECK:   br label %sw.bb2
>>>
>>>  sw.bb:
>>>  ; GEN: sw.bb:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 5)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 5)
>>>    %call = call i32 @bar(i32 2)
>>>    br label %sw.epilog
>>>
>>>  sw.bb1:
>>>  ; GEN: sw.bb1:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 4)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 4)
>>>    %call2 = call i32 @bar(i32 1024)
>>>    br label %sw.epilog
>>>
>>> @@ -53,13 +53,13 @@
>>>
>>>  if.then:
>>>  ; GEN: if.then:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 2)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 2)
>>>    %call4 = call i32 @bar(i32 4)
>>>    br label %return
>>>
>>>  if.end:
>>>  ; GEN: if.end:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 3)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 3)
>>>    %call5 = call i32 @bar(i32 8)
>>>    br label %sw.epilog
>>>
>>> @@ -74,13 +74,13 @@
>>>
>>>  if.then8:
>>>  ; GEN: if.then8:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 7)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 7)
>>>    %add = add nsw i32 %call6, 10
>>>    br label %if.end9
>>>
>>>  if.end9:
>>>  ; GEN: if.end9:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]*
> @__llvm_profile_name_test_criticalEdge, i32 0, i32 0), i64
> 82323253069, i32 8, i32 6)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([17 x i8], [17 x i8]* @__prf_nm_test_criticalEdge, i32 0,
> i32 0), i64 82323253069, i32 8, i32 6)
>>>    %res.0 = phi i32 [ %add, %if.then8 ], [ %call6, %sw.default ]
>>>    br label %sw.epilog
>>>
>>> @@ -99,7 +99,7 @@
>>>
>>>  define internal i32 @bar(i32 %i) {
>>>  entry:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__llvm_profile_name__stdin__bar, i32
> 0, i32 0), i64 12884901887, i32 1, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([11 x i8], [11 x i8]* @__prf_nm__stdin__bar, i32 0, i32 0),
> i64 12884901887, i32 1, i32 0)
>>>    ret i32 %i
>>>  }
>>>
>>> Index: test/Transforms/PGOProfile/branch2.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/branch2.ll
>>> +++ test/Transforms/PGOProfile/branch2.ll
>>> @@ -4,7 +4,7 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_test_br_2 = private constant [9 x i8]
> c"test_br_2"
>>> +; GEN: @__prf_nm_test_br_2 = private constant [9 x i8] c"test_br_2"
>>>
>>>  define i32 @test_br_2(i32 %i) {
>>>  entry:
>>> @@ -18,13 +18,13 @@
>>>
>>>  if.then:
>>>  ; GEN: if.then:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__llvm_profile_name_test_br_2, i32 0,
> i32 0), i64 29667547796, i32 2, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__prf_nm_test_br_2, i32 0, i32 0), i64
> 29667547796, i32 2, i32 0)
>>>    %add = add nsw i32 %i, 2
>>>    br label %if.end
>>>
>>>  if.else:
>>>  ; GEN: if.else:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__llvm_profile_name_test_br_2, i32 0,
> i32 0), i64 29667547796, i32 2, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__prf_nm_test_br_2, i32 0, i32 0), i64
> 29667547796, i32 2, i32 1)
>>>    %sub = sub nsw i32 %i, 2
>>>    br label %if.end
>>>
>>> Index: test/Transforms/PGOProfile/branch1.ll
>>> ===================================================================
>>> --- test/Transforms/PGOProfile/branch1.ll
>>> +++ test/Transforms/PGOProfile/branch1.ll
>>> @@ -4,7 +4,7 @@
>>>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>>>  target triple = "x86_64-unknown-linux-gnu"
>>>
>>> -; GEN: @__llvm_profile_name_test_br_1 = private constant [9 x i8]
> c"test_br_1"
>>> +; GEN: @__prf_nm_test_br_1 = private constant [9 x i8] c"test_br_1"
>>>
>>>  define i32 @test_br_1(i32 %i) {
>>>  entry:
>>> @@ -18,13 +18,13 @@
>>>
>>>  if.then:
>>>  ; GEN: if.then:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__llvm_profile_name_test_br_1, i32 0,
> i32 0), i64 25571299074, i32 2, i32 1)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__prf_nm_test_br_1, i32 0, i32 0), i64
> 25571299074, i32 2, i32 1)
>>>    %add = add nsw i32 %i, 2
>>>    br label %if.end
>>>
>>>  if.end:
>>>  ; GEN: if.end:
>>> -; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__llvm_profile_name_test_br_1, i32 0,
> i32 0), i64 25571299074, i32 2, i32 0)
>>> +; GEN: call void @llvm.instrprof.increment(i8* getelementptr
> inbounds ([9 x i8], [9 x i8]* @__prf_nm_test_br_1, i32 0, i32 0), i64
> 25571299074, i32 2, i32 0)
>>>    %retv = phi i32 [ %add, %if.then ], [ %i, %entry ]
>>>    ret i32 %retv
>>>  }
>>> Index: test/Instrumentation/InstrProfiling/profiling.ll
>>> ===================================================================
>>> --- test/Instrumentation/InstrProfiling/profiling.ll
>>> +++ test/Instrumentation/InstrProfiling/profiling.ll
>>> @@ -2,37 +2,37 @@
>>>
>>>  target triple = "x86_64-apple-macosx10.10.0"
>>>
>>> - at __llvm_profile_name_foo = hidden constant [3 x i8] c"foo"
>>> -; CHECK: @__llvm_profile_name_foo = hidden constant [3 x i8]
> c"foo", section "__DATA,__llvm_prf_names", align 1
>>> - at __llvm_profile_name_bar = hidden constant [4 x i8] c"bar\00"
>>> -; CHECK: @__llvm_profile_name_bar = hidden constant [4 x i8]
> c"bar\00", section "__DATA,__llvm_prf_names", align 1
>>> - at __llvm_profile_name_baz = hidden constant [3 x i8] c"baz"
>>> -; CHECK: @__llvm_profile_name_baz = hidden constant [3 x i8]
> c"baz", section "__DATA,__llvm_prf_names", align 1
>>> + at __prf_nm_foo = hidden constant [3 x i8] c"foo"
>>> +; CHECK: @__prf_nm_foo = hidden constant [3 x i8] c"foo", section
> "__DATA,__llvm_prf_names", align 1
>>> + at __prf_nm_bar = hidden constant [4 x i8] c"bar\00"
>>> +; CHECK: @__prf_nm_bar = hidden constant [4 x i8] c"bar\00",
> section "__DATA,__llvm_prf_names", align 1
>>> + at __prf_nm_baz = hidden constant [3 x i8] c"baz"
>>> +; CHECK: @__prf_nm_baz = hidden constant [3 x i8] c"baz", section
> "__DATA,__llvm_prf_names", align 1
>>>
>>> -; CHECK: @__llvm_profile_counters_foo = hidden global [1 x i64]
> zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
>>> -; CHECK: @__llvm_profile_data_foo = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>> +; CHECK: @__prf_cn_foo = hidden global [1 x i64] zeroinitializer,
> section "__DATA,__llvm_prf_cnts", align 8
>>> +; CHECK: @__prf_dt_foo = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>>  define void @foo() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0), i64 0,
> i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64 0, i32 1, i32
> 0)
>>>    ret void
>>>  }
>>>
>>> -; CHECK: @__llvm_profile_counters_bar = hidden global [1 x i64]
> zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
>>> -; CHECK: @__llvm_profile_data_bar = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>> +; CHECK: @__prf_cn_bar = hidden global [1 x i64] zeroinitializer,
> section "__DATA,__llvm_prf_cnts", align 8
>>> +; CHECK: @__prf_dt_bar = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>>  define void @bar() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([4 x i8], [4 x i8]* @__llvm_profile_name_bar, i32 0, i32 0), i64 0,
> i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([4 x i8], [4 x i8]* @__prf_nm_bar, i32 0, i32 0), i64 0, i32 1, i32
> 0)
>>>    ret void
>>>  }
>>>
>>> -; CHECK: @__llvm_profile_counters_baz = hidden global [3 x i64]
> zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
>>> -; CHECK: @__llvm_profile_data_baz = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>> +; CHECK: @__prf_cn_baz = hidden global [3 x i64] zeroinitializer,
> section "__DATA,__llvm_prf_cnts", align 8
>>> +; CHECK: @__prf_dt_baz = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>>  define void @baz() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_baz, i32 0, i32 0), i64 0,
> i32 3, i32 0)
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_baz, i32 0, i32 0), i64 0,
> i32 3, i32 1)
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_baz, i32 0, i32 0), i64 0,
> i32 3, i32 2)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_baz, i32 0, i32 0), i64 0, i32 3, i32
> 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_baz, i32 0, i32 0), i64 0, i32 3, i32
> 1)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_baz, i32 0, i32 0), i64 0, i32 3, i32
> 2)
>>>    ret void
>>>  }
>>>
>>>  declare void @llvm.instrprof.increment(i8*, i64, i32, i32)
>>>
>>>  ; CHECK: @__llvm_profile_runtime = external global i32
>>> -; CHECK: @llvm.used = appending global {{.*}}
> @__llvm_profile_data_foo {{.*}} @__llvm_profile_data_bar {{.*}}
> @__llvm_profile_data_baz {{.*}} section "llvm.metadata"
>>> +; CHECK: @llvm.used = appending global {{.*}} @__prf_dt_foo {{.*}}
> @__prf_dt_bar {{.*}} @__prf_dt_baz {{.*}} section "llvm.metadata"
>>> Index: test/Instrumentation/InstrProfiling/platform.ll
>>> ===================================================================
>>> --- test/Instrumentation/InstrProfiling/platform.ll
>>> +++ test/Instrumentation/InstrProfiling/platform.ll
>>> @@ -5,20 +5,20 @@
>>> ; RUN: opt < %s -mtriple=x86_64-unknown-freebsd -instrprof -S |
> FileCheck %s -check-prefix=FREEBSD
>>> ; RUN: opt < %s -mtriple=x86_64-pc-solaris -instrprof -S |
> FileCheck %s -check-prefix=SOLARIS
>>>
>>> - at __llvm_profile_name_foo = hidden constant [3 x i8] c"foo"
>>> -; MACHO: @__llvm_profile_name_foo = hidden constant [3 x i8]
> c"foo", section "__DATA,__llvm_prf_names", align 1
>>> -; ELF: @__llvm_profile_name_foo = hidden constant [3 x i8] c"foo",
> section "__llvm_prf_names", align 1
>>> + at __prf_nm_foo = hidden constant [3 x i8] c"foo"
>>> +; MACHO: @__prf_nm_foo = hidden constant [3 x i8] c"foo", section
> "__DATA,__llvm_prf_names", align 1
>>> +; ELF: @__prf_nm_foo = hidden constant [3 x i8] c"foo", section
> "__llvm_prf_names", align 1
>>>
>>> -; MACHO: @__llvm_profile_counters_foo = hidden global [1 x i64]
> zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
>>> -; ELF: @__llvm_profile_counters_foo = hidden global [1 x i64]
> zeroinitializer, section "__llvm_prf_cnts", align 8
>>> +; MACHO: @__prf_cn_foo = hidden global [1 x i64] zeroinitializer,
> section "__DATA,__llvm_prf_cnts", align 8
>>> +; ELF: @__prf_cn_foo = hidden global [1 x i64] zeroinitializer,
> section "__llvm_prf_cnts", align 8
>>>
>>> -; MACHO: @__llvm_profile_data_foo = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>> -; LINUX: @__llvm_profile_data_foo = hidden {{.*}}, section
> "__llvm_prf_data", align 8
>>> -; FREEBSD: @__llvm_profile_data_foo = hidden {{.*}}, section
> "__llvm_prf_data", align 8
>>> -; SOLARIS: @__llvm_profile_data_foo = hidden {{.*}}, section
> "__llvm_prf_data", align 8
>>> +; MACHO: @__prf_dt_foo = hidden {{.*}}, section
> "__DATA,__llvm_prf_data", align 8
>>> +; LINUX: @__prf_dt_foo = hidden {{.*}}, section "__llvm_prf_data", align 8
>>> +; FREEBSD: @__prf_dt_foo = hidden {{.*}}, section "__llvm_prf_data", align 8
>>> +; SOLARIS: @__prf_dt_foo = hidden {{.*}}, section "__llvm_prf_data", align 8
>>>
>>>  define void @foo() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0), i64 0,
> i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64 0, i32 1, i32
> 0)
>>>    ret void
>>>  }
>>>
>>> Index: test/Instrumentation/InstrProfiling/noruntime.ll
>>> ===================================================================
>>> --- test/Instrumentation/InstrProfiling/noruntime.ll
>>> +++ test/Instrumentation/InstrProfiling/noruntime.ll
>>> @@ -6,10 +6,10 @@
>>>
>>>  @__llvm_profile_runtime = global i32 0, align 4
>>>
>>> - at __llvm_profile_name_foo = hidden constant [3 x i8] c"foo"
>>> + at __prf_nm_foo = hidden constant [3 x i8] c"foo"
>>>
>>>  define void @foo() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0), i64 0,
> i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64 0, i32 1, i32
> 0)
>>>    ret void
>>>  }
>>>
>>> Index: test/Instrumentation/InstrProfiling/no-counters.ll
>>> ===================================================================
>>> --- test/Instrumentation/InstrProfiling/no-counters.ll
>>> +++ test/Instrumentation/InstrProfiling/no-counters.ll
>>> @@ -1,8 +1,8 @@
>>>  ;; No instrumentation should be emitted if there are no counter increments.
>>>
>>>  ; RUN: opt < %s -instrprof -S | FileCheck %s
>>> -; CHECK-NOT: @__llvm_profile_counters
>>> -; CHECK-NOT: @__llvm_profile_data
>>> +; CHECK-NOT: @__prf_cn
>>> +; CHECK-NOT: @__prf_dt
>>>  ; CHECK-NOT: @__llvm_profile_runtime
>>>
>>>  define void @foo() {
>>> Index: test/Instrumentation/InstrProfiling/linkage.ll
>>> ===================================================================
>>> --- test/Instrumentation/InstrProfiling/linkage.ll
>>> +++ test/Instrumentation/InstrProfiling/linkage.ll
>>> @@ -3,36 +3,36 @@
>>> ; RUN: opt < %s -mtriple=x86_64-apple-macosx10.10.0 -instrprof -S |
> FileCheck %s --check-prefix=OTHER --check-prefix=COMMON
>>> ; RUN: opt < %s -mtriple=x86_64-unknown-linux -instrprof -S |
> FileCheck %s --check-prefix=LINUX --check-prefix=COMMON
>>>
>>> - at __llvm_profile_name_foo = hidden constant [3 x i8] c"foo"
>>> - at __llvm_profile_name_foo_weak = weak hidden constant [8 x i8] c"foo_weak"
>>> -@"__llvm_profile_name_linkage.ll:foo_internal" = internal constant
> [23 x i8] c"linkage.ll:foo_internal"
>>> - at __llvm_profile_name_foo_inline = linkonce_odr hidden constant [10
> x i8] c"foo_inline"
>>> + at __prf_nm_foo = hidden constant [3 x i8] c"foo"
>>> + at __prf_nm_foo_weak = weak hidden constant [8 x i8] c"foo_weak"
>>> +@"__prf_nm_linkage.ll:foo_internal" = internal constant [23 x i8]
> c"linkage.ll:foo_internal"
>>> + at __prf_nm_foo_inline = linkonce_odr hidden constant [10 x i8] c"foo_inline"
>>>
>>> -; COMMON: @__llvm_profile_counters_foo = hidden global
>>> -; COMMON: @__llvm_profile_data_foo = hidden global
>>> +; COMMON: @__prf_cn_foo = hidden global
>>> +; COMMON: @__prf_dt_foo = hidden global
>>>  define void @foo() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0), i64 0,
> i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([3 x i8], [3 x i8]* @__prf_nm_foo, i32 0, i32 0), i64 0, i32 1, i32
> 0)
>>>    ret void
>>>  }
>>>
>>> -; COMMON: @__llvm_profile_counters_foo_weak = weak hidden global
>>> -; COMMON: @__llvm_profile_data_foo_weak = weak hidden global
>>> +; COMMON: @__prf_cn_foo_weak = weak hidden global
>>> +; COMMON: @__prf_dt_foo_weak = weak hidden global
>>>  define weak void @foo_weak() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([8 x i8], [8 x i8]* @__llvm_profile_name_foo_weak, i32 0, i32 0), i64
> 0, i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([8 x i8], [8 x i8]* @__prf_nm_foo_weak, i32 0, i32 0), i64 0, i32 1,
> i32 0)
>>>    ret void
>>>  }
>>>
>>> -; COMMON: @"__llvm_profile_counters_linkage.ll:foo_internal" =
> internal global
>>> -; COMMON: @"__llvm_profile_data_linkage.ll:foo_internal" = internal global
>>> +; COMMON: @"__prf_cn_linkage.ll:foo_internal" = internal global
>>> +; COMMON: @"__prf_dt_linkage.ll:foo_internal" = internal global
>>>  define internal void @foo_internal() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @"__llvm_profile_name_linkage.ll:foo_internal",
> i32 0, i32 0), i64 0, i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([23 x i8], [23 x i8]* @"__prf_nm_linkage.ll:foo_internal", i32 0, i32
> 0), i64 0, i32 1, i32 0)
>>>    ret void
>>>  }
>>>
>>> -; COMMON: @__llvm_profile_counters_foo_inline = linkonce_odr hidden global
>>> -; COMMON: @__llvm_profile_data_foo_inline = linkonce_odr hidden global
>>> +; COMMON: @__prf_cn_foo_inline = linkonce_odr hidden global
>>> +; COMMON: @__prf_dt_foo_inline = linkonce_odr hidden global
>>>  define linkonce_odr void @foo_inline() {
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([10 x i8], [10 x i8]* @__llvm_profile_name_foo_inline, i32 0, i32 0),
> i64 0, i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([10 x i8], [10 x i8]* @__prf_nm_foo_inline, i32 0, i32 0), i64 0, i32
> 1, i32 0)
>>>    ret void
>>>  }
>>>
>>> Index: test/Instrumentation/InstrProfiling/PR23499.ll
>>> ===================================================================
>>> --- test/Instrumentation/InstrProfiling/PR23499.ll
>>> +++ test/Instrumentation/InstrProfiling/PR23499.ll
>>> @@ -6,16 +6,16 @@
>>>
>>>  $_Z3barIvEvv = comdat any
>>>
>>> - at __llvm_profile_name__Z3barIvEvv = linkonce_odr hidden constant
> [11 x i8] c"_Z3barIvEvv", align 1
>>> + at __prf_nm__Z3barIvEvv = linkonce_odr hidden constant [11 x i8]
> c"_Z3barIvEvv", align 1
>>>
>>> -; CHECK: @__llvm_profile_name__Z3barIvEvv = linkonce_odr hidden
> constant [11 x i8] c"_Z3barIvEvv", section "{{.*}}__llvm_prf_names",
> comdat($__llvm_profile_vars__Z3barIvEvv), align 1
>>> -; CHECK: @__llvm_profile_counters__Z3barIvEvv = linkonce_odr
> hidden global [1 x i64] zeroinitializer, section
> "{{.*}}__llvm_prf_cnts", comdat($__llvm_profile_vars__Z3barIvEvv),
> align 8
>>> -; CHECK: @__llvm_profile_data__Z3barIvEvv = linkonce_odr hidden
> global { i32, i32, i64, i8*, i64*, i8*, i8*, [1 x i16] } { i32 11, i32
> 1, i64 0, i8* getelementptr inbounds ([11 x i8], [11 x i8]*
> @__llvm_profile_name__Z3barIvEvv, i32 0, i32 0), i64* getelementptr
> inbounds ([1 x i64], [1 x i64]* @__llvm_profile_counters__Z3barIvEvv,
> i32 0, i32 0), i8* null, i8* null, [1 x i16] zeroinitializer },
> section "{{.*}}__llvm_prf_data",
> comdat($__llvm_profile_vars__Z3barIvEvv), align 8
>>> +; CHECK: @__prf_nm__Z3barIvEvv = linkonce_odr hidden constant [11
> x i8] c"_Z3barIvEvv", section "{{.*}}__llvm_prf_names",
> comdat($__llvm_profile_vars__Z3barIvEvv), align 1
>>> +; CHECK: @__prf_cn__Z3barIvEvv = linkonce_odr hidden global [1 x
> i64] zeroinitializer, section "{{.*}}__llvm_prf_cnts",
> comdat($__llvm_profile_vars__Z3barIvEvv), align 8
>>> +; CHECK: @__prf_dt__Z3barIvEvv = linkonce_odr hidden global { i32,
> i32, i64, i8*, i64*, i8*, i8*, [1 x i16] } { i32 11, i32 1, i64 0, i8*
> getelementptr inbounds ([11 x i8], [11 x i8]* @__prf_nm__Z3barIvEvv,
> i32 0, i32 0), i64* getelementptr inbounds ([1 x i64], [1 x i64]*
> @__prf_cn__Z3barIvEvv, i32 0, i32 0), i8* null, i8* null, [1 x i16]
> zeroinitializer }, section "{{.*}}__llvm_prf_data",
> comdat($__llvm_profile_vars__Z3barIvEvv), align 8
>>>
>>>  declare void @llvm.instrprof.increment(i8*, i64, i32, i32) #1
>>>
>>>  define linkonce_odr void @_Z3barIvEvv() comdat {
>>>  entry:
>>> - call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([11 x i8], [11 x i8]* @__llvm_profile_name__Z3barIvEvv, i32 0, i32
> 0), i64 0, i32 1, i32 0)
>>> + call void @llvm.instrprof.increment(i8* getelementptr inbounds
> ([11 x i8], [11 x i8]* @__prf_nm__Z3barIvEvv, i32 0, i32 0), i64 0,
> i32 1, i32 0)
>>>    ret void
>>>  }
>>> Index: include/llvm/ProfileData/InstrProf.h
>>> ===================================================================
>>> --- include/llvm/ProfileData/InstrProf.h
>>> +++ include/llvm/ProfileData/InstrProf.h
>>> @@ -70,15 +70,13 @@
>>>  }
>>>
>>> /// Return the name prefix of variables containing instrumented
> function names.
>>> -inline StringRef getInstrProfNameVarPrefix() { return
> "__llvm_profile_name_"; }
>>> +inline StringRef getInstrProfNameVarPrefix() { return "__prf_nm_"; }
>>>
>>> /// Return the name prefix of variables containing per-function
> control data.
>>> -inline StringRef getInstrProfDataVarPrefix() { return
> "__llvm_profile_data_"; }
>>> +inline StringRef getInstrProfDataVarPrefix() { return "__prf_dt_"; }
>>>
>>>  /// Return the name prefix of profile counter variables.
>>> -inline StringRef getInstrProfCountersVarPrefix() {
>>> -  return "__llvm_profile_counters_";
>>> -}
>>> +inline StringRef getInstrProfCountersVarPrefix() { return "__prf_cn_"; }
>>>
>>>  /// Return the name prefix of the COMDAT group for instrumentation variables
>>>  /// associated with a COMDAT function.


More information about the llvm-commits mailing list