From: Vedant Kumar Date: Tue, 14 Feb 2017 19:08:39 +0000 (+0000) Subject: Revert "[profiling] Remove dead profile name vars after emitting name data" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3d1bca20ef5065c33511cfc6e026f23d10e949f;p=llvm Revert "[profiling] Remove dead profile name vars after emitting name data" This reverts commit r295084. There is a test failure on: http://lab.llvm.org:8011/builders/clang-atom-d525-fedora-rel/builds/2620/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295092 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Instrumentation/InstrProfiling.cpp b/lib/Transforms/Instrumentation/InstrProfiling.cpp index 87387ac3a1b..be5c2c711f0 100644 --- a/lib/Transforms/Instrumentation/InstrProfiling.cpp +++ b/lib/Transforms/Instrumentation/InstrProfiling.cpp @@ -532,9 +532,6 @@ void InstrProfiling::emitNameData() { NamesSize = CompressedNameStr.size(); NamesVar->setSection(getNameSection()); UsedVars.push_back(NamesVar); - - for (auto *NamePtr : ReferencedNames) - NamePtr->eraseFromParent(); } void InstrProfiling::emitRegistration() { diff --git a/test/Instrumentation/InstrProfiling/PR23499.ll b/test/Instrumentation/InstrProfiling/PR23499.ll index 2aac04e512f..47c60fd802a 100644 --- a/test/Instrumentation/InstrProfiling/PR23499.ll +++ b/test/Instrumentation/InstrProfiling/PR23499.ll @@ -13,13 +13,13 @@ $_Z3barIvEvv = comdat any @__profn__Z3barIvEvv = linkonce_odr hidden constant [11 x i8] c"_Z3barIvEvv", align 1 -; CHECK-NOT: __profn__Z3barIvEvv +; CHECK: @__profn__Z3barIvEvv = private constant [11 x i8] c"_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 { i64, i64, i64*, i8*, i8*, i32, [1 x i16] } { i64 4947693190065689389, i64 0, i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__profc__Z3barIvEvv, i32 0, i32 0), i8*{{.*}}, i8* null, i32 1, [1 x i16] zeroinitializer }, section "{{.*}}__llvm_prf_data{{.*}}", comdat($__profv__Z3barIvEvv), align 8 ; CHECK: @__llvm_prf_nm = private constant [{{.*}} x i8] c"{{.*}}", section "{{.*}}__llvm_prf_names" -; COFF-NOT: __profn__Z3barIvEvv +; COFF: @__profn__Z3barIvEvv = private constant [11 x i8] c"_Z3barIvEvv", align 1 ; COFF: @__profc__Z3barIvEvv = linkonce_odr hidden global [1 x i64] zeroinitializer, section "{{.*}}__llvm_prf_cnts", comdat, align 8 ; COFF: @__profd__Z3barIvEvv = linkonce_odr hidden global { i64, i64, i64*, i8*, i8*, i32, [1 x i16] } { i64 4947693190065689389, i64 0, i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__profc__Z3barIvEvv, i32 0, i32 0), i8*{{.*}}, i8* null, i32 1, [1 x i16] zeroinitializer }, section "{{.*}}__llvm_prf_data{{.*}}", comdat($__profc__Z3barIvEvv), align 8 diff --git a/test/Instrumentation/InstrProfiling/platform.ll b/test/Instrumentation/InstrProfiling/platform.ll index c0c711054ff..b731fc3e5ff 100644 --- a/test/Instrumentation/InstrProfiling/platform.ll +++ b/test/Instrumentation/InstrProfiling/platform.ll @@ -12,8 +12,8 @@ ; RUN: opt < %s -mtriple=x86_64-pc-solaris -passes=instrprof -S | FileCheck %s -check-prefix=SOLARIS @__profn_foo = hidden constant [3 x i8] c"foo" -; MACHO-NOT: __profn_foo -; ELF-NOT: __profn_foo +; MACHO: @__profn_foo = private constant [3 x i8] c"foo" +; ELF: @__profn_foo = private constant [3 x i8] c"foo" ; 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 diff --git a/test/Instrumentation/InstrProfiling/profiling.ll b/test/Instrumentation/InstrProfiling/profiling.ll index c4cc1d9ce43..508d3ef8dea 100644 --- a/test/Instrumentation/InstrProfiling/profiling.ll +++ b/test/Instrumentation/InstrProfiling/profiling.ll @@ -4,11 +4,11 @@ target triple = "x86_64-apple-macosx10.10.0" @__profn_foo = hidden constant [3 x i8] c"foo" -; CHECK-NOT: __profn_foo +; CHECK: @__profn_foo = private constant [3 x i8] c"foo" @__profn_bar = hidden constant [4 x i8] c"bar\00" -; CHECK-NOT: __profn_bar +; CHECK: @__profn_bar = private constant [4 x i8] c"bar\00" @__profn_baz = hidden constant [3 x i8] c"baz" -; CHECK-NOT: __profn_baz +; CHECK: @__profn_baz = private constant [3 x i8] c"baz" ; 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,regular,live_support", align 8 diff --git a/test/Transforms/PGOProfile/comdat_internal.ll b/test/Transforms/PGOProfile/comdat_internal.ll index 36affd5392f..7df6f91fe72 100644 --- a/test/Transforms/PGOProfile/comdat_internal.ll +++ b/test/Transforms/PGOProfile/comdat_internal.ll @@ -12,7 +12,7 @@ $foo = comdat any @bar = global i32 ()* @foo, align 8 ; CHECK: @__llvm_profile_raw_version = constant i64 {{[0-9]+}}, comdat -; CHECK-NOT: __profn__stdin__foo +; CHECK: @__profn__stdin__foo = private constant [11 x i8] c":foo" ; CHECK: @__profc__stdin__foo.[[FOO_HASH]] = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", comdat($__profv__stdin__foo.[[FOO_HASH]]), align 8 ; CHECK: @__profd__stdin__foo.[[FOO_HASH]] = private global { i64, i64, i64*, i8*, i8*, i32, [1 x i16] } { i64 -5640069336071256030, i64 [[FOO_HASH]], i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__profc__stdin__foo.[[FOO_HASH]], i32 0, i32 0), i8* null ; CHECK-NOT: bitcast (i32 ()* @foo to i8*)