mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-03 01:12:53 +00:00
[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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283516 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a425991140
commit
28b12d7747
@ -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/qx.yaml | FileCheck -strict-whitespace -
|
||||
; 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) {
|
||||
|
@ -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 &LocationInfo) {
|
||||
OS << ", ";
|
||||
|
||||
bool Printed = false;
|
||||
if (Demangle) {
|
||||
if (!NoDemangle) {
|
||||
int Status = 0;
|
||||
char *Demangled =
|
||||
itaniumDemangle(FuncName.c_str(), nullptr, nullptr, &Status);
|
||||
|
Loading…
Reference in New Issue
Block a user