|
LLVM 22.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 | ) |
References INITIALIZE_PASS_DEPENDENCY.
|
static |
Definition at line 271 of file AArch64ConditionalCompares.cpp.
References assert(), Cond, llvm::AArch64CC::EQ, llvm::getImm(), 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 MBB, 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 797 of file AArch64ConditionalCompares.cpp.
| aarch64 AArch64 CCMP false |
Definition at line 798 of file AArch64ConditionalCompares.cpp.
| aarch64 AArch64 CCMP Pass |
Definition at line 798 of file AArch64ConditionalCompares.cpp.