diff options
author | Fangrui Song <maskray@google.com> | 2018-10-25 22:15:42 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2018-10-25 22:15:42 +0000 |
commit | 018b0634b41cb3204eeae25a62858a7e687ba9c1 (patch) | |
tree | 71e2f5a06e212e13fcd4d0d8af6dc60df4db22d6 | |
parent | 4645711a8d54eb34d0040dde1748376d0992068b (diff) | |
download | bcm5719-llvm-018b0634b41cb3204eeae25a62858a7e687ba9c1.tar.gz bcm5719-llvm-018b0634b41cb3204eeae25a62858a7e687ba9c1.zip |
[ELF] Don't check if symbols in .llvm.call-graph-profile are unorderable
Summary: There are too many reasonable cases that would be considered unorderable.
Reviewers: ruiu, espindola, Bigcheese
Reviewed By: ruiu
Subscribers: grimar, emaste, arichardson, llvm-commits
Differential Revision: https://reviews.llvm.org/D53669
llvm-svn: 345322
-rw-r--r-- | lld/ELF/Driver.cpp | 16 | ||||
-rw-r--r-- | lld/test/ELF/cgprofile-obj-warn.s | 34 |
2 files changed, 0 insertions, 50 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 7f01f6a0b52..556a6aa0015 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -690,22 +690,6 @@ template <class ELFT> static void readCallGraphsFromObjectFiles() { continue; auto *FromSec = dyn_cast_or_null<InputSectionBase>(FromSym->Section); auto *ToSec = dyn_cast_or_null<InputSectionBase>(ToSym->Section); - - // The profile from .llvm.call-graph-profile is conceptually affiliated to - // FromSec. Don't warn unorderable symbol if FromSym is not absolute - // (FromSec isn't null) and the section is discarded - // (!FromSec->Repl->Live). - // - // We also don't want to warn when ToSym is undefined or is in a shared - // object (as symbols in shared objects are fixed and unorderable). - // - // The check used here is more relaxed (no warning if either FromSym or - // ToSym is not Defined) for simplicity and there is no compelling reason - // to warn on more cases. - if (!FromSec || FromSec->Repl->Live) { - warnUnorderableSymbol(FromSym); - warnUnorderableSymbol(ToSym); - } if (FromSec && ToSec) Config->CallGraphProfile[{FromSec, ToSec}] += CGPE.cgp_weight; } diff --git a/lld/test/ELF/cgprofile-obj-warn.s b/lld/test/ELF/cgprofile-obj-warn.s deleted file mode 100644 index 129c713dfe8..00000000000 --- a/lld/test/ELF/cgprofile-obj-warn.s +++ /dev/null @@ -1,34 +0,0 @@ -# REQUIRES: x86 - -# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t - -# RUN: ld.lld -e A %t -o /dev/null \ -# RUN: -noinhibit-exec -icf=all 2>&1 | FileCheck %s - - .section .text.C,"ax",@progbits - .globl C -C: - mov poppy, %rax - retq - -B = 0x1234 - - .section .text.A,"ax",@progbits - .globl A -A: - mov poppy, %rax - retq - - .cg_profile A, B, 100 - .cg_profile A, C, 40 - .cg_profile B, C, 30 - .cg_profile adena1, A, 30 - .cg_profile A, adena2, 30 - .cg_profile poppy, A, 30 - -# CHECK: unable to order absolute symbol: B - -# RUN: ld.lld %t -o /dev/null \ -# RUN: -noinhibit-exec -icf=all --no-warn-symbol-ordering 2>&1 \ -# RUN: | FileCheck %s --check-prefix=NOWARN -# NOWARN-NOT: unable to order |