[PATCH] D34086: Fix -print-after-all banner

Yaron Keren via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 12 11:07:14 PDT 2017


Added test in r305213, thanks!

‫בתאריך יום ב׳, 12 ביוני 2017 ב-18:59 מאת ‪David Blaikie‬‏ <‪
dblaikie at gmail.com‬‏>:‬

> I would've guessed this would be testable? Is it not?
>
> On Sun, Jun 11, 2017 at 1:30 AM Yaron Keren via Phabricator via
> llvm-commits <llvm-commits at lists.llvm.org> wrote:
>
>> yaron.keren created this revision.
>>
>> Address https://bugs.llvm.org/show_bug.cgi?id=32207, banner does not
>> print more than once following r292442 by making BannerPrinted local and
>> skipping banner for function declarations.
>>
>>
>> Repository:
>>   rL LLVM
>>
>> https://reviews.llvm.org/D34086
>>
>> Files:
>>   lib/Analysis/CallGraphSCCPass.cpp
>>
>>
>> Index: lib/Analysis/CallGraphSCCPass.cpp
>> ===================================================================
>> --- lib/Analysis/CallGraphSCCPass.cpp
>> +++ lib/Analysis/CallGraphSCCPass.cpp
>> @@ -608,18 +608,18 @@
>>      }
>>
>>      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();
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170612/72b514ef/attachment.html>


More information about the llvm-commits mailing list