Subzero: Rewrite the pass timing infrastructure. This makes it much more useful for individual analysis and long-term translation performance tracking. 1. Collect and report aggregated across the entire translation, instead of function-by-function. If you really care about a single function, just extract it and translate it separately for analysis. 2. Remove "-verbose time" and just use -timing. 3. Collects two kinds of timings: cumulative and flat. Cumulative measures the total time, even if a callee also times itself. Flat only measures the currently active timer at the top of the stack. The flat times should add up to 100%, but cumulative will usually add up to much more than 100%. BUG= none R=jvoung@chromium.org Review URL: https://codereview.chromium.org/610813002
diff --git a/Makefile.standalone b/Makefile.standalone index a913497..175dd12 100644 --- a/Makefile.standalone +++ b/Makefile.standalone
@@ -80,9 +80,10 @@ IceMemoryRegion.cpp \ IceOperand.cpp \ IceRegAlloc.cpp \ - IceRNG.cpp \ + IceRNG.cpp \ IceTargetLowering.cpp \ IceTargetLoweringX8632.cpp \ + IceTimerTree.cpp \ IceTranslator.cpp \ IceTypeConverter.cpp \ IceTypes.cpp \ @@ -113,7 +114,7 @@ $(OBJDIR): @mkdir -p $@ -check-lit: llvm2ice +check-lit: llvm2ice make_symlink LLVM_BIN_PATH=$(LLVM_BIN_PATH) \ $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit