mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-26 05:25:47 +00:00
[FaultMaps] Add statistic to count the # of implicit null checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241521 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -26,6 +26,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
#include "llvm/ADT/SmallVector.h"
|
#include "llvm/ADT/SmallVector.h"
|
||||||
|
#include "llvm/ADT/Statistic.h"
|
||||||
#include "llvm/CodeGen/Passes.h"
|
#include "llvm/CodeGen/Passes.h"
|
||||||
#include "llvm/CodeGen/MachineFunction.h"
|
#include "llvm/CodeGen/MachineFunction.h"
|
||||||
#include "llvm/CodeGen/MachineOperand.h"
|
#include "llvm/CodeGen/MachineOperand.h"
|
||||||
@@ -47,6 +48,11 @@ static cl::opt<unsigned> PageSize("imp-null-check-page-size",
|
|||||||
"bytes"),
|
"bytes"),
|
||||||
cl::init(4096));
|
cl::init(4096));
|
||||||
|
|
||||||
|
#define DEBUG_TYPE "implicit-null-checks"
|
||||||
|
|
||||||
|
STATISTIC(NumImplicitNullChecks,
|
||||||
|
"Number of explicit null checks made implicit");
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
class ImplicitNullChecks : public MachineFunctionPass {
|
class ImplicitNullChecks : public MachineFunctionPass {
|
||||||
@@ -257,6 +263,8 @@ void ImplicitNullChecks::rewriteNullChecks(
|
|||||||
// Emit the HandlerLabel as an EH_LABEL.
|
// Emit the HandlerLabel as an EH_LABEL.
|
||||||
BuildMI(*NC.NullSucc, NC.NullSucc->begin(), DL,
|
BuildMI(*NC.NullSucc, NC.NullSucc->begin(), DL,
|
||||||
TII->get(TargetOpcode::EH_LABEL)).addSym(HandlerLabel);
|
TII->get(TargetOpcode::EH_LABEL)).addSym(HandlerLabel);
|
||||||
|
|
||||||
|
NumImplicitNullChecks++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user