mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-15 07:39:31 +00:00
[PGO] make profile prefix even shorter and more readable
llvm-svn: 255586
This commit is contained in:
parent
adff55a1d6
commit
7640a69ad0
@ -70,17 +70,17 @@ inline StringRef getInstrProfCoverageSectionName(bool AddSegment) {
|
||||
}
|
||||
|
||||
/// Return the name prefix of variables containing instrumented function names.
|
||||
inline StringRef getInstrProfNameVarPrefix() { return "__prf_nm_"; }
|
||||
inline StringRef getInstrProfNameVarPrefix() { return "__profn_"; }
|
||||
|
||||
/// Return the name prefix of variables containing per-function control data.
|
||||
inline StringRef getInstrProfDataVarPrefix() { return "__prf_dt_"; }
|
||||
inline StringRef getInstrProfDataVarPrefix() { return "__profd_"; }
|
||||
|
||||
/// Return the name prefix of profile counter variables.
|
||||
inline StringRef getInstrProfCountersVarPrefix() { return "__prf_cn_"; }
|
||||
inline StringRef getInstrProfCountersVarPrefix() { return "__profc_"; }
|
||||
|
||||
/// Return the name prefix of the COMDAT group for instrumentation variables
|
||||
/// associated with a COMDAT function.
|
||||
inline StringRef getInstrProfComdatPrefix() { return "__llvm_profile_vars_"; }
|
||||
inline StringRef getInstrProfComdatPrefix() { return "__profv_"; }
|
||||
|
||||
/// Return the name of a covarage mapping variable (internal linkage)
|
||||
/// for each instrumented source module. Such variables are allocated
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
$_Z3barIvEvv = comdat any
|
||||
|
||||
@__prf_nm__Z3barIvEvv = linkonce_odr hidden constant [11 x i8] c"_Z3barIvEvv", align 1
|
||||
@__profn__Z3barIvEvv = linkonce_odr hidden constant [11 x i8] c"_Z3barIvEvv", align 1
|
||||
|
||||
; 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
|
||||
; CHECK: @__profn__Z3barIvEvv = linkonce_odr hidden constant [11 x i8] c"_Z3barIvEvv", section "{{.*}}__llvm_prf_names", comdat($__profv__Z3barIvEvv), align 1
|
||||
; CHECK: @__profc__Z3barIvEvv = linkonce_odr hidden global [1 x i64] zeroinitializer, section "{{.*}}__llvm_prf_cnts", comdat($__profv__Z3barIvEvv), align 8
|
||||
; CHECK: @__profd__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]* @__profn__Z3barIvEvv, i32 0, i32 0), i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__profc__Z3barIvEvv, i32 0, i32 0), i8* null, i8* null, [1 x i16] zeroinitializer }, section "{{.*}}__llvm_prf_data", comdat($__profv__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]* @__prf_nm__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]* @__profn__Z3barIvEvv, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
@__prf_nm_foo = hidden constant [3 x i8] c"foo"
|
||||
@__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"
|
||||
@__prf_nm_foo_inline = linkonce_odr hidden constant [10 x i8] c"foo_inline"
|
||||
@__profn_foo = hidden constant [3 x i8] c"foo"
|
||||
@__profn_foo_weak = weak hidden constant [8 x i8] c"foo_weak"
|
||||
@"__profn_linkage.ll:foo_internal" = internal constant [23 x i8] c"linkage.ll:foo_internal"
|
||||
@__profn_foo_inline = linkonce_odr hidden constant [10 x i8] c"foo_inline"
|
||||
|
||||
; COMMON: @__prf_cn_foo = hidden global
|
||||
; COMMON: @__prf_dt_foo = hidden global
|
||||
; COMMON: @__profc_foo = hidden global
|
||||
; COMMON: @__profd_foo = hidden global
|
||||
define void @foo() {
|
||||
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)
|
||||
call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
; COMMON: @__prf_cn_foo_weak = weak hidden global
|
||||
; COMMON: @__prf_dt_foo_weak = weak hidden global
|
||||
; COMMON: @__profc_foo_weak = weak hidden global
|
||||
; COMMON: @__profd_foo_weak = weak hidden global
|
||||
define weak void @foo_weak() {
|
||||
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)
|
||||
call void @llvm.instrprof.increment(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @__profn_foo_weak, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
; COMMON: @"__prf_cn_linkage.ll:foo_internal" = internal global
|
||||
; COMMON: @"__prf_dt_linkage.ll:foo_internal" = internal global
|
||||
; COMMON: @"__profc_linkage.ll:foo_internal" = internal global
|
||||
; COMMON: @"__profd_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]* @"__prf_nm_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]* @"__profn_linkage.ll:foo_internal", i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
; COMMON: @__prf_cn_foo_inline = linkonce_odr hidden global
|
||||
; COMMON: @__prf_dt_foo_inline = linkonce_odr hidden global
|
||||
; COMMON: @__profc_foo_inline = linkonce_odr hidden global
|
||||
; COMMON: @__profd_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]* @__prf_nm_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]* @__profn_foo_inline, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
;; No instrumentation should be emitted if there are no counter increments.
|
||||
|
||||
; RUN: opt < %s -instrprof -S | FileCheck %s
|
||||
; CHECK-NOT: @__prf_cn
|
||||
; CHECK-NOT: @__prf_dt
|
||||
; CHECK-NOT: @__profc
|
||||
; CHECK-NOT: @__profd
|
||||
; CHECK-NOT: @__llvm_profile_runtime
|
||||
|
||||
define void @foo() {
|
||||
|
@ -6,10 +6,10 @@
|
||||
|
||||
@__llvm_profile_runtime = global i32 0, align 4
|
||||
|
||||
@__prf_nm_foo = hidden constant [3 x i8] c"foo"
|
||||
@__profn_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]* @__prf_nm_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]* @__profn_foo, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
@__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
|
||||
@__profn_foo = hidden constant [3 x i8] c"foo"
|
||||
; MACHO: @__profn_foo = hidden constant [3 x i8] c"foo", section "__DATA,__llvm_prf_names", align 1
|
||||
; ELF: @__profn_foo = hidden constant [3 x i8] c"foo", section "__llvm_prf_names", align 1
|
||||
|
||||
; 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: @__profc_foo = hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
||||
; ELF: @__profc_foo = hidden global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", 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
|
||||
; MACHO: @__profd_foo = hidden {{.*}}, section "__DATA,__llvm_prf_data", align 8
|
||||
; LINUX: @__profd_foo = hidden {{.*}}, section "__llvm_prf_data", align 8
|
||||
; FREEBSD: @__profd_foo = hidden {{.*}}, section "__llvm_prf_data", align 8
|
||||
; SOLARIS: @__profd_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]* @__prf_nm_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]* @__profn_foo, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
@ -2,37 +2,37 @@
|
||||
|
||||
target triple = "x86_64-apple-macosx10.10.0"
|
||||
|
||||
@__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
|
||||
@__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
|
||||
@__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
|
||||
@__profn_foo = hidden constant [3 x i8] c"foo"
|
||||
; CHECK: @__profn_foo = hidden constant [3 x i8] c"foo", section "__DATA,__llvm_prf_names", align 1
|
||||
@__profn_bar = hidden constant [4 x i8] c"bar\00"
|
||||
; CHECK: @__profn_bar = hidden constant [4 x i8] c"bar\00", section "__DATA,__llvm_prf_names", align 1
|
||||
@__profn_baz = hidden constant [3 x i8] c"baz"
|
||||
; CHECK: @__profn_baz = hidden constant [3 x i8] c"baz", section "__DATA,__llvm_prf_names", align 1
|
||||
|
||||
; 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
|
||||
; CHECK: @__profc_foo = hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
||||
; CHECK: @__profd_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]* @__prf_nm_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]* @__profn_foo, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
; 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
|
||||
; CHECK: @__profc_bar = hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
||||
; CHECK: @__profd_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]* @__prf_nm_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]* @__profn_bar, i32 0, i32 0), i64 0, i32 1, i32 0)
|
||||
ret void
|
||||
}
|
||||
|
||||
; 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
|
||||
; CHECK: @__profc_baz = hidden global [3 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
|
||||
; CHECK: @__profd_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]* @__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)
|
||||
call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_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]* @__profn_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]* @__profn_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 {{.*}} @__prf_dt_foo {{.*}} @__prf_dt_bar {{.*}} @__prf_dt_baz {{.*}} section "llvm.metadata"
|
||||
; CHECK: @llvm.used = appending global {{.*}} @__profd_foo {{.*}} @__profd_bar {{.*}} @__profd_baz {{.*}} section "llvm.metadata"
|
||||
|
@ -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: @__prf_nm_test_br_1 = private constant [9 x i8] c"test_br_1"
|
||||
; GEN: @__profn_test_br_1 = private constant [9 x i8] c"test_br_1"
|
||||
|
||||
define i32 @test_br_1(i32 %i) {
|
||||
entry:
|
||||
@ -18,13 +18,13 @@ entry:
|
||||
|
||||
if.then:
|
||||
; GEN: if.then:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_test_br_1, i32 0, i32 0), i64 25571299074, i32 2, i32 0)
|
||||
%retv = phi i32 [ %add, %if.then ], [ %i, %entry ]
|
||||
ret i32 %retv
|
||||
}
|
||||
|
@ -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: @__prf_nm_test_br_2 = private constant [9 x i8] c"test_br_2"
|
||||
; GEN: @__profn_test_br_2 = private constant [9 x i8] c"test_br_2"
|
||||
|
||||
define i32 @test_br_2(i32 %i) {
|
||||
entry:
|
||||
@ -18,13 +18,13 @@ entry:
|
||||
|
||||
if.then:
|
||||
; GEN: if.then:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([9 x i8], [9 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_test_br_2, i32 0, i32 0), i64 29667547796, i32 2, i32 1)
|
||||
%sub = sub nsw i32 %i, 2
|
||||
br label %if.end
|
||||
|
||||
|
@ -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: @__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"
|
||||
; GEN: @__profn_test_criticalEdge = private constant [17 x i8] c"test_criticalEdge"
|
||||
; GEN: @__profn__stdin__bar = private constant [11 x i8] c"<stdin>:bar"
|
||||
|
||||
define i32 @test_criticalEdge(i32 %i, i32 %j) {
|
||||
entry:
|
||||
@ -24,22 +24,22 @@ entry:
|
||||
; 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]* @__prf_nm_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]* @__profn_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]* @__prf_nm_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]* @__profn_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]* @__prf_nm_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]* @__profn_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]* @__prf_nm_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]* @__profn_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 @@ sw.bb2:
|
||||
|
||||
if.then:
|
||||
; GEN: if.then:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_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 @@ sw.default:
|
||||
|
||||
if.then8:
|
||||
; GEN: if.then8:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([17 x i8], [17 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_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 @@ return:
|
||||
|
||||
define internal i32 @bar(i32 %i) {
|
||||
entry:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__profn__stdin__bar, i32 0, i32 0), i64 12884901887, i32 1, i32 0)
|
||||
ret i32 %i
|
||||
}
|
||||
|
||||
|
@ -6,8 +6,8 @@ target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
@val = global i32 0, align 4
|
||||
@_ZTIi = external constant i8*
|
||||
; GEN: @__prf_nm_bar = private constant [3 x i8] c"bar"
|
||||
; GEN: @__prf_nm_foo = private constant [3 x i8] c"foo"
|
||||
; GEN: @__profn_bar = private constant [3 x i8] c"bar"
|
||||
; GEN: @__profn_foo = private constant [3 x i8] c"foo"
|
||||
|
||||
define i32 @bar(i32 %i) {
|
||||
entry:
|
||||
@ -21,7 +21,7 @@ entry:
|
||||
|
||||
if.then:
|
||||
; GEN: if.then:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_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.then:
|
||||
|
||||
if.end:
|
||||
; GEN: if.end:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_bar, i32 0, i32 0), i64 24868915205, i32 2, i32 0)
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ if.then:
|
||||
|
||||
invoke.cont:
|
||||
; GEN: invoke.cont:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_foo, i32 0, i32 0), i64 59130013419, i32 4, i32 1)
|
||||
br label %if.end
|
||||
|
||||
lpad:
|
||||
@ -80,7 +80,7 @@ catch.dispatch:
|
||||
|
||||
catch:
|
||||
; GEN: catch:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_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 @@ try.cont:
|
||||
|
||||
if.end:
|
||||
; GEN: if.end:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_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 @@ if.end:
|
||||
|
||||
eh.resume:
|
||||
; GEN: eh.resume:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @__profn_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
|
||||
|
@ -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: @__prf_nm_test_simple_for = private constant [15 x i8] c"test_simple_for"
|
||||
; GEN: @__profn_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.body:
|
||||
|
||||
for.inc:
|
||||
; GEN: for.inc:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_test_simple_for, i32 0, i32 0), i64 34137660316, i32 2, i32 1)
|
||||
ret i32 %sum
|
||||
}
|
||||
|
@ -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: @__prf_nm_test_nested_for = private constant [15 x i8] c"test_nested_for"
|
||||
; GEN: @__profn_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.body.inner:
|
||||
|
||||
for.inc.inner:
|
||||
; GEN: for.inc.inner:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__profn_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.end.inner:
|
||||
|
||||
for.inc.outer:
|
||||
; GEN: for.inc.outer:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([15 x i8], [15 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_test_nested_for, i32 0, i32 0), i64 53929068288, i32 3, i32 2)
|
||||
ret i32 %sum.0
|
||||
}
|
||||
|
||||
|
@ -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: @__prf_nm_single_bb = private constant [9 x i8] c"single_bb"
|
||||
; GEN: @__profn_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]* @__prf_nm_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]* @__profn_single_bb, i32 0, i32 0), i64 12884901887, i32 1, i32 0)
|
||||
ret i32 0
|
||||
}
|
||||
|
@ -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: @__prf_nm_test_switch = private constant [11 x i8] c"test_switch"
|
||||
; GEN: @__profn_test_switch = private constant [11 x i8] c"test_switch"
|
||||
|
||||
define void @test_switch(i32 %i) {
|
||||
entry:
|
||||
@ -21,22 +21,22 @@ entry:
|
||||
|
||||
sw.bb:
|
||||
; GEN: sw.bb:
|
||||
; 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)
|
||||
; GEN: call void @llvm.instrprof.increment(i8* getelementptr inbounds ([11 x i8], [11 x i8]* @__profn_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]* @__prf_nm_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]* @__profn_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]* @__prf_nm_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]* @__profn_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]* @__prf_nm_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]* @__profn_test_switch, i32 0, i32 0), i64 46200943743, i32 4, i32 3)
|
||||
br label %sw.epilog
|
||||
|
||||
sw.epilog:
|
||||
|
Loading…
Reference in New Issue
Block a user