summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/CallGraphSCCPass.cpp
diff options
context:
space:
mode:
authorYaron Keren <yaron.keren@gmail.com>2017-06-12 02:18:50 +0000
committerYaron Keren <yaron.keren@gmail.com>2017-06-12 02:18:50 +0000
commit7d46392124f895bc024afa8d9afb7ed061d87b47 (patch)
tree0b824799f8fe2ab8daf8449c95221df51c9b7eb8 /llvm/lib/Analysis/CallGraphSCCPass.cpp
parentdffec3d678db76752f6c2fb1f3b886751a3b1fbd (diff)
downloadbcm5719-llvm-7d46392124f895bc024afa8d9afb7ed061d87b47.tar.gz
bcm5719-llvm-7d46392124f895bc024afa8d9afb7ed061d87b47.zip
Address http://bugs.llvm.org/pr32207 by making BannerPrinted local to runOnSCC and skipping banner for function declarations.
Reviewed By: Mehdi AMINI Differential Revision: https://reviews.llvm.org/D34086 llvm-svn: 305179
Diffstat (limited to 'llvm/lib/Analysis/CallGraphSCCPass.cpp')
-rw-r--r--llvm/lib/Analysis/CallGraphSCCPass.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/CallGraphSCCPass.cpp b/llvm/lib/Analysis/CallGraphSCCPass.cpp
index 5896e6e0902..facda246936 100644
--- a/llvm/lib/Analysis/CallGraphSCCPass.cpp
+++ b/llvm/lib/Analysis/CallGraphSCCPass.cpp
@@ -608,18 +608,18 @@ namespace {
}
bool runOnSCC(CallGraphSCC &SCC) override {
+ bool BannerPrinted = false;
auto PrintBannerOnce = [&] () {
- static bool BannerPrinted = false;
if (BannerPrinted)
return;
Out << Banner;
BannerPrinted = true;
};
for (CallGraphNode *CGN : SCC) {
- if (CGN->getFunction()) {
- if (isFunctionInPrintList(CGN->getFunction()->getName())) {
+ if (Function *F = CGN->getFunction()) {
+ if (!F->isDeclaration() && isFunctionInPrintList(F->getName())) {
PrintBannerOnce();
- CGN->getFunction()->print(Out);
+ F->print(Out);
}
} else if (llvm::isFunctionInPrintList("*")) {
PrintBannerOnce();
OpenPOWER on IntegriCloud