Revert "[PGO] Fix __llvm_profile_raw_version linkage in MACHO IR instrumentation generates a COMDAT symbol __llvm_profile_raw_version to overwrite the same symbol in profile run-time to distinguish IR profiles from Clang generated profiles. In MACHO, LinkOnceODR linkage is used due to the lack of COMDAT support."

This reverts commits r268969, r268979 and r268984. They had target specific test
in generic directories without the correct specifiers and made it hard for us to
come up with a good solution by rapidly committing untested changes.

This test needs to be in a target specific directory or have the correct REQUIRED
identifier.

llvm-svn: 269027
This commit is contained in:
Renato Golin 2016-05-10 08:23:57 +00:00
parent 8e5b0c65cc
commit d876eecf02
2 changed files with 1 additions and 11 deletions

View File

@ -775,7 +775,7 @@ static void createIRLevelProfileFlagVariable(Module &M) {
IRLevelVersionVariable->setVisibility(GlobalValue::DefaultVisibility);
Triple TT(M.getTargetTriple());
if (TT.isOSBinFormatMachO())
IRLevelVersionVariable->setLinkage(GlobalValue::LinkOnceAnyLinkage);
IRLevelVersionVariable->setLinkage(GlobalValue::LinkOnceODRLinkage);
else
IRLevelVersionVariable->setComdat(M.getOrInsertComdat(
StringRef(INSTR_PROF_QUOTE(IR_LEVEL_PROF_VERSION_VAR))));

View File

@ -1,10 +0,0 @@
; RUN: opt < %s -pgo-instr-gen -instrprof -S | llc | FileCheck %s --check-prefix=MACHO-DIRECTIVE
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.11.0"
; MACHO-DIRECTIVE: .weak_definition ___llvm_profile_raw_version
define i32 @test_macho(i32 %i) {
entry:
ret i32 %i
}