[llvm] r283516 - [llvm-opt-report] Use -no-demangle to disable demangling

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 6 18:31:00 PDT 2016


Author: hfinkel
Date: Thu Oct  6 20:30:59 2016
New Revision: 283516

URL: http://llvm.org/viewvc/llvm-project?rev=283516&view=rev
Log:
[llvm-opt-report] Use -no-demangle to disable demangling

As this is intended to be a user-facing option, -no-demangle seems much better
than -demangle=0. Add testing for the option.

Modified:
    llvm/trunk/test/tools/llvm-opt-report/func-x.test
    llvm/trunk/tools/llvm-opt-report/OptReport.cpp

Modified: llvm/trunk/test/tools/llvm-opt-report/func-x.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-opt-report/func-x.test?rev=283516&r1=283515&r2=283516&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-opt-report/func-x.test (original)
+++ llvm/trunk/test/tools/llvm-opt-report/func-x.test Thu Oct  6 20:30:59 2016
@@ -1,4 +1,5 @@
 RUN: llvm-opt-report -r %p %p/Inputs/qx.yaml | FileCheck -strict-whitespace %s
+RUN: llvm-opt-report -no-demangle -r %p %p/Inputs/qx.yaml | FileCheck -strict-whitespace -check-prefix=CHECK-NODEM %s
 RUN: llvm-opt-report -s -r %p %p/Inputs/qx.yaml | FileCheck -strict-whitespace -check-prefix=CHECK-SUCCINCT %s
 
 ; CHECK: < {{.*[/\]}}q.cpp
@@ -22,6 +23,27 @@ RUN: llvm-opt-report -s -r %p %p/Inputs/
 ; CHECK-NEXT: 13         | }
 ; CHECK-NEXT: 14         | 
 
+; CHECK-NODEM: < {{.*[/\]}}q.cpp
+; CHECK-NODEM-NEXT:  1         | void bar();
+; CHECK-NODEM-NEXT:  2         | void foo(int n) {
+; CHECK-NODEM-NEXT:  {{\[\[}}
+; CHECK-NODEM-NEXT:   > _Z3fooi:
+; CHECK-NODEM-NEXT:  3         |   for (int i = 0; i < n; ++i)
+; CHECK-NODEM-NEXT:   > _Z5quackv, _Z6quack2v:
+; CHECK-NODEM-NEXT:  3  U4     |   for (int i = 0; i < n; ++i)
+; CHECK-NODEM-NEXT:  {{\]\]}}
+; CHECK-NODEM-NEXT:  4         |     bar();
+; CHECK-NODEM-NEXT:  5         | }
+; CHECK-NODEM-NEXT:  6         | 
+; CHECK-NODEM-NEXT:  7         | void quack() {
+; CHECK-NODEM-NEXT:  8 I       |   foo(4);
+; CHECK-NODEM-NEXT:  9         | }
+; CHECK-NODEM-NEXT: 10         | 
+; CHECK-NODEM-NEXT: 11         | void quack2() {
+; CHECK-NODEM-NEXT: 12 I       |   foo(4);
+; CHECK-NODEM-NEXT: 13         | }
+; CHECK-NODEM-NEXT: 14         | 
+
 ; CHECK-SUCCINCT: < {{.*[/\]}}q.cpp
 ; CHECK-SUCCINCT-NEXT:  1     | void bar();
 ; CHECK-SUCCINCT-NEXT:  2     | void foo(int n) {

Modified: llvm/trunk/tools/llvm-opt-report/OptReport.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-opt-report/OptReport.cpp?rev=283516&r1=283515&r2=283516&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-opt-report/OptReport.cpp (original)
+++ llvm/trunk/tools/llvm-opt-report/OptReport.cpp Thu Oct  6 20:30:59 2016
@@ -59,8 +59,8 @@ static cl::opt<bool>
            cl::init(false), cl::cat(OptReportCategory));
 
 static cl::opt<bool>
-  Demangle("demangle", cl::desc("Demangle function names"), cl::init(true),
-           cl::cat(OptReportCategory));
+  NoDemangle("no-demangle", cl::desc("Don't demangle function names"),
+             cl::init(false), cl::cat(OptReportCategory));
 
 namespace {
 // For each location in the source file, the common per-transformation state
@@ -378,7 +378,7 @@ static bool writeReport(LocationInfoTy &
               OS << ", ";
 
             bool Printed = false;
-            if (Demangle) {
+            if (!NoDemangle) {
               int Status = 0;
               char *Demangled =
                 itaniumDemangle(FuncName.c_str(), nullptr, nullptr, &Status);




More information about the llvm-commits mailing list