mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
Reland: [Timers] Use the pass argument name for JSON keys in time-passes
When using clang --save-stats -mllvm -time-passes, both timers and stats
end up in the same json file.
We could end up with things like:
{
"asm-printer.EmittedInsts": 1,
"time.pass.Virtual Register Map.wall": 2.9015541076660156e-04,
"time.pass.Virtual Register Map.user": 2.0500000000000379e-04,
"time.pass.Virtual Register Map.sys": 8.5000000000001741e-05,
}
This patch makes use of the pass argument name (if available) in the
JSON key to end up with things like:
{
"asm-printer.EmittedInsts": 1,
"time.pass.virtregmap.wall": 2.9015541076660156e-04,
"time.pass.virtregmap.user": 2.0500000000000379e-04,
"time.pass.virtregmap.sys": 8.5000000000001741e-05,
}
This also helps avoiding to write another JSON printer to handle all the
cases that we could have in our pass names.
Fixed test instead of adding a new one originally from r334649.
Differential Revision: https://reviews.llvm.org/D48109
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334657 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -545,7 +545,11 @@ public:
|
||||
Timer *&T = TimingData[P];
|
||||
if (!T) {
|
||||
StringRef PassName = P->getPassName();
|
||||
T = new Timer(PassName, PassName, TG);
|
||||
StringRef PassArgument;
|
||||
if (const PassInfo *PI = Pass::lookupPassInfo(P->getPassID()))
|
||||
PassArgument = PI->getPassArgument();
|
||||
T = new Timer(PassArgument.empty() ? PassName : PassArgument, PassName,
|
||||
TG);
|
||||
}
|
||||
return T;
|
||||
}
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
; JSON: {
|
||||
; JSON-DAG: "instsimplify.NumSimplified": 1
|
||||
; JSONTIME-DAG: "time.pass.Remove redundant instructions.wall"
|
||||
; JSONTIME-DAG: "time.pass.Remove redundant instructions.user"
|
||||
; JSONTIME-DAG: "time.pass.Remove redundant instructions.sys"
|
||||
; JSONTIME-DAG: "time.pass.instsimplify.wall"
|
||||
; JSONTIME-DAG: "time.pass.instsimplify.user"
|
||||
; JSONTIME-DAG: "time.pass.instsimplify.sys"
|
||||
; JSON: }
|
||||
|
||||
; DEFAULT: 1 instsimplify - Number of redundant instructions removed
|
||||
|
||||
Reference in New Issue
Block a user