LLVM API Documentation
#include "AArch64.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SparseSet.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/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
#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) |
void | llvm::initializeAArch64ConditionalComparesPass (PassRegistry &) |
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 45 of file AArch64ConditionalCompares.cpp.
INITIALIZE_PASS_BEGIN | ( | AArch64ConditionalCompares | , |
"aarch64-ccmp" | , | ||
"AArch64 CCMP Pass" | , | ||
false | , | ||
false | |||
) |
static bool parseCond | ( | ArrayRef< MachineOperand > | Cond, |
AArch64CC::CondCode & | CC | ||
) | [static] |
Definition at line 272 of file AArch64ConditionalCompares.cpp.
References llvm::AArch64CC::EQ, llvm::AArch64CC::NE, and llvm::ArrayRef< T >::size().
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" | |||
) |
cl::opt<unsigned> BlockInstrLimit("aarch64-ccmp-limit", cl::init(30), cl::Hidden, cl::desc("Maximum number of instructions per speculated block.")) [static] |
aarch64 ccmp |
Definition at line 765 of file AArch64ConditionalCompares.cpp.
aarch64 AArch64 CCMP false |
Definition at line 765 of file AArch64ConditionalCompares.cpp.
aarch64 AArch64 CCMP Pass |
Definition at line 765 of file AArch64ConditionalCompares.cpp.