LLVM 20.0.0git
|
#include "AArch64.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/MachineTraceMetrics.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "aarch64-ccmp" |
Functions | |
STATISTIC (NumConsidered, "Number of ccmps considered") | |
STATISTIC (NumPhiRejs, "Number of ccmps rejected (PHI)") | |
STATISTIC (NumPhysRejs, "Number of ccmps rejected (Physregs)") | |
STATISTIC (NumPhi2Rejs, "Number of ccmps rejected (PHI2)") | |
STATISTIC (NumHeadBranchRejs, "Number of ccmps rejected (Head branch)") | |
STATISTIC (NumCmpBranchRejs, "Number of ccmps rejected (CmpBB branch)") | |
STATISTIC (NumCmpTermRejs, "Number of ccmps rejected (CmpBB is cbz...)") | |
STATISTIC (NumImmRangeRejs, "Number of ccmps rejected (Imm out of range)") | |
STATISTIC (NumLiveDstRejs, "Number of ccmps rejected (Cmp dest live)") | |
STATISTIC (NumMultNZCVUses, "Number of ccmps rejected (NZCV used)") | |
STATISTIC (NumUnknNZCVDefs, "Number of ccmps rejected (NZCV def unknown)") | |
STATISTIC (NumSpeculateRejs, "Number of ccmps rejected (Can't speculate)") | |
STATISTIC (NumConverted, "Number of ccmp instructions created") | |
STATISTIC (NumCompBranches, "Number of cbz/cbnz branches converted") | |
static bool | parseCond (ArrayRef< MachineOperand > Cond, AArch64CC::CondCode &CC) |
INITIALIZE_PASS_BEGIN (AArch64ConditionalCompares, "aarch64-ccmp", "AArch64 CCMP Pass", false, false) INITIALIZE_PASS_END(AArch64ConditionalCompares | |
Variables | |
static cl::opt< unsigned > | BlockInstrLimit ("aarch64-ccmp-limit", cl::init(30), cl::Hidden, cl::desc("Maximum number of instructions per speculated block.")) |
static cl::opt< bool > | Stress ("aarch64-stress-ccmp", cl::Hidden, cl::desc("Turn all knobs to 11")) |
aarch64 | ccmp |
aarch64 AArch64 CCMP | Pass |
aarch64 AArch64 CCMP | false |
#define DEBUG_TYPE "aarch64-ccmp" |
Definition at line 41 of file AArch64ConditionalCompares.cpp.
INITIALIZE_PASS_BEGIN | ( | AArch64ConditionalCompares | , |
"aarch64-ccmp" | , | ||
"AArch64 CCMP Pass" | , | ||
false | , | ||
false | |||
) |
|
static |
Definition at line 271 of file AArch64ConditionalCompares.cpp.
References assert(), CC, Cond, llvm::AArch64CC::EQ, and llvm::AArch64CC::NE.
STATISTIC | ( | NumCmpBranchRejs | , |
"Number of ccmps rejected (CmpBB branch)" | |||
) |
STATISTIC | ( | NumCmpTermRejs | , |
"Number of ccmps rejected (CmpBB is cbz...)" | |||
) |
STATISTIC | ( | NumCompBranches | , |
"Number of cbz/cbnz branches converted" | |||
) |
References MRI, llvm::CallingConv::Tail, TII, and TRI.
STATISTIC | ( | NumConsidered | , |
"Number of ccmps considered" | |||
) |
STATISTIC | ( | NumConverted | , |
"Number of ccmp instructions created" | |||
) |
STATISTIC | ( | NumHeadBranchRejs | , |
"Number of ccmps rejected (Head branch)" | |||
) |
STATISTIC | ( | NumImmRangeRejs | , |
"Number of ccmps rejected (Imm out of range)" | |||
) |
STATISTIC | ( | NumLiveDstRejs | , |
"Number of ccmps rejected (Cmp dest live)" | |||
) |
STATISTIC | ( | NumMultNZCVUses | , |
"Number of ccmps rejected (NZCV used)" | |||
) |
STATISTIC | ( | NumPhi2Rejs | , |
"Number of ccmps rejected (PHI2)" | |||
) |
STATISTIC | ( | NumPhiRejs | , |
"Number of ccmps rejected (PHI)" | |||
) |
STATISTIC | ( | NumPhysRejs | , |
"Number of ccmps rejected (Physregs)" | |||
) |
STATISTIC | ( | NumSpeculateRejs | , |
"Number of ccmps rejected (Can't speculate)" | |||
) |
STATISTIC | ( | NumUnknNZCVDefs | , |
"Number of ccmps rejected (NZCV def unknown)" | |||
) |
|
static |
aarch64 ccmp |
Definition at line 799 of file AArch64ConditionalCompares.cpp.
aarch64 AArch64 CCMP false |
Definition at line 800 of file AArch64ConditionalCompares.cpp.
aarch64 AArch64 CCMP Pass |
Definition at line 800 of file AArch64ConditionalCompares.cpp.
Referenced by llvm::PassManager< Loop, LoopAnalysisManager, LoopStandardAnalysisResults &, LPMUpdater & >::runSinglePass().