From: Chad Rosier Date: Wed, 16 Nov 2011 21:05:28 +0000 (+0000) Subject: Add fast-isel stats to determine who's doing all the work, the X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=053e69ad5704a8e0e5f50d8b18f8917377ffacfb;p=oota-llvm.git Add fast-isel stats to determine who's doing all the work, the target-independent selector or the target-specific selector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144833 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp index c58d730454f..f0fe179e050 100644 --- a/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -39,6 +39,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "isel" #include "llvm/Function.h" #include "llvm/GlobalVariable.h" #include "llvm/Instructions.h" @@ -58,8 +59,12 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/Debug.h" +#include "llvm/ADT/Statistic.h" using namespace llvm; +STATISTIC(NumFastIselSuccessIndependent, "Number of insts selected by target-independent selector"); +STATISTIC(NumFastIselSuccessTarget, "Number of insts selected by target-specific selector"); + /// startNewBlock - Set the current block to which generated machine /// instructions will be appended, and clear the local CSE map. /// @@ -765,12 +770,14 @@ FastISel::SelectInstruction(const Instruction *I) { // First, try doing target-independent selection. if (SelectOperator(I, I->getOpcode())) { + ++NumFastIselSuccessIndependent; DL = DebugLoc(); return true; } // Next, try calling the target to attempt to handle the instruction. if (TargetSelectInstruction(I)) { + ++NumFastIselSuccessTarget; DL = DebugLoc(); return true; }