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.