Track how many insns fast-isel successfully selects as well as how many it
authorJim Grosbach <grosbach@apple.com>
Mon, 16 May 2011 21:51:07 +0000 (21:51 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 16 May 2011 21:51:07 +0000 (21:51 +0000)
misses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131426 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

index d1d28cec66de46de7d8a19df8ff560477e7cf00f..592a11526cb1c602000437d6bc40268185752191 100644 (file)
@@ -55,6 +55,7 @@
 using namespace llvm;
 
 STATISTIC(NumFastIselFailures, "Number of instructions fast isel failed on");
+STATISTIC(NumFastIselSuccess, "Number of instructions fast isel selected");
 STATISTIC(NumFastIselBlocks, "Number of blocks selected entirely by fast isel");
 STATISTIC(NumDAGBlocks, "Number of blocks selected using DAG");
 STATISTIC(NumDAGIselRetries,"Number of times dag isel has to try another path");
@@ -927,6 +928,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(const Function &Fn) {
 
         // Try to select the instruction with FastISel.
         if (FastIS->SelectInstruction(Inst)) {
+          ++NumFastIselSuccess;
           // If fast isel succeeded, skip over all the folded instructions, and
           // then see if there is a load right before the selected instructions.
           // Try to fold the load if so.