mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[Debugify] Print the output to stderr
Currently debugify prints it's output to stdout, with this patch all the output generated goes to stderr. This change lets us use debugify without taking away the ability to pipe the output to other llvm tools. llvm-svn: 332642
This commit is contained in:
parent
103277308c
commit
5237007f41
@ -1,15 +1,18 @@
|
||||
; RUN: opt -debugify-each -O3 -S -o /dev/null < %s > %t
|
||||
; RUN: opt -debugify-each -O3 -S -o /dev/null < %s 2> %t
|
||||
; RUN: FileCheck %s -input-file=%t -check-prefix=MODULE-PASS
|
||||
; RUN: FileCheck %s -input-file=%t -check-prefix=FUNCTION-PASS
|
||||
|
||||
; RUN: opt -enable-debugify -debugify-each -O3 -S -o /dev/null < %s > %t
|
||||
; RUN: opt -enable-debugify -debugify-each -O3 -S -o /dev/null < %s 2> %t
|
||||
; RUN: FileCheck %s -input-file=%t -check-prefix=MODULE-PASS
|
||||
; RUN: FileCheck %s -input-file=%t -check-prefix=FUNCTION-PASS
|
||||
|
||||
; RUN: opt -debugify-each -instrprof -instrprof -sroa -sccp -S -o /dev/null < %s > %t
|
||||
; RUN: opt -debugify-each -instrprof -instrprof -sroa -sccp -S -o /dev/null < %s 2> %t
|
||||
; RUN: FileCheck %s -input-file=%t -check-prefix=MODULE-PASS
|
||||
; RUN: FileCheck %s -input-file=%t -check-prefix=FUNCTION-PASS
|
||||
|
||||
; Verify that debugify each can be safely used with piping
|
||||
; RUN: opt -debugify-each -O1 < %s | opt -O2 -o /dev/null
|
||||
|
||||
define void @foo() {
|
||||
ret void
|
||||
}
|
||||
|
@ -13,13 +13,17 @@
|
||||
; RUN: opt -enable-debugify -passes=verify -S -o - < %s | \
|
||||
; RUN: FileCheck %s -implicit-check-not="CheckModuleDebugify: FAIL"
|
||||
|
||||
; RUN: opt -debugify -strip -check-debugify -S -o - < %s | \
|
||||
; RUN: opt -debugify -strip -check-debugify -S -o - < %s 2>&1 | \
|
||||
; RUN: FileCheck %s -check-prefix=CHECK-FAIL
|
||||
|
||||
; RUN: opt -enable-debugify -strip -S -o - < %s | \
|
||||
; RUN: opt -enable-debugify -strip -S -o - < %s 2>&1 | \
|
||||
; RUN: FileCheck %s -check-prefix=CHECK-FAIL
|
||||
|
||||
; RUN: opt -enable-debugify -S -o - < %s | FileCheck %s -check-prefix=PASS
|
||||
; RUN: opt -enable-debugify -S -o - < %s 2>&1 | FileCheck %s -check-prefix=PASS
|
||||
|
||||
; Verify that debugify can be safely used with piping
|
||||
; RUN: opt -enable-debugify -O1 < %s | opt -O2 -o /dev/null
|
||||
; RUN: opt -debugify -mem2reg -check-debugify < %s | opt -O2 -o /dev/null
|
||||
|
||||
; CHECK-LABEL: define void @foo
|
||||
define void @foo() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
; Simple sanity check testcase. Both alloca's should be eliminated.
|
||||
; RUN: opt < %s -debugify -mem2reg -check-debugify -S | FileCheck %s
|
||||
; RUN: opt < %s -debugify -mem2reg -check-debugify -S 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK-NOT: alloca
|
||||
; CHECK: CheckModuleDebugify [{{.*}}]: PASS
|
||||
|
@ -163,10 +163,10 @@ bool checkDebugifyMetadata(Module &M,
|
||||
continue;
|
||||
}
|
||||
|
||||
outs() << "ERROR: Instruction with empty DebugLoc in function ";
|
||||
outs() << F.getName() << " --";
|
||||
I.print(outs());
|
||||
outs() << "\n";
|
||||
errs() << "ERROR: Instruction with empty DebugLoc in function ";
|
||||
errs() << F.getName() << " --";
|
||||
I.print(errs());
|
||||
errs() << "\n";
|
||||
HasErrors = true;
|
||||
}
|
||||
|
||||
@ -185,17 +185,17 @@ bool checkDebugifyMetadata(Module &M,
|
||||
|
||||
// Print the results.
|
||||
for (unsigned Idx : MissingLines.set_bits())
|
||||
outs() << "WARNING: Missing line " << Idx + 1 << "\n";
|
||||
errs() << "WARNING: Missing line " << Idx + 1 << "\n";
|
||||
|
||||
for (unsigned Idx : MissingVars.set_bits())
|
||||
outs() << "ERROR: Missing variable " << Idx + 1 << "\n";
|
||||
errs() << "ERROR: Missing variable " << Idx + 1 << "\n";
|
||||
HasErrors |= MissingVars.count() > 0;
|
||||
|
||||
outs() << Banner << " [" << NameOfWrappedPass << "]: "
|
||||
errs() << Banner << " [" << NameOfWrappedPass << "]: "
|
||||
<< (HasErrors ? "FAIL" : "PASS") << '\n';
|
||||
if (HasErrors) {
|
||||
outs() << "Module IR Dump\n";
|
||||
M.print(outs(), nullptr, false);
|
||||
errs() << "Module IR Dump\n";
|
||||
M.print(errs(), nullptr, false);
|
||||
}
|
||||
|
||||
// Strip the Debugify Metadata if required.
|
||||
|
Loading…
x
Reference in New Issue
Block a user