mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-13 08:35:46 +00:00
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
This commit is contained in:
parent
f91488cc10
commit
053e69ad57
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user